Tout a commencé avec un tyran emprisonné, une coupe de cheveux et un serviteur tatoué. C'est du moins ce que raconte Hérodote.
Communément cité comme le premier exemple de stéganographie, c'est-à-dire de dissimulation d'un message dans un autre message, un roi en exil nommé Histiaeus voulait déclencher une révolte contre un rival. Sa solution consistait à raser et à tatouer un message sur la tête d'un serviteur. Lorsque les cheveux repoussaient, le message caché était facilement transmis à travers le territoire ennemi.
Histiaeus a réalisé la première attaque stéganographique réussie. Il a utilisé des données cachées à la vue de tous pour nuire à un ennemi. J'ai toujours aimé cette histoire. Elle montre comment une simple méthode de dissimulation de données peut avoir des conséquences désastreuses - dans ce cas, une révolte dévastatrice.
Les attaques modernes basées sur la stéganographie cachent souvent des logiciels malveillants dans des fichiers images inoffensifs, créant ainsi un lien vital dans la chaîne d'infection de l'acteur de la menace, tout comme le message caché d'Histiaeus était le premier maillon de sa chaîne d'attaque.
La stéganographie est également utilisée pour extraire des données des machines des victimes. Par exemple, l'attaquant a besoin d'envoyer des données à la maison après avoir accédé au réseau d'une entreprise. Les logiciels malveillants basés sur la stéganographie permettent d'atteindre cet objectif.
Est-il difficile de cacher des logiciels malveillants dans des images ? À titre de preuve de concept, il serait amusant d'essayer et de faire une vidéo démontrant mon parcours d'attaque d'images stéganographiques. Heureusement, il n'est pas nécessaire de se faire tatouer le cuir chevelu !
Est-il facile de créer un logiciel malveillant de stéganographie d'images ?
Ces attaques peuvent sembler sophistiquées, mais les logiciels permettent d'intégrer facilement des données dans les images. Des programmes de stéganographie gratuits et disponibles, tels que 1-2 Steganography, OpenStego et QuickStego, sont facilement accessibles et conviviaux.
Ces outils permettent de créer et d'extraire des logiciels malveillants en quelques minutes et avec quelques lignes de code. Le code illustré ci-dessous montre comment j'ai utilisé la bibliothèque Python judyb pour cacher et révéler des données dans des images.

Avec un simple module Python, vous pouvez vous aussi cacher des informations dans des images et les envoyer où vous voulez. La stéganographie est amusante. Vous pouvez l'utiliser pour transmettre des messages secrets à vos amis, mais les pirates peuvent diffuser des logiciels malveillants et infecter les réseaux.
Pourquoi est-ce efficace ?
Il est facile de dissimuler des logiciels malveillants dans des images, mais difficile de les détecter.
Les attaquants intègrent des données au niveau du bit/pixel, de sorte qu'une charge utile malveillante est pratiquement impossible à détecter avec la plupart des outils d'analyse anti-programmes malveillants. Les images nuisibles contournent facilement la plupart des méthodes de détection en temps réel des logiciels malveillants.
Comment prévenir les attaques sténographiques - Désarmement et reconstruction du contenu profond
Les méthodes basées sur la détection étant inefficaces, nous avons besoin d'un autre moyen pour détecter les codes malveillants cachés dans les images.
Heureusement, il existe une méthode puissante appelée CDR (Content Disarm and Reconstruction) qui permet de décomposer les fichiers afin d'en supprimer les données nuisibles. Également connu sous le nom d'assainissement des données, le CDR est une solution de sécurité à confiance zéro qui part du principe que tous les fichiers sont malveillants. Il déconstruit les fichiers et supprime le contenu exécutable et les éléments qui ne correspondent pas aux normes de type de fichier à l'intérieur des fichiers. Enfin, il reconstruit les fichiers en veillant à ce qu'ils soient pleinement utilisables avec un contenu sûr.
Une version plus puissante du CDR , appelée Deep CDRLa version plus puissante du CDR, appelée "CDR", inspecte les images en examinant les profils, les métadonnées et les pixels à la recherche de contenus nuisibles.
Deep CDR utilise l'assainissement récursif pour neutraliser les menaces. Si l'attaquant a intégré cette image dans un PDF, Deep CDR analyse et assainit chaque objet du PDF.

Il supprime également toutes les métadonnées structurées, ce qui contribue à la protection de la vie privée et à la sécurité. Les attaquants peuvent dissimuler des chevaux de Troie dans les métadonnées. La suppression des métadonnées du fichier image empêche ce vecteur d'attaque.
Au niveau des pixels, notre programme supprime les données inutilisées susceptibles de contenir la charge utile partielle. Il ajoute du bruit aléatoire à ces pixels, ce qui perturbe la capacité de la charge utile à exécuter le code nuisible.
Nous pouvons également optimiser les données bitmaps. L'algorithme de compression supprime les données inutilisées où sont cachées les données malveillantes sans affecter la qualité des images.
Comme vous pouvez le voir dans l'exemple ci-dessous, la qualité de l'image reste la même.

Si vous aimez vous familiariser avec la stéganographie et si vous êtes intéressé par d'autres sujets liés à la cybersécurité, inscrivez-vous à notre liste de diffusion.
La cybersécurité de votre organisation vous préoccupe ? Contactez un expert en sécurité OPSWAT dès aujourd'hui !