26 février 2014

Windows: comment être sûr que l'extension d'un fichier correspond bien à son type avec HexBrowser

Sur Windows, il y a deux problèmes majeurs de sécurité. Le premier, c'est que par défaut les extensions de fichiers ne sont pas affichées, et si vous ne savez pas les afficher, ça peut vite vous causer des soucis. Le deuxième problème c'est que Windows est le système le plus utilisé dans le monde, il est de ce fait, plus visé par les hackers et les pirates que les autres systèmes. En plus de ça, il est très facile de renommer un ficher EXE en JPG par exemple, pour faire croire que le fichier est une image alors que c'est un programme malveillant.



Donc pour savoir si un fichier est bien celui qu'on croit, il y a une solution simple qui s'appelle HexBrowser. Ce logiciel est gratuit et portable, il va vous permettre de connaître le véritable type d'un fichier très simplement. Une fois que vous l'avez téléchargé et lancé, vous allez voir une fenêtre comme celle-ci apparaître:

La fenêtre de gauche n'est ni plus ni moins qu'un explorateur de fichier. Donc quand vous avez un doute, vous vous servez de l'explorateur de la fenêtre de gauche pour aller chercher le fichier et l'ouvrir dans HexBrowser. Le seul onglet qui nous intéresse, c'est l'onglet info, donc sélectionnez toujours l'onglet Info. Pour l'exemple, j'ai modifié volontairement l'extension du EXE de VLC (lecteur multimédia) en PNG pour le faire passer pour une image, puis je l'ai ouvert dans HexBrowser. Regardez ce qu'il me dit:

Vous voyez dans la fenêtre de droite ? Il y a écrit File type Microsoft Executable, avec en dessous toutes les informations qui prouvent que c'est un fichier exécutable. HexBrowser a donc bien compris que ce n'était pas une image mais un fichier exécutable, facile non ?!

Pour aller plus loin et savoir utiliser l'onglet Hexa

Cette partie n'est pas indispensable, mais comme je connais un peu le domaine, je vais quand même vous expliquer sur quoi se base le logiciel pour trouver le type réel d'un fichier.



Pour chaque type de fichier, il y a une signature connue que l'on peut trouver en connaissant son offset. Un offset n'est ni plus ni moins qu'une position à laquelle il faut regarder par rapport au début du fichier. Pour rechercher une signature à tel offset, on utilise un éditeur hexadécimal, et justement l'onglet Hexa de HexBrowser est un visualiseur hexadécimal. Par exemple pour un fichier EXE, l'offset est 0 et la signature est 4D 5A. Alors si je prends le EXE du logiciel VLC ou n'importe quel autre fichier EXE et que je l'ouvre avec un éditeur hexadécimal comme celui d'HexBrowser, je devrais trouver la signature 4D 5A au tout début. Si ce n'est pas cette signature, c'est que le fichier n'est pas un EXE. Pour vous prouver ce que j'avance, voici ce que je trouve à l'offset 0 du EXE de VLC:

La signature et l'offset correspondent, c'est donc bien un EXE. Et chaque type de fichier a sa propre signature, par exemple pour un fichier JPG l'offset est 0 et la signature est FF D8 FF. Je ne connais pas la liste de toutes les signatures par cœur, vous vous en doutez bien, je consulte simplement la liste de toutes les signatures et offsets correspondants à cette adresse. Essayez par vous-même.



Voilà, c'est tout bête, mais ça peut parfois être bien utile quand vous avez des doutes sur un fichier. Mieux vaut faire cette petite vérification et être sûr de ce qu'on va ouvrir.

Aucun commentaire:

Enregistrer un commentaire