Hygiene des Metadonnees : Nettoyer EXIF, PDF et Office avant Publication
Comment supprimer les metadonnees qui revelent identite, GPS et paternite dans images, PDF et documents Office avant publication en ligne.

Un chercheur anonyme a publie un PDF de 12 pages denoncant une fraude d'entreprise. En moins de 48 heures, son nom circulait sur Twitter. Ce n'etait pas de l'ingenierie sociale : c'etait le champ Author du PDF, rempli automatiquement par LibreOffice, plus un horodatage de modification qui collait a ses heures de bureau. Les metadonnees sont le talon d'Achille de toute publication sensible, et la plupart des suites bureautiques integrent une identification par defaut sans prevenir l'utilisateur. Ce billet parcourt format par format, avec des commandes concretes, et se termine par un flux de salle blanche reproductible et une pipeline qui automatise l'erreur une fois pour toutes.
Pourquoi les metadonnees sont le talon d'Achille
Les metadonnees sont des donnees sur le fichier : qui l'a cree, avec quel logiciel, quand, ou et parfois sur quel materiel. Elles sont maintenues pour des raisons legitimes, mais pour un desanonymiseur c'est un cadeau, car elles sont souvent plus precises que le contenu lui-meme. L'equipe Basilisk traite la sanitisation des metadonnees comme un controle obligatoire avant chaque drop public, au meme niveau que la revue des IP et des empreintes de navigateur. Si vous venez des pratiques de OPSEC pour Chercheurs en Securite: Modele de Menace Personnel, vous savez deja que la partie technique est la plus facile et que la discipline est la difficile.
EXIF dans les images
Commencez par la base. Un JPEG de smartphone moderne embarque des coordonnees GPS precises a 5 metres, le modele de l'appareil, le numero de serie de l'objectif et meme l'orientation du gyroscope au moment du declenchement. L'outil standard reste ExifTool de Phil Harvey. Pour l'audit, lancez exiftool -a -G1 -s fichier.jpg et vous verrez les groupes EXIF, XMP, IPTC, MakerNotes et ICC_Profile. Pour un nettoyage agressif, exiftool -all= -overwrite_original *.jpg efface tout, mais conservez une copie originale hors du dossier de publication, car vous pourriez encore avoir besoin de l'original pour votre propre chaine de preuve.
PNG et ses chunks de texte
Sur PNG, le probleme vient des chunks tEXt et zTXt laisses par Photoshop ou GIMP, contenant souvent le nom d'utilisateur et le chemin complet du fichier source - un chemin comme C:\Users\prenom.nom\Desktop desanonymise instantanement. Le chunk tIME et les profils ICC integres portent aussi de l'information. exiftool nettoie PNG egalement, mais reverifiez ensuite explicitement avec exiftool -a -G1 -s image.png qu'aucune signature logicielle n'a survecu avant d'utiliser l'image.
PDF : trois couches de metadonnees
Le PDF est le format le plus traitre car il porte des metadonnees sur trois couches : dictionnaire /Info, flux XMP et proprietes d'objets incrementaux quand le fichier a ete edite sans linearisation. exiftool gere les deux premieres, mais pour la troisieme il vous faut qpdf --linearize --object-streams=generate sortie.pdf entree.pdf, qui reecrit toute la structure et jette l'historique de revision. Il y a aussi le cas des PDF produits par les scanners d'entreprise : beaucoup encodent le numero de serie de la multifonction dans le champ Producer. Si le document a ete imprime puis scanne, pensez egalement aux tracking dots jaunes des imprimantes laser, documentes par l'EFF et critiques pour qui travaille selon Securite Personnelle pour Cibles Visibles: Journalistes, Activistes et Dirigeants.
Documents Office : une menagerie de XML
DOCX, XLSX et PPTX sont en realite des ZIP contenant du XML, et docProps/core.xml liste auteur, derniere modification, revision et entreprise. Word maintient en plus des rsid (revision save IDs) permettant de correler des fragments de texte entre documents differents du meme auteur, attaque connue sous le nom de rsid fingerprinting. Pour un nettoyage fiable, utilisez l'Inspecteur de document de Word puis Remove All, ou dans LibreOffice File > Properties > Reset Properties combine avec Tools > Options > Security > Remove personal information on saving. Pour l'automatisation par lots, oxml-document-cleaner en Python ou mat2 couvrent 95 pour cent des cas sans ouvrir d'interface graphique.
mat2 : l'outil concu pour les vrais modeles de menace
mat2 merite une mention speciale car il a ete concu par des gens qui pensent en termes de modele de menace reel, maintenu par l'equipe de Tails. mat2 --inplace document.pdf opere sur plus de 30 formats dont SVG, MP4, FLAC et EPUB. Le mode --check liste ce qui reste, et le mode --lightweight epargne les formats qui ne survivent pas a un re-encodage complet. Combinez avec torsocks pour un upload via Tor, selon la pratique decrite dans Anonymat Reel avec Tor: Ce qui Fonctionne et ce qui est Mythe en 2026.
Garder le JPEG propre : jpegtran vs ImageMagick
Pour les images sorties directement d'un telephone, envisagez un format intermediaire. Passer le JPEG dans ImageMagick avec -strip retire profils ICC et EXIF, mais ImageMagick reordonne aussi des octets de quantification de maniere identifiable, ce qui peut devenir une empreinte a part entiere. Pour les cas serieux preferez jpegtran -copy none, qui preserve la table de quantification originale et retire les metadonnees sans perte sans reencoder l'image. La difference parait academique, mais c'est exactement le genre de detail auquel tient une attribution forensique.
Pieges qu'aucun outil ne detecte
Les captures d'ecran de moniteurs a frequence variable laissent des microartefacts de codec qui identifient le modele de GPU. Les PDF generes par LaTeX integrent la signature du paquet hyperref incluant la date de compilation en UTC, trahissant le fuseau horaire. Les videos MP4 portent un atom moov avec le timestamp du systeme de fichiers du createur. Aucun outil automatique ne detecte de maniere fiable ces fuites semantiques - la seule solution est de garder neutre l'environnement de creation lui-meme plutot que de nettoyer apres coup.
Le flux de salle blanche Basilisk
Pour un nettoyage complet le flux est : produire le contenu dans une VM jetable en UTC, exporter via presse-papier ou partage reseau isole, sanitiser avec mat2 sur l'hote, valider avec exiftool -a -G1 -s et seulement alors publier. Ce meme patron apparait dans Compartimentation Numerique: Identites Separees sans Fuiter de Metadonnees et dans Tails, Whonix ou Qubes OS: Lequel Choisir pour Chaque Scenario d'OPSEC. L'idee centrale : l'identite fuit a la source, pas seulement a l'upload.
Validation adversariale
La validation adversariale boucle le cycle. Avant publication, deposez le fichier final sur un service d'inspection public comme metadata2go ou lancez pdfid.py et pdf-parser.py de Didier Stevens. Comparez la sortie avec ce que vous attendez : idealement aucun champ d'auteur, timestamps a zero ou a 1970-01-01, et aucun flux integre au-dela du strict necessaire. Documentez la checklist et versionnez-la avec le contenu, pour qu'un relecteur puisse reconstituer l'etat avant le drop.
Automatiser au lieu de se souvenir
Les metadonnees ne sont pas qu'un probleme de publication : courriels, pieces jointes partagees sur Slack et uploads vers des buckets S3 publics portent le meme risque. Les equipes matures traitent la sanitisation comme un pipeline, pas comme une etape manuelle. Integrez mat2 dans les pre-commit hooks des depots qui acceptent des contributions anonymes et dans les passerelles d'upload des plateformes de lancement d'alerte. Conseil pratique : creez un alias shell appele clean-doc qui execute mat2 --inplace suivi de exiftool -a -G1 -s sur le resultat, et ne publiez jamais rien sans lancer cet alias et lire la sortie.
Nettoyer video et audio a fond
L'image et le document ne sont que la moitie. Un MP4 porte souvent, a cote de l'atom moov, un tag encoder avec le logiciel et la version exacts, du GPS dans le conteneur udta et un timestamp de creation en heure locale plutot qu'UTC. La voie fiable est ffmpeg -i entree.mp4 -map_metadata -1 -c copy sortie.mp4, qui retire toutes les metadonnees du conteneur sans reencoder. Attention : -map_metadata -1 nettoie le conteneur, mais des tags au niveau du stream peuvent rester, donc verifiez avec ffprobe -show_format -show_streams. En FLAC et MP3 les traces sont dans les Vorbis comments et les tags ID3 respectivement, que mat2 nettoie aussi. Attention aux thumbnails integres : beaucoup de formats incrustent une miniature avec son propre EXIF non nettoye, une porte derobee vers la desanonymisation. Un PDF exporte d'une presentation traine souvent aussi des polices integrees portant des noms de licence et de createur.
La fuite qu'aucun outil ne voit : stylometrie et rythme
La metadonnee la plus dangereuse n'est pas dans le fichier, elle est dans votre comportement. Choix de mots, structure des phrases, fautes recurrentes et ponctuation forment une empreinte stylometrique que les classifieurs modernes attribuent a un auteur connu avec une precision troublante. Ajoutez le rythme : l'heure ou vous publiez revele votre fuseau horaire mieux qu'aucun timestamp EXIF, et un motif constant - jamais entre 2 et 8h, silence le week-end - restreint le lieu et la profession. Les contre-mesures sont fastidieuses mais reelles : neutralisez le style d'un texte avant publication ou lissez-le par des allers-retours de traduction, planifiez les posts avec un delai sur une large fenetre, et disciplinez une voix d'ecriture distincte par identite. Une hygiene des metadonnees qui s'arrete au fichier et ignore le comportement ne fait que la moitie du travail.
FAQ : Une capture d'ecran retire-t-elle les metadonnees ?
Seulement en partie. Une capture retire bien les champs EXIF et d'auteur de l'original, mais elle cree de nouvelles metadonnees : la resolution et l'espace colorimetrique trahissent l'appareil d'affichage, l'outil de capture ecrit sa propre signature logicielle, et le nom de fichier porte souvent un horodatage et un nom d'utilisateur. Traitez la capture comme un artefact neuf et passez-la par le meme alias clean-doc avant qu'elle ne quitte le systeme.
FAQ : L'hygiene des metadonnees protege-t-elle d'un Etat ?
Non, et cette honnetete compte. L'hygiene des metadonnees ne vous protegera pas d'un adversaire etatique disposant d'un acces aux operateurs, d'une compromission d'endpoint ou de stylometrie. Mais elle elimine toute la classe d'erreur auto-infligee qui fait tomber les chercheurs avant meme le debut de l'enquete - et ces erreurs banales sont statistiquement la cause la plus frequente de desanonymisation, pas la cryptanalyse exotique.
Conclusion : appliquez une fois, automatisez toujours
L'hygiene des metadonnees n'est pas une tache ponctuelle mais une habitude que vous coulez dans des outils. Trois secondes de discipline valent mieux que trois ans de procedure. Gardez votre alias clean-doc a jour, validez de maniere adversariale avant chaque drop, gardez neutre la source de vos documents et automatisez la sanitisation partout ou circule du contenu anonyme. Appliquez une fois, automatisez toujours - c'est toute l'astuce.


