Stegosploit : l’attaque par l’image

Comment une image peut-elle contenir un virus informatique ?

Partager sur:
Sauvegarder cet article
Aimer cet article 0
traitorware credits EFF photos via Flickr ((CC BY 2.0)

La liberté d’expression n’est pas gratuite!

Mais déductible à 66% des impôts

N’oubliez pas de faire un don !

Faire un don

Stegosploit : l’attaque par l’image

Publié le 18 juin 2015
- A +

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

Voir les commentaires (10)

Laisser un commentaire

Créer un compte Tous les commentaires (10)
  • L’article mélange deux choses différentes.
    Oui on peut ajouter sous forme binaire des données à une image (plus généralement à n’importe quel fichier informatique) mais cela ne signifie pas que cliquer, charger une image ainsi modifiée entraîne l’exécution du code ajouté.
    Si cela se produit c’est qu’il y a une faille dans la le programme/la librairie qui est requise pour visualiser une image (dans un navigateur internet par exemple) et si la faille est connue elle sera vite comblée car ce type de faille est ultra-sensible et fait, j’en suis persuadé, l’objet d’une veille technologique attentive de différents acteurs de l’internet.
    (si une telle faille existait dans un logiciel très utilisé, les conséquences seraient désastreuses)

    • L’article l’explique très bien, le malware est exécute par l’outil HTML Canvas. Ce qui est caché dans l’image, c’est du code javascript exécutable par Canvas, donc oui, il suffit de cliquer sur l’image, à condition que vous le fassiez depuis un navigateur internet, à condition que l’image n’est pas été réencodée par l’hébergeur (ce qui est la norme chez les gros hébergeurs).

      Vous devriez être plus attentif à ce que vous lisez.

      • Si je comprends bien, Il s’agit donc de l’utilisation de ce qui est communément appelé un « exploit ».
        Le problème n’est pas de détecter un script malicieux mais que le trou de sécurité qu’il utilise soit connu et bouché.
        Les programmes de nos jours sont certes complexes mais est-ce que ceux qui les écrivent se donnent les moyens tout le temps d’écrire des logiciels qui ne soient pas pleins de trous, je me le demande.

        Est-ce que les éditeurs de logiciels et de systèmes d’exploitation se sentent une responsabilité morale?
        (Windows XP, qui ne reçoit plus de mises à jour est cependant encore beaucoup utilisé par des ordinateurs connectés à Internet. Que se passera-t-il si un exploit critique pour ce système d’exploitation voit le jour?)

  • L’image invisiblement truquée n’est nocive que parce que le programme qui l’affiche a été préalablement trafiqué pour extraire et implanter la charge toxique dissimulée dans l’image. Ce type de trahison a peu de chance de se produire si on n’installe correctement que des systèmes et programmes « open-source » dans lesquels la communauté compétente détectera immédiatement les trucages et anomalies.

    Il ne faut pas présenter la stéganographie comme une nouvelle menace mais au contraire comme un excellent moyen de correspondre d’autant plus discrètement (à l’abri des services de renseignements entre autres) que l’existence-même d’un message caché n’est même pas détectable.

    Voir par exemple sous Linux l’application steghide.

    • Canvas est un outil qui exécute du javascript. Je ne pense pas qu’il soit nécéssaire de le trafiquer, il faut juste de lui donner du javascript à bouffer.

      Dans le cas de stéganographie, le message caché est tout à fait détectable si savez ce que vous cherchez. Généralement, les images sont trop volumineuses, il existe des moyens mathématique de découvrir ce genre de messages. Quelqu’un qui s’y connait cassera rapidement ce type de sécurité. La stéganographie ne remplace pas le cryptage.

      Il me semble que beaucoup d’outils de stéganographie se contentent de réorganiser la palette graphique, mais il est tout à fait possible de faire du cryptage par dessus.

      • La stéganographie de papa cédait facilement aux attaques statistiques, ce n’est plus le cas.
        On ne sait plus détecter la présence d’un message dans le bruit de fond d’un JPEG.
        La seule parade, si l’on soupçonne un message caché est de décoder et recoder le JPEG pour le faire disparaître.

        Ce qui est vrai en revanche est que pour ne pas bruiter exagérément l’image il faut qu’il soit assez petit (disons 1% du fichier). Mais on peut aussi utiliser une video, bien plus volumineuse qu’un JPEG.

        Et bien sûr, rien n’empêche de combiner stéganographie et cryptographie (on peut dissimuler un message déjà chiffré)

      • Canvas est un interpréteur de code autre que javascript mais pilotable par le javascript et intégrant des bibliothèques graphiques. Cela ne signifie pas qu’il est censé chercher et exécuter du code la où il ne devrait pas y en avoir. Cela dit, en cherchant bien on finit toujours par trouver des failles de sécurité qui branchent l’interpréteur la où il ne devrait pas.

        Mais d’une façon générale, la recherche de code malveillant, le cryptage, les certificats me semblent une mauvaise approche pour la protection contre les malware. C’est tellement compliqué que l’utilisateur n’a aucune chance de pouvoir le gérer lui-même et repose sur le principe d’une délégation de pouvoir qui tient du racket et ne garantit rien.

        La sécurité est plus une question de structure, d’organisation, de centralisation du contrôle d’accès et de bannissement de fonctionnalités qui sont par nature non sécurisées et non sécurisables : bacs à sable, guichets, séparation des espaces, éclatement des applications ludiques ou critiques sur des machines différentes, traçabilité, dénonciation des pratiques marketing qui ne respectent pas les règles …

        Le service de Banque de France qui détruit les billets usagés n’oragnise pas de journées « portes ouvertes » il me semble ?

        • « Mais d’une façon générale, la recherche de code malveillant, le cryptage, les certificats me semblent une mauvaise approche pour la protection contre les malware. » : Il faut tout cela et en plus éduquer l’utilisateur aux bonnes pratiques minimisant le risque (certains parlent d’hygiène numérique) . La phase d’ingénierie sociale est la première phase e l’attaque; c’est là qu’il faut agir en plus des défenses logicielles et matériels classiques.

          • Hygiène numérique ?

            Si on fait des analogies, alors parlons aussi de « traçabilité numérique ». Les navigateurs WEB implémentent le protocole https afin de pouvoir crypter par TLS des informations sensibles telles que des transactions financières. Cependant, la destination exacte du flux est elle même cryptée dans le flux. Il devient impossible de contrôler le contenu, les échanges et même le point de terminaison.

            Or https est de plus en plus utilisé en particulier par google, facebook et twitter et menace de s’étendre à l’ensemble des échanges sur le WEB. Or de deux choses l’une : soit vous êtes un particulier et vous avez droit à controler le secret ET la traçabilité des échanges, et dans ce cas le cryptage ne doit plus être fait par des applications hors de contrôle mais par une passerelle de votre accès internet, soit vous êtes une entreprise et la sécurité de l’entreprise est supérieure au droit de ses employés à protéger leur confidentialité.

            Techniquement, c’est une question d’architecture : déporter le cryptage sur la passerelle. Pratiquement cela demande actuellement de réaliser une véritable attaque « Man in the middle » sur les flux. Les outils existent mais ne sont pas faciles à mettre en place et à gérer, d’autant que la nature de piratage de ces outils en restreint la diffusion par auto-censure (il faut recompiler soit même), et que leur mise en place dans une entreprise a toutes les raisons d’être mal perçue : il devient risqué pour un salarié de se connecter à sa banque.

            Mais faute d’aborder cette question et de laisser s’installer le cryptage généralisé des échanges non controllables par l’utilisateur (et je considère que dans le monde du travail l’utilisateur est l’entreprise), on va aboutir à une jungle où la collecte des données personnelle et le phishing seront généralisés et ingérable !

  • La stéganographie au service de l’amour. Nos écrivains ne pensaient qu’à cela.

  • Les commentaires sont fermés.

La liberté d’expression n’est pas gratuite!

Mais déductible à 66% des impôts

N’oubliez pas de faire un don !

Faire un don

Si nous constatons que le régime fédéral de Russie - au regard de sa répression de toute forme d’opposition, de sa surveillance de plus en plus étroite de sa population - est de plus en plus souvent considéré par certains observateurs, comme non plus autoritaire, mais totalitaire -  ces constats devraient faire réfléchir les citoyens des pays aujourd’hui démocratiques qui, certes pas à la même échelle, multiplient les outils de surveillance des citoyens.

Si le pas entre régime autoritaire et totalitaire peut être franchi, celui d’un ré... Poursuivre la lecture

Par Mohammed Chergui-Darif et Bruno Tiberghien.

 

Collectivités territoriales, administrations publiques, hôpitaux, écoles et universités, aucune de ces organisations publiques n’est à l’abri des cyberattaques, que la Défense française définit comme :

« (toute) action volontaire, offensive et malveillante, menée au travers du cyberespace et destinée à provoquer un dommage (en disponibilité, intégrité ou confidentialité) aux informations ou aux systèmes qui les traitent, pouvant ainsi nuire aux activités dont ils son... Poursuivre la lecture

Article disponible en podcast ici.

 

« Les combats très intimes que nous menons [...] sont à chaque fois bousculés parce que des contenus qui disent exactement le contraire circulent librement sur les plateformes... »

Cette phrase ne provient ni de Poutine ni de Xi Jinping, mais de Macron lui-même dans le dossier de presse de la proposition de loi « visant à instaurer une majorité numérique et à lutter contre la haine en ligne ».

Nos députés vont avoir la chance de débattre d’une loi fo... Poursuivre la lecture

Voir plus d'articles