Stegosploit : l’attaque par l’image

traitorware credits EFF photos via Flickr ((CC BY 2.0)

Comment une image peut-elle contenir un virus informatique ?

Par Thierry Berthier.

traitorware credits EFF photos via Flickr ((CC BY 2.0)
traitorware credits EFF photos via Flickr ((CC BY 2.0)

L’attaque par l’image

Lors de la conférence Hack In The Box d’Amsterdam, le chercheur en cybersécurité indien Saumil Shah a présenté Stegosploit, un protocole permettant d’intégrer un malware à l’intérieur d’une banale image numérique. Astucieusement dissimulé dans le codage binaire de l’image, le malware est exécuté à l’instant où l’utilisateur visionne l’image sur sa machine. L’attaque utilise la stéganographie (l’art cryptographique de cacher un message dans une image). Le code malveillant est découpé en morceaux puis éparpillé sur les différentes couches constituant le code JPEG ou PNG de l’image et ceci sans modifier ou altérer la perception humaine de cette image. L’œil ne s’aperçoit de rien tout comme l’antivirus qui ne détecte pas le supplément de code malveillant contenu dans l’image. Lorsque l’utilisateur clique sur l’image pour la visionner, c’est l’outil standard HTML5 Canvas qui s’active automatiquement pour extraire, reconstruire puis exécuter le malware. Canvas est un espace de pixels initialement transparents permettant d’exécuter javascript pour créer des fonctions et animations graphiques. Il est donc bien adapté au protocole présenté par Saumil Shah. Cette stratégie d’attaque risque de se développer rapidement même si elle est actuellement limitée par un ré-encodage systématique des images traitées et envoyées par les grands acteurs du secteur comme Flicker, Instagram ou Google.

La stéganographie, pratique connue depuis l’antiquité

On retrouve les premières traces de stéganographie dès l’antiquité avec le message envoyé par Histiée à Aristagoras de Millet. Hérodote rapporte qu’Histiée a envoyé un de ses esclaves porteur d’un message sans importance à Aristagoras puis quelque temps plus tard lui a conseillé de raser la tête de cet esclave. Tatoué sur son crâne rasé est apparu le message important qui annonçait le début de la révolte contre les Perses…

Bien plus connue, cette magnifique lettre attribuée à George Sand et adressée à Alfred de Musset :

La lettre de George Sand :

« Je suis très émue de vous dire que j’ai
bien compris l’autre soir que vous aviez
toujours une envie folle de me faire
danser. Je garde le souvenir de votre
baiser et je voudrais bien que ce soit
là une preuve que je puisse être aimée
par vous. Je suis prête à vous montrer mon
affection toute désintéressée et sans cal-
cul, et si vous voulez me voir aussi
vous dévoiler sans artifice mon âme
toute nue, venez me faire une visite.
Nous causerons en amis, franchement.
Je vous prouverai que je suis la femme
sincère, capable de vous offrir l’affection
la plus profonde comme la plus étroite
en amitié, en un mot la meilleure preuve
dont vous puissiez rêver, puisque votre
âme est libre. Pensez que la solitude où j’ha-
bite est bien longue, bien dure et souvent
difficile. Ainsi en y songeant j’ai l’âme
grosse. Accourez donc vite et venez me la
faire oublier par l’amour où je veux me
mettre. »

La réponse d’Alfred de Musset :

« Quand je mets à vos pieds un éternel hommage
Voulez-vous qu’un instant je change de visage ?
Vous avez capturé les sentiments d’un cœur
Que pour vous adorer forma le Créateur.
Je vous chéris, amour, et ma plume en délire
Couche sur le papier ce que je n’ose dire.
Avec soin, de mes vers lisez les premiers mots
Vous saurez quel remède apporter à mes maux. »

La réponse de George Sand :

« Cette insigne faveur que votre cour réclame
Nuit à ma renommée et répugne mon âme. »

Le lecteur trouvera sans peine les clés permettant de lire le sous-message dissimulé dans la lettre principale et dans les réponses…

Perspectives pour le hacker et défis pour les antivirus

Thierry Berthier

La communication de Saumil Shah prouve que l’image peut être efficacement utilisée en attaque.
On pourrait alors imaginer un processus similaire utilisant cette fois la stéganographie dans la vidéo pour transférer des codes malveillants plus conséquents et plus adaptatifs. Si les fichiers contenant du texte (word, pdf,..) constituent de bons vecteurs d’entrée pour déployer des malwares, il est hautement probable que l’image devienne rapidement un second vecteur d’entrée tout aussi efficace. On sait que le facteur humain intervient presque toujours dans la phase initiale d’ingénierie sociale d’une cyberattaque. La curiosité naturelle de l’utilisateur est alors facilement exploitable pour l’amener à cliquer sur le lien ou la pièce jointe corrompue. Une simple recherche des centres d’intérêts d’une future cible à partir de sa projection algorithmique ouverte permettra de lui envoyer des images pertinentes, en rapport avec ses centres d’intérêt, et qu’elle aura tendance à ouvrir sans méfiance particulière. Il s’agit là d’un principe simple mais particulièrement efficace pour l’attaquant.

Du côté de la défense, les antivirus devront apprendre à mieux scanner une image en profondeur afin de détecter les éventuels fragments de code malveillant disséminés dans ses pixels. Les principes cryptographiques seront ainsi de plus en plus sollicités en attaque comme en défense. La complexité des codes utilisés augmentera en conséquence.

Liens