Technique de dissimulation de données, la stéganographie consiste à cacher des informations ou un message dans un autre fichier pour les rendre indétectables. A la différence de la cryptographie, le message n’est pas codé, il est simplement dissimulé. Zoom sur la technique de stéganographie.
Stéganographie, une technique bien plus ancienne qu’on le pense
Cela peut paraître incongru, mais la stéganographie est une technique très ancienne, utilisée depuis l’Antiquité. En effet, le plus ancien exemple connu de la technique remonte au 5e siècle av. J-C. Il est l’œuvre du gouverneur de la ville de Milet, Aristagoras, qui, pour délivrer un message secret, l’a fait tatouer sur le crâne d’un esclave et a attendu que ses cheveux repoussent avant de l’envoyer sur son chemin. Au fil des siècles, la technique devient un peu plus élaborée, notamment avec l’utilisation de l’encre invisible, ou en réalisant des indentations légères dans les textes. Plus près de nous, lors de la Seconde guerre mondiale, les Allemands ont utilisé la technique dite micropoint de Zapp, qui consiste à réduire la photo d’une page à un point qu’on place alors dans un texte.
Comment fonctionne la stéganographie ?
A la différence de la cryptologie qui s’attelle à rendre un message ou des données intelligibles, la stéganographie consiste à cacher des informations ou un message à l’intérieur d’un autre fichier vidéo, audio, image ou texte. Nous vous le disions, la stéganographie est une technique très ancienne. Si ses moyens ont évolué, notamment avec l’avènement du numérique, son principe reste inchangé. La différence aujourd’hui est que la technique passe par des fichiers dématérialisés. Souvent, la stéganographie est couplée au chiffrement, par exemple en remplaçant un octet RVB par un bit de données pour cacher un document dans une image. Bien que cela affecte un peu la qualité de l’image, ce n’est pas assez pour que ce soit visible à l’œil nu.
Qui utilise la stéganographie ?
La stéganographie peut être utilisée dans plusieurs domaines, notamment le watermarking, une technique qui consiste à dissimuler les droits d’auteur sur une œuvre protégée. Cela dit, le fait est que la stéganographie est principalement exploitée par les cybercriminels. Elle est particulièrement prisée par les créateurs de malwares, qui l’utilisent pour plusieurs raisons, notamment pour cacher les paramètres du malware ou le code même du malware en question. A ce stade, vous vous demandez certainement s’il est possible de détecter des fichiers altérés par la stéganographie. La réponse simple : oui, par le biais de la stéganalyse. Mais en réalité, les méthodes de stéganalyse sont peu utilisées car beaucoup trop coûteuses. Les attaques par stéganographie ont donc de beaux jours devant elles !
Exemple de stéganographie
Difficilement détectable, la stéganographie est vue comme un vecteur d’attaque parfait par les créateurs de malware. En effet, la technique permet de propager des malwares sans être détectés par les antivirus, car l’infection se fait par le biais de fichiers visiblement « innocents ». L’un des exemples les plus connus à ce niveau est celui du virus SyncCrypt identifié en 2017. Ce virus particulièrement dévastateur récupère un fichier ZIP qui se trouve à la fin d’une image jpg, et qui contient les composants qui permettent d’infecter l’ordinateur visé.
Stéganographie : comment cacher un message dans une image ?
Aujourd’hui, les évolutions numériques ont permis l’apparition de plusieurs techniques qui permettent de dissimuler toutes sortes d’informations dans d’autres documents. Le plus souvent, ces documents dits « porteurs » sont des images, plus particulièrement des images RVB. Pour comprendre comment on arrive à cacher des informations dans une image, un petit rappel sur ce qui fait la structure de cette dernière s’impose.
Une image RVB est composée de pixels, chacun étant constitué de 3 octets : un octet pour la composante bleue, un autre pour la composante rouge, et un dernier pour la composante verte. D’où le nom d’image « RVB », qui désigne les 3 composantes rouge, verte et bleue, à partir desquelles on arrive à obtenir 16 777 216 couleurs, soit bien plus qu’un œil humain n’est capable de distinguer. L’image est donc un fichier de stockage de tous les pixels RVB qui composent l’image finale.
Comment donc cacher des informations ou des données dans une image RVB ? Simplement en utilisant un bit à chaque octet RVB qui compose les pixels. Nous vous le disions, retirer un bit dégrade l’image, mais pas assez pour que ce soit visible à l’œil nu. C’est la raison pour laquelle il est possible de récupérer un bit et de l’utiliser pour cacher des informations, allant jusqu’à un huitième de la taille de l’image, assez pour dissimuler un document Word.
Quelle différence entre stéganographie et cryptographie ?
Pour dire les choses simplement, là où la cryptographie repose sur l’écriture indéchiffrable d’une information ou d’un message, la stéganographie s’attelle plutôt à cacher le message dans un contenu pour qu’il soit indiscernable, et non indéchiffrable. Autrement dit, le but ultime de la cryptographie est de rendre le message illisible à toute personne qui n’en est pas le destinataire. La stéganographie, quant à elle, est une forme de communication sécurisée et indétectable. L’autre différence clé entre ces deux formes de dissimulation des informations est que la cryptographie n’est utilisée que dans un fichier texte. En revanche, la stéganographie peut être sollicitée pour n’importe quel support, qu’il s’agisse de texte, d’image, de vidéo ou d’audio.
Concrètement, en cryptographie, on parle de message crypté, c’est-à-dire d’un message qui ne peut être décodé qu’en possession de la clé appropriée. La stéganographie est une approche différente, en cela qu’elle ne crypte pas le message, mais le rend indétectable. S’il était détecté, il serait plus facile à décoder qu’un message crypté. Il faut toutefois savoir que les différences qui existent entre stéganographie et cryptographie n’empêchent pas de combiner les deux méthodes. Ce faisant, on arrive à obtenir deux niveaux de sécurité distincts, par le biais de programmes capables de crypter un message, puis de le dissimuler en utilisant la stéganographie.