La stéganographie ou l’art de bien cacher des données (Partie 2)

Le mois dernier, SecuriteOff a présenté les principes et les différentes formes de la stéganographie, un moyen efficace de cacher des informations dans d’autres données. Les supports média tels que le son, les images ou les vidéos sont le plus souvent utilisés. Au même titre que la cryptographie, la stéganographie est utilisée par des groupes terroristes, pédophiles et autres groupes mafieux… Ce mois-ci, SecuriteOff présente les différentes utilisations possibles avec un cas fictif (Echanges d’une cellule terroriste), un second toujours fictif (Une défense avec la stéganalyse) et pour terminer un exemple concret avec StegoBot.

 

 

par zeDr€amT€am

 

 

 

 

Utilisation potentielle

D’un point de vue théorique, la stéganographie semble pouvoir répondre à tous les problèmes de sécurité lors d’un transfert de données. Très sécurisée grâce à l’ajout de cryptographie, difficilement détectable, elle a de nombreux avantages. Cependant, il serait judicieux de se demander si elle est utilisée systématiquement ou à de rares occasions dans un contexte réel.
Qui a besoin d’un système de communication si sécurisé ? Dans quel but ? Quelles sont leurs intentions ? Si elles sont mauvaises, comment lutter ?

Une recherche sur le net ne donne que très peu d’informations sur l’utilisation concrète de la stéganographie. Il y a un ensemble de tutoriels et d’explications sur son fonctionnement, mais aucun témoignage, aucun article qui décrit une utilisation concrète. En ajustant la recherche, avec par exemple les mots clés : « stéganographie » et « terrorisme » ou « stéganographie » et « pédophilie » les premiers résultats apparaissent. Au même titre que la cryptographie, la stéganographie est utilisée par des groupes terroristes, pédophiles et autres groupes mafieux.
Mais, c’est aussi un moyen pour des gens honnêtes ou encore des gouvernements de simplement cacher une information efficacement. Il est aussi prouvé avec certitude que la stéganographie est de plus en plus utilisée par les virus. Quoi de mieux pour passer inaperçu que de dissimuler son fichier de configuration dans les photos de vacances du propriétaire de l’ordinateur ? Les exemples ne manquent pas, avec une version stéganographique du trojan Alueron qui utilise des fichiers de configurations cachés dans des images mises en ligne chez un hébergeur gratuit. Ou encore du malware Lurk qui via des images contenant des liens permet le téléchargement et l’installation d’un second malware. Dans la majorité des cas, la stéganographie est utilisée pour contourner les défenses des antivirus et ainsi pouvoir exécuter du code malicieux sur la machine victime de l’infection.

A-Cas fictif : Échanges d’une cellule terroriste
Pour la suite de cet article, pour parler simplement et concrètement des deux facettes de la stéganographie dans un cas concret, nous avons imaginé un scénario fictif, d’un coté une cellule terroriste qui souhaite communiquer de manière sécurisée et discrète, de l’autre un groupe de stéganalystes voulant prouver l’utilisation de la stéganographie pour permettre par la suite à une équipe spécialisée dans le forensic (récupération de données) de retrouver les messages cachés afin d’obtenir les informations secrètes du groupuscule.
Avant tout échange de données en utilisant la stéganographie les membres de la cellule terroriste doivent se munir d’un outil stéganographique, plusieurs sont disponibles sur le net cependant avec un peu d’expertise il est facile de créer soit même son propre outil. Une fois le programme stéganographique sélectionné, il va devoir être partagé entre les différents pôles de communication qui ont besoin d’une sécurité et d’une discrétion très forte. Dès cette toute première étape, les échanges doivent être les plus discrets possible, le but étant de ne pas attirer l’attention et de passer inaperçu.

a-Décider d’un support commun
Ensuite, les différentes personnes désirant communiquer secrètement dans la cellule vont devoir choisir le support à utiliser. Plusieurs choix sont possibles et dépendent des informations à faire transiter. En effet, si le nombre de messages à envoyer est très important, mais que ce ne sont pas des messages contenant beaucoup de données, le transit via des images est une bonne solution, rapide et discrète. Elle est de plus assez simple à mettre en œuvre et les informations peuvent transiter rapidement via les pièces jointes d’un mail par exemple. Si par contre il est nécessaire de faire transiter de grosses données, un support plus intéressant est la vidéo, cela évite de devoir découper les données en plusieurs messages et d’envoyer un nombre d’images « suspect » sur le réseau. Il est important de choisir le bon média pour ne pas attirer l’attention d’observateurs indiscrets.

b-L’échange de clés

Comme expliquée dans la première partie de l’article, la transmission de données en utilisant la stéganographie requiert un élément important : la clé. Elle est utilisée pour dissimuler le message pseudo aléatoirement dans le média. Pour que le destinataire récupère le contenu caché, il lui faut absolument cette clé. C’est l’élément central de la communication, elle doit à tout prix rester secrète, pour deux raisons principales : si l’échange de clé est détecté par des observateurs, ces derniers vont redoubler de vigilance à l’égard des nœuds sources et des nœuds destinations de ces messages, si la clé est envoyée en clair (sans aucun chiffrement, lisible par tous) alors tout le plan d’échange sécurisé est détecté et il perd tout son intérêt. Une idée judicieuse serait par exemple d’exécuter un algorithme sur la date du jour, en entrée l’algorithme reçoit une date pour donner en sortie une chaine de caractères unique pour chaque renouvelée chaque jour. C’est cette chaine qui sera utilisée pour les communications.

algo

Représentation schématique de la génération de clés

Cette technique de génération de clés possède plusieurs avantages, elle nécessite seulement l’échange de l’algorithme de création de clés, soit un unique message vital vers les destinataires pour assurer la sécurité du système. De plus, le changement de clé peut perturber les méthodes de stéganalyse. Mais il faut tout de même être prudent et ne jamais dévoiler l’algorithme de génération des clés. Il est connu que la cryptographie suit le principe de Kerchoffs qui énonce qu’un cryptosystème doit être public à l’exception de la clé. Dans la stéganographie, la discrétion est de rigueur. En effet, le principe est de passer inaperçu aux yeux d’une personne ou d’un groupe qui serait trop indiscret. L’adversaire ne doit en aucun cas connaître l’existence du stégosystème sinon il perd tout son intérêt.

c-Échanger les données

Une fois l’ensemble de l’infrastructure stéganographique en place, il ne reste plus qu’à échanger les données. Le principe est simple, l’envoyeur génère la clé grâce à l’algorithme défini plus haut. Il l’utilise ensuite pour insérer le message de son choix dans le média choisi. Il envoie ensuite l’objet stégo à son destinataire qui n’a qu’à utiliser la même clé pour récupérer le message et même y répondre. L’ensemble du groupe doit faire attention à ne jamais utiliser le même fichier stégo, en effet une simple comparaison entre les deux à l’aide de la commande « compare » (disponible via l’outil imagemagick) permet de mettre en évidence les pixels modifiés. Bien sûr l’utilisation de banques d’images ou vidéos disponibles sur internet est à proscrire pour les mêmes raisons.

B-Cas fictif : Une défense avec la stéganalyse

Après avoir étudié les techniques de l’attaquant, il est intéressant de se demander par quels moyens la stéganographie peut être déjouée. Toujours en gardant le scénario fictif de départ.

a-Détection du média
Dans un premier temps une équipe de spécialistes des réseaux doit avoir découvert une source potentielle utilisant la stéganographie. La découverte d’un échange d’images important peut par exemple être une source de suspicions. Dès qu’il y a des soupçons, il faut réussir à récupérer l’ensemble des données qui pourraient contenir un message (vidéos, photos, paquets IP). C’est alors aux stéganalystes de prendre le relais. Dès lors, il faut stocker tous les échanges en attendant une solution éprouvée de détection. Si le système de détection est en place est que le volume de données à traiter est très important, le plus efficace est de procéder à une analyse à la volée des données quand elles sont interceptées sur le réseau.

b-Apprentissage et entraînement
La stéganalyse est constituée de plusieurs étapes. L’idée de base est d’avoir ce qu’on appelle un distingueur. Ce dernier permet de séparer les images à tester en deux catégories, les covers, non modifiées et les stégos, modifiées. Il est simple de se représenter le distingueur comme une boite noire, il n’est pas nécessaire de comprendre son fonctionnement interne pour comprendre son rôle dans un processus de stéganalyse.

 

disting

Pour que ce distingueur soit efficace, il faut l’entraîner, cela nécessite un temps d’apprentissage, comme un enfant qui apprendrait à faire la différence entre deux couleurs. L’équipe de stéganalystes va utiliser des bases connues. En utilisant des images stégos générées à partir de cette base, il est possible de lui faire savoir que l’image X est stégo alors que l’image Y est cover. Ce dernier va effectuer des calculs qui vont donner des valeurs différentes selon la nature de l’image (cover ou stego). Pour ne pas introduire de biais dans l’apprentissage il faut que les images stégos soit uniques, c’est-à-dire que leur équivalent cover n’est pas utilisé en tant que cover pendant toute la durée du processus.

En gardant tous ces éléments en mémoire, il est maintenant capable de remplir son rôle. En lui donnant une image qu’il ne connait pas, il va effectuer les calculs requis et comparer les valeurs, si elles sont proches des valeurs « cover » alors l’image est cover sinon elle est stégo. Mais cette technique n’est pas parfaite et il est possible qu’il y ait des erreurs de distinction. Il est donc nécessaire avant de l’utiliser sur un cas concret, de passer par l’étape de validation.

c-Validation
Elle constitue l’avant-dernière étape. Pour être certain que le distingueur effectue correctement sa tâche. En utilisant le même procédé que pour l’entraînement, une base d’images connues (mais différente de la précédente) et en exécutant le distingueur sur l’ensemble de la base on peut donc quantifier son taux de réussite. Sachant que les erreurs sont :

Chat Chat_steg

 

 

Pour juger de la fiabilité d’un distingueur, plusieurs éléments sont à considérer. La quantité de données est de la loin la plus importante. Plus le nombre d’images est important plus l’entraînement est précis, le taux d’erreur doit donc tendre vers 0. Cependant, ces opérations sont lentes et dans un cas réel il faut agir au plus vite d’où la nécessité de trouver le compromis le moins pénalisant. Si les résultats du distingueur ne sont pas acceptables, il est alors nécessaire de modifier la méthode de distinction. Cependant, il est aussi possible que la méthode de distinction soit efficace, mais que les réglages du dinstigueur soient mauvais pour la distinction de l’échantillon. Les images étant diverses (taille, couleur, compression, contenu) il est possible qu’un distingueur très puissant sur un type d’image, par exemple
des paysages de montagnes, soit très mauvais dans le cas d’images contenant des buildings. Ce facteur est appelé impact de la source (cover source mismatch), il doit être minimisé au maximum pour maximiser la précision du distingueur.

 

d-Utilisation sur les images suspicieuses
Si un distingueur est validé il peut alors être utilisé sur les images interceptées par l’équipe réseau. Ces derniers ont eu le temps de constituer une base d’images suspicieuses conséquente en attendant un distingueur efficace. Les résultats de cette dernière étape détermineront si la cellule terroriste à bien utilisé la stéganographie pour communiquer.

Les points à retenir

La stéganographie est de plus en plus utilisée en dehors des laboratoires de recherches. Sa discrétion est sa principale qualité c’est pourquoi elle est très efficace dans le cas des virus qui par nature sont des programmes qui sont invisibles pour le système. L’exemple le plus parlant est le projet stegobot, qui utilise la stéganographie pour échanger des informations cachées à travers les réseaux sociaux.

Mais les programmes malveillants ne sont pas les seuls à adopter des méthodes stéganographiques pour échanger des informations. Chacun peut, si il le souhaite faire transiter des messages en passant par le biais d’images stéganographiées, cela inclut aussi les personnes aux intentions criminelles ou terroristes. Ces derniers doivent être attentifs à chaque maillon de la chaine de communication afin de ne pas attirer l’attention sur eux. De l’autre côté, l’équipe de stéganalystes doit trouver un moyen d’obtenir les informations suspectées d’être stéganographiées dans le but de prouver si la cellule terroriste visée utilise la stéganographie pour échanger des messages.

3-Cas concret : StegoBot

C’est un cas intéressant, développé en 2011, ce botnet nouvelle génération, échange des informations discrètement grâce à la stéganographie et rapidement via les réseaux sociaux. Son but est de voler et remonter des informations concernant les personnes dont l’ordinateur est infecté.

a-Conception

Comme la majorité des bots, stegobot est constitué de trois composants essentiels : un botmaster, des bots et un canal de communication, couramment appelé CNC ( Control and Command ). Le botmaster est la personne qui va donner des ordres précis aux bots via le canal de communication. Les bots quant à eux, sont des programmes interconnectés présents sur des machines infectées, ils utilisent le canal de communication pour envoyer des données ou échanger des informations, entre eux, ou à destination du botmaster. La principale et importante différence avec les autres bots, c’est que l’équipe de développement s’est concentrée sur la discrétion du canal de communication entre les différents composants du réseau.

 

b-Propagation

StegoBot s’inscrit dans la génération de bot dit « décentralisé ». Afin être plus efficace, cette nouvelle méthode de conception utilise un réseau de bot plutôt qu’une entité unique et centrale. lors de la création du réseau il est nécessaire d’infecter plusieurs machines avec un exécutable qui contient les fonctions du bot. Pour se répandre, le moyen utilisé est l’email, écrit avec un style très travaillé pour simuler un message venant d’un collègue ou d’un membre de la famille. Une fois l’email ouvert, le bot s’installe, l’utilisateur n’a conscience de rien, mais il est maintenant infecté. Ensuite, le bot entre en action, dès que l’utilisateur envoi un mail avec une pièce jointe le malware va s’ajouter à cette pièce jointe et infecter tous les destinataires qui ouvriront l’email. En très peu de temps il est possible de construire un réseau de bots puissant.

 

stego-bot

c-Récupération et remontée des données

Une fois qu’au moins une machine est infectée, le botmaster peut envoyer des commandes à celle-ci en utilisant des images JPEG stéganographiées. Il peut par exemple envoyer un message indiquant au bot qu’il doit activer la fonction keylogger (Enregistreur de frappe, logiciel espion qui enregistre les informations tapées au clavier) ou encore envoyer certains journaux système. Pour remonter les informations jusqu’au bot master, des images stégos contenant les messages à transmettre vont passer de bot en bot jusqu’à rejoindre l’entité à la tête du réseau (voir figure 1).
Ce travail prouve que l’utilisation de la stéganographie et des réseaux sociaux en tant que moyen d’échanges d’informations pair-à-pair est une réussite. Les résultats sont satisfaisants puisqu’il est possible d’échanger jusqu’à 20MB/mois de données qui sont complètement invisibles grâce à la stéganographie.

4-Conclusion

La stéganographie est une technique ancienne, mais qui s’adapte très bien à l’informatique. Pour l’instant, elle trouve surtout sa place dans la recherche et ne semble encore que très peu utilisée. Malgré le fait qu’elle soit encore inconnue pour beaucoup, elle se révèle très utile et semble pouvoir augmenter la qualité de défense de nos informations. Couplée au chiffrement, elle est redoutable d’efficacité en terme de sécurité. Hélas, certains terroristes ou hackers ont déjà utilisé ce système à des fins malveillantes. La stéganographie est une sécurité, mais elle peut aussi être dangereuse, surtout car sa spécialité est d’être invisible. C’est pourquoi elle ne doit pas être oubliée ou prise à la légère. Seule la stéganalyse est capable de déceler, et c’est un exercice qui peut se révéler assez complexe.

Bien que la stéganographie puisse sembler nouvelle, elle est essentielle dans le domaine de la sécurité informatique. Reste à savoir si elle va devenir un élément central de la sécurité informatique dans un futur proche.

 

Liens/sources :

La stéganographie au cours des siècles.
http://www.bibmath.net/crypto/index.php?action=affiche&quoi=stegano/histstegano,
visité : 2014-09-27.

Clément Chastagnol. Stéganographie en domaine vidéo compressé. http://dumas.ccsd.cnrs.fr/docs/00/51/77/69/PDF/TFE_3234_chastagnol_Clement_2009.PDF,
15 septembre 2010.

Virus Bulletin. Alureon trojan uses steganography to receive commands. https://www.virusbtn.com/blog/2011/09_26.xml,
visité : 2014-09-25.

Brett Stone-Gross. Malware analysis of the lurk downloader. http://www.secureworks.com/cyber-threat-intelligence/threats/malware-analysis-of-the-lurk-downloader,
visité : 2014-09-25.

Principe de Kerckhoffs. http://fr.wikipedia.org/wiki/Principe_de_Kerckhoffs,
visité : 2014-09-25.

Imagemagick. http://imagemagick.org/,
visité : 2014-09-25.

J. Kodovsky J. Fridrich and V. Sedighianaraki. Study of Cover Source Mismatch in Steganalysis and Ways to Mitigate its Impact. 2014.

Shishir Nagaraja, Amir Houmansadr,Pratch Piyawongwisal, Vijit Singh, Pragya Agarwal , and Nikita Borisov.

Stegobot: a covert social network botnet. 2011.

Partager :

Dans la même catégorie

Publié le : 28/03/2024

7 bonnes pratiques que les petites entreprises peuvent suivre pour se protéger contre les cyberattaques 

Découvrir
Publié le : 26/03/2024

La gestion post-crise : évaluer, apprendre et améliorer le PRA

Découvrir
Publié le : 26/03/2024

Pourquoi un audit de cybersécurité est-il essentiel pour toutes les entreprises ?

Découvrir
error: Le contenu est protégé !!