Les virus infiltrent les imagesAvant, les virus se déguisaient en petit logiciel. Aujourd'hui, il paraît qu'une image téléchargée sur le Web puis affichée à l'écran peut déclencher l'infection virale d'un PC. Info ou intox ?
Fabrice Auclert , Micro Hebdo (n° 480), le 14/08/2007 à 12h25
En avril 2007, plusieurs éditeurs d'antivirus ont fait état de failles de sécurité dans les logiciels de retouche d'image Paint Shop Pro et Photoshop. Risque annoncé : l'infection par un virus contenu dans une image au format PNG. Un virus caché dans une image, c'est possible ? Oui, et on le sait depuis longtemps.
C'est un jeune Philippin qui a imaginé le concept en 2002 en dévoilant un virus expérimental qu'il a baptisé Perrun. Une vraie révolution à l'époque ! Jusqu'alors, les virus se propageaient via Internet sous la forme de ce qu'ils sont vraiment : des programmes. Pour tromper les utilisateurs, afin de s'installer sur leur PC, ils se déguisaient en logiciels anodins ou bien se greffaient à d'autres logiciels.
Avec Perrun, le code du virus devenait plus difficile à identifier car il se logeait dans une photo. Et le simple fait d'afficher cette photo avec un logiciel de retouche d'image pouvait entraîner l'infection d'un ordinateur.
A l'époque, l'auteur du virus Perrun n'a pas mis en pratique son « invention », il a juste alerté les éditeurs d'antivirus. Perrun n'était donc pas - ni n'est aujourd'hui - une vraie menace. Mais des clones, qui utilisent la même technique, le seraient...
Voici, sous forme de questions-réponses, ce qu'il faut savoir sur ces « virus photo ».
Comment un virus peut-il s'installer dans une image ?
Une image ou une photo numérique, c'est un fichier informatique. C'est-à-dire une suite de 0 et de 1 dont la signification est graphique. C'est notamment l'extension du fichier - .bmp,.gif, .jpg, .jpeg ou .png, par exemple - qui indique à quel format graphique correspond cette suite de 0 et de 1, ce qui permet à Windows d'afficher correctement l'image. Un virus est également une suite de 0 et de 1, car c'est un programme, mais cette suite n'a évidemment aucune signification graphique.
Tout l'art d'un virus photo consiste à combiner son code - ses 0 et ses 1 - à celui de l'image, de telle sorte qu'il ne l'altère pas et qu'il n'empêche pas son affichage. Une image contaminée par un tel virus ressemble ainsi à une image comme une autre, et peut s'afficher normalement. Ni vu, ni connu.
Comment un virus installé dans une image peut-il infecter un PC ?
La technique utilisée par Perrun s'appuie sur l'existence d'un complice, un cheval de Troie qui a déjà contaminé le PC, par exemple lors d'un téléchargement ou de la réception d'un courriel. Par une subtile modification du registre, ce cheval de Troie s'est accordé le droit de vérifier toutes les images que vous tentez d'afficher et ce, avant même de laisser votre logiciel habituel les ouvrir.
Dans les faits, lorsque vous double-cliquez sur un fichier image, le cheval de Troie l'analyse. S'il trouve à l'intérieur de l'image le code du virus, il l'extrait et lance son exécution. Puis, aussitôt, afin de ne rien laisser paraître, il laisse votre logiciel habituel afficher l'image comme si de rien n'était. Sauf que votre ordinateur se retrouve infecté !
Dans l'alerte d'avril 2007, le déclencheur était-il aussi un cheval de Troie ?
Non. Les virus photo tirent parti d'une erreur de conception du moteur d'affichage des images dans les logiciels concernés. La faille - en fait, un bug - permet à des pirates de faire « déborder » une image de l'espace mémoire où elle devrait normalement rester cantonnée. Certains 0 et 1 de l'image se retrouvent alors en position d'être non plus lus et affichés, mais exécutés. Si ces 0 et ces 1 sont le code d'un virus, celui-ci se déclenche et le PC est infecté.
Les logiciels Paint Shop Pro et Photoshop sont-ils les seuls concernés ?
Oui, mais cela n'a pas toujours été le cas. En 2004, une faille du même type - utilisant la même technique de débordement de mémoire - a été découverte... dans Windows lui-même ! Précisément dans la bibliothèque GDI+ (Graphics Device Interface Plus), qui est le composant de Windows chargé de l'affichage des images. Heureusement, cette faille a été rapidement comblée par Microsoft grâce à un correctif de sécurité.
Windows est donc « guéri » depuis longtemps. Mais ce fameux composant GDI+ était à la disposition des développeurs et il pouvait être inclus dans d'autres logiciels que ceux de Microsoft. Le risque lié au débordement de mémoire - ou buffer overflow - subsiste donc, et il peut toucher n'importe quel autre logiciel qui utiliserait le composant GDI+ non corrigé.
Que se passe-t-il si l'on tente d'ouvrir une image infectée sur un PC « sain » ?
Rien. Sans le concours d'un cheval de Troie et la présence d'un moteur d'affichage des images défaillant ou du composant GDI+ non corrigé, il est impossible que le code du virus image soit extrait de l'image puis exécuté. La photo s'affiche normalement.
Dans ce cas, le risque est surtout pour les autres, si vous envoyez l'image à des proches qui, eux, sont contaminés par le cheval de Troie, n'ont pas mis à jour leur système avec les correctifs de sécurité ou utilisent un logiciel avec un moteur d'affichage bogué.
Qu'arrive-t-il si, en présence d'un cheval de Troie, on ne tente pas d'ouvrir l'image infectée ?
Il ne se passe rien non plus, puisque la fonction du cheval de Troie n'est que d'analyser les images jusqu'à y trouver le code du virus, à fin d'exécution. Si toutes vos images sont saines, il n'y a pas de virus, et donc rien à exécuter.
Comment savoir si mes images sont infectées ?
Après la révélation de la faille et des attaques possibles par des virus de type Perrun en 2002, les éditeurs ont modifié leurs logiciels antivirus pour faire en sorte que les images, mais aussi tous les autres types de fichiers, soient analysés.
Auparavant, les antivirus analysaient uniquement les fichiers exécutables ou ceux qui pouvaient contenir des programmes (comme les fichiers Zip).
Le piège des extensions
Puisqu'une grande majorité des virus se transmet par courriel, des pirates ont eu l'idée de déguiser des virus en fichiers d'image, et de les insérer dans des pièces jointes. La technique est simple : il leur suffit de modifier le nom du fichier. Par exemple, le fichier vacances.exe (un programme contenant un virus) est renommé vacances.jpg.exe. Jusque-là, la supercherie est facile à découvrir.
Sauf que Windows, par défaut, masque les extensions les plus connues. Résultat : le fichier apparaît sous le simple nom de vacances.jpg. On double-clique alors dessus en toute confiance... Cependant, il ne s'agit pas là d'un véritable virus image mais d'un subterfuge lié à l'extension de fichier. Un piège dans lequel peuvent tomber certains antivirus.
Article dans 01.net