Rédigé par Antoine, le Lundi 15 Janvier 2024
Dans le monde numérique d'aujourd'hui, la sécurité de l'information est une préoccupation majeure et des méthodes innovantes sont développées pour protéger la confidentialité des données sensibles.
L'une des mĂ©thodes fascinantes est la stĂ©ganographie, l'art ingĂ©nieux de cacher des documents secrets dans d'autres mĂ©dias, tels que des images, des fichiers audio ou mĂȘme du texte. Dans cet article, nous allons explorer la magie de la stĂ©ganographie et son utilisation pour cacher des documents "secrets".
La stéganographie est une technique particuliÚre que permets de cacher, dissimuler différents données (par exemple un message) dans un autre fichier, comme un graphique, un fichier audio ou un autre fichier texte. La stéganographie présente un avantage par rapport à la cryptographie : le message secret n'attire pas spécialement l'attention. Personne ne peut imaginer qu'une image contient en réalité un message secret en consultant le fichier au format électronique ou papier.
La stĂ©ganographie diffĂšre de la cryptographie traditionnelle... Elle ne cherche pas Ă chiffrer les donnĂ©es pour les rendre inintelligibles mais au lieu de cela, il se concentre sur la dissimulation des donnĂ©es des fichiers apparemment "inoffensifs". Cette approche offre un avantage majeur : mĂȘme si un observateur malveillant intercepte le fichier porteur, il ignore l'existence des donnĂ©es cachĂ©es.
Plusieurs éléments interviennent dans la dissimulation des données. Il y a tout d'abord les données intégrées, c'est-à -dire le message secret. Le texte, l'image ou le son de couverture dissimule les données intégrées en générant le texte, l'image ou le son stéganographique. C'est une clé de stéganographie qui contrÎle le processus de dissimulation.
La méthode du bit le moins significatif, le bit de point faible (LSB) est utilisée pour incorporer des données dans l'image de superposition. Cette méthode utilise des bits pour chaque pixel de l'image. Un pixel est l'unité de base de la couleur programmable en infographie.
La couleur exacte d'un pixel est une combinaison de trois couleurs : rouge, vert et bleu (RVB). Trois octets de données définissent la couleur d'un pixel (un octet pour chaque couleur). Huit bits constituent un octet. Un systÚme de couleurs 24 bits utilise les trois octets. La méthode LSB utilise un bit chacune pour les composants rouge, vert et bleu. Chaque pixel peut stocker trois bits.

Le schĂ©ma ci-dessus prĂ©sente trois pixels d'une image en couleur de 24 bits. L'une des lettres du message secret est le 'T'. L'insertion de ce dernier va modifier uniquement deux bits de la couleur (indiquĂ©s en vert chaque dĂ©but d'octet sur le schĂ©ma). L'Ćil humain ne peut pas identifier les modifications apportĂ©es aux bits de poids faible puisque la modification est tellement faible par la modification d'un seul pixel. Cela se traduit donc par un caractĂšre cachĂ©.
En moyenne, il suffit de modifier Ă peine 50 % des bits d'une image pour dissimuler efficacement un message secret.
L'objectif est de maintenant réaliser votre fichier "secret" en utilisant la stéganographie pour dissimuler un document dans un fichier JPEG. Avec l'outil Steghide, nous serons capable de construire ce type de fichier.
Steghide est un programme de stéganographie open source qui permet de dissimuler des données dans divers types de fichiers tels que des fichiers audio ou image. Vous allez apprendre à cacher un fichier de données dans un fichier image.
Notre objectif sera de créer un document simple Libre Office, Word... puis de l'incorporer, de le cacher dans l'image JPEG.
Nous allons ainsi créer un simple fichier Word qui contiendra notre message :

Vous pouvez prendre une image au format JPEG afin de cacher votre document ou bien de la crĂ©er vous mĂȘme (pour du test, avec Paint. Oui je sais..., j'ai Ă©normĂ©ment de talent en dessin
) :

Les points importants pour l'image est de respecter le format JPEG et que la taille de l'image soit égale ou supérieur à la taille du document :

Sur une machine basé sur Linux, copiez ces deux fichiers dont le document et l'image, par exemple dans le dossier ~/Documents :

Ă l'invite de commandes, saisissez la commande suivante :
âââ(ipanăżkali)-[~/Documents] ââ$ steghide embed -cf secret-img.jpg -ef Secret_File.docx
Cette commande incorpore le document Secret_File.docx dans le fichier jpeg porteur secret-img.jpg.
embed : indique l'intention d'incorporer des donnĂ©es secrĂštes dans un support (dans ce cas, une image).-cf secret-img.jpg : spĂ©cifie le fichier de couverture, c'est-Ă -dire l'image dans laquelle vous souhaitez cacher les donnĂ©es. Dans cet exemple, le fichier de couverture est secret-img.jpg.-ef Secret_File.docx : indique le fichier Ă dissimuler, notre fichier Word secret. Dans cet exemple, le fichier secret est Secret_File.docx.Lorsque vous y ĂȘtes invitĂ©, saisissez un mot de passe de protection de l'image (ex : 123).
Le fichier Word a bien été incorporé. Le document original n'as absolument pas changé, mais en revanche l'image quant à elle, a été modifiée et le document Word y est injecté et donc la taille de l'image a augmentée :

On peut vérifier les informations de l'image avec l'option info :
âââ(ipanăżkali)-[~/Documents] ââ$ steghide info secret-img.jpg
à l'invite, saisissez 'y' ou 'o' (pas la touche entrée qui quitte sinon le programme). Spécifiez le mot de passe de "chiffrement" de l'image (ici : mon superbe mot de passe "123").
Les résultats affichés ci-dessous montrent que le fichier Secret_File.docx est chiffré et compressé.

Si jamais vous souhaitez consulter le fichier caché dans l'image, l'option extract permets de faire cela :
âââ(ipanăżkali)-[~/Documents] ââ$ steghide extract -sf secret-img.jpg
Saisissez le mot de passe, puis appuyez sur EntrĂ©e. Lorsque vous y ĂȘtes invitĂ©, saisissez y pour Ă©craser le fichier Word avec le nouveau fichier extrait (si jamais vous ĂȘtes toujours dans le rĂ©pertoire utilisateur ~/Documents).

Et nous pouvons constater que le fichier est affiché, tel quel !

L'utilisation de la stĂ©ganographie pour cacher des documents secrets peut avoir de multiples applications pratiques. Dans des environnements oĂč la sĂ©curitĂ© est primordiale, tels que les agences gouvernementales, les entreprises ou les individus soucieux de protĂ©ger leur vie privĂ©e, cette technique peut jouer un rĂŽle essentiel. Les informations sensibles, telles que des plans stratĂ©giques, des donnĂ©es confidentielles ou des communications sensibles, peuvent ĂȘtre dissimulĂ©es efficacement, rĂ©duisant ainsi le risque de dĂ©tection ou d'accĂšs non autorisĂ©.
Cependant, il est important de noter que la stĂ©ganographie n'est pas un bouclier invincible. Les avancĂ©es technologiques ont Ă©galement permis le dĂ©veloppement de techniques sophistiquĂ©es de dĂ©tection stĂ©ganographique, visant Ă identifier la prĂ©sence potentielle de donnĂ©es dissimulĂ©es. Par consĂ©quent, la stĂ©ganographie doit ĂȘtre utilisĂ©e avec prudence et en tenant compte des limites de sĂ©curitĂ© associĂ©es.
La "stĂ©ganalyse" a pour vocation de dĂ©tecter si un Ă©lĂ©ment est susceptible de contenir des informations cachĂ©es et de rĂ©vĂ©ler ensuite ces informations. Les motifs de l'image stĂ©ganographique paraissent suspects. Un disque peut, par exemple, contenir des zones inutilisĂ©es oĂč sont dissimulĂ©es des informations. Les utilitaires d'analyse de disque peuvent signaler les informations cachĂ©es dans les clusters inutilisĂ©s des supports de stockage. Les filtres peuvent capturer des paquets de donnĂ©es dont les en-tĂȘtes contiennent des informations cachĂ©es. Ces deux mĂ©thodes utilisent des signatures de stĂ©ganographie.
En comparant l'image d'origine à l'image stéganographique, un analyste peut relever visuellement des schémas répétitifs.
En complément, avec l'outil stegcracker, il est possible en effet de "bruteforcer" le mot de passe du fichier avec des wordlists:
âââ(ipanăżkali)-[~/Documents] ââ$ stegcracker secret-img.jpg /usr/share/wordlists/john.lst

Vu de la complexité inouïe du mot de passe de l'image (qui est "123"
), le fichier a été "bruteforcé" en à peine quelques secondes.
D'autres pistes, Ă©galement, pour dĂ©tecter ces types de fichiers tel que stegdetect permet de vĂ©rifier l'utilisation d'outils stĂ©ganographiques tel que jphide, outguess, steghide mais encore jsteg 
Références :