Guide

Extension vs signature binaire : pourquoi renommer un fichier ne change pas ce qu'il est

L'extension d'un fichier n'est qu'un nom. Ce qui détermine réellement son format, ce sont ses premiers octets — la signature binaire. Explication du mécanisme derrière l'identifieur de fichier.

Une extension de fichier — le .jpg ou le .pdf à la fin d’un nom de fichier — n’est qu’une convention de nommage lue par le système d’exploitation pour choisir un programme par défaut. Elle ne fait pas partie du contenu du fichier et ne contraint en rien ce que ce contenu peut être : renommer photo.jpg en photo.pdf ne transforme pas une image en document, ça trompe simplement l’association de programme.

Ce qui définit réellement le format d’un fichier, c’est sa signature binaire (aussi appelée “magic bytes” ou “nombre magique”) : une séquence d’octets fixe, généralement placée en tout début de fichier, que chaque format réserve à son identification. Un PNG commence toujours par les octets 89 50 4E 47 0D 0A 1A 0A, un PDF par la chaîne %PDF-, un JPEG par FF D8 FF. Ces octets sont écrits par le logiciel qui a produit le fichier au moment de sa création, indépendamment de son nom — c’est pour cela qu’ils restent fiables même après un renommage, une extension tronquée par un client de messagerie, ou une extension usurpée.

C’est ce principe qu’utilise un identifieur de fichier : il lit les premiers octets du fichier et les compare aux signatures connues, sans jamais se fier au nom fourni. Le résultat indique le format réel du fichier, que celui-ci corresponde ou non à son extension apparente.

Cette distinction a une conséquence de sécurité directe. Un système qui décide du traitement d’un fichier uniquement sur la base de son extension — l’accepter en upload, l’ouvrir automatiquement, l’exécuter — peut être trompé par un simple renommage. La signature binaire, elle, ne se falsifie pas par un simple renommage : il faut écrire délibérément les octets d’en-tête d’un autre format dans le fichier, ce qui produit un fichier qui échoue ensuite à toute vérification de structure plus poussée que la seule lecture de la signature. C’est pourquoi elle reste une base bien plus fiable qu’une extension pour décider ce qu’un fichier est réellement, avant de l’ouvrir ou de le traiter — sans être, seule, une garantie absolue de validité.

Identifier un fichier par sa signature binaire →

Formats concernés

Voir aussi

Sources

Dernière mise à jour :