La stéganographie est un concept millénaire qui consiste à cacher un message secret dans un fichier d'apparence ordinaire qui n'éveille aucun soupçon. Le mot a des racines grecques, étant une combinaison de steganos, qui se traduit par « cacher, protéger », et de graphein, qui signifie « écriture ». Les groupes de cyberespionnage type APT, les gangs de ransomware et d'autres acteurs menaçants cachent souvent des informations lorsqu'ils attaquent une cible. Par exemple, ils peuvent dissimuler des données lors de leur exfiltration, masquer un outil malveillant ou envoyer des instructions à des serveurs de commande et de contrôle. Ils peuvent placer toutes ces informations dans des fichiers image, vidéo, son ou texte sans prétention.

La stéganographie présente un avantage essentiel par rapport à la cryptographie. En cryptographie, vous savez que le message secret est présent, seul son contenu est dissimulé ; en stéganographie, l'existence du message secret est souvent difficile à remarquer. Les acteurs malveillants utilisent parfois les deux techniques ensemble, en chiffrant un message avant de le dissimuler dans un fichier.

Comment fonctionne la stéganographie

La stéganographie est un moyen pour ces acteurs de passer sous le radar. « Nous constatons souvent qu'elle est utilisée comme point d'entrée, et une fois que les acteurs de la menace sont dans le réseau, ils utilisent davantage d'outils et de codes pour se déplacer latéralement », explique Jon Clay, vice-président de la Threat Intel chez Trend Micro. Souvent, les données secrètes sont habilement dissimulées dans une image en manipulant quelques bits. Pourtant, si les utilisateurs regardent la photo originale et la comparent à celle qui a été modifiée, ils ne peuvent pas faire la différence.

Plusieurs techniques peuvent être employées pour y parvenir. L'une des plus anciennes est la méthode de substitution du bit le moins significatif (LSB), qui est devenue populaire au milieu des années 80. Elle permettait de manipuler environ 15 % d'une image en modifiant le bit le moins important de chaque octet, celui qui est le plus à droite. Par exemple, dans l'octet 11001101, le premier « 1 » à gauche est le plus lourd, tandis que le « 1 » à droite a le moins de poids. (Lors de la conversion du binaire en décimal, vous multipliez le « 1 » de gauche par 128 et le « 1 » de droite par 1.) Ainsi, la manipulation du bit le plus à droite de la séquence a peu d'impact. Bien sûr, la couleur du pixel sera différente, mais le changement sera imperceptible pour l'œil humain.

Des méthodes diverses

Il existe quelques variantes de cette méthode. Lorsque des images JPEG sont utilisées, les attaquants peuvent employer une technique appelée transformée en cosinus discrète (TCD), qui permet d'envoyer des données en modifiant des coefficients TCD de LSB d'une image. Il existe également une stéganographie d'image basée sur la palette, dans laquelle les données sont encodées dans la palette couleur du LSB de l'image. Ces deux méthodes ne peuvent transporter que de petites quantités de données secrètes.

Une méthode encore plus puissante est la segmentation de la complexité du plan de bits (BPCS), présentée à la fin des années 1990 par les informaticiens Richard Eason et Eiji Kawaguchi. Les deux hommes ont montré qu'ils pouvaient modifier environ 50 % d'une image sans que les utilisateurs ne perçoivent aucune différence. Leur astuce consistait à diviser une image en une « région informative » et une « région de bruit », puis à cacher les données secrètes dans les blocs de bruit.

Quelques méthodes à bande large sont également utilisées en stéganographie, comme la séquence pseudo-aléatoire (un conteneur stégo secret est modulé par un signal pseudo-aléatoire) ou le saut de fréquence (la fréquence du signal du conteneur stégo change selon une loi pseudo-aléatoire spécifique).

La stéganographie basée sur l’AR et la VR

Ces dernières années, les chercheurs en sécurité ont remarqué que les attaquants travaillent avec de nombreux types de fichiers, et pas seulement des images. Trend Micro a récemment mis en évidence que la stéganographie basée sur le son devient lentement populaire, car les applications de médias sociaux uniquement audio comme Clubhouse sont en hausse.

À l'avenir, nous pourrions également voir la stéganographie basée sur la réalité augmentée (AR) et la réalité virtuelle (VR), déclare Jon Clay. Selon lui, les humains ne sont peut-être pas les seuls à pouvoir être trompés. « Il y a eu des exemples de véhicules autonomes qui suivent des panneaux de signalisation visuels pour conduire, et cela peut amener les voitures à faire des choses qu'elles ne devraient pas faire », dit-il. « À mesure que les humains passent à un support plus visuel pour communiquer, vous allez voir ces acteurs malveillants chercher des moyens d'en tirer parti et d'en tirer profit ».

Des attaques à coups de stéganographie

Divers types d'acteurs de la menace, des escrocs aux groupes de cyberespionnage, ont utilisé la stéganographie pour dissimuler des informations. L'un des premiers logiciels malveillants puissants à avoir tiré parti de ces techniques est Duqu, découvert en 2011. Ses auteurs chiffraient des données et les intégraient dans un fichier JPEG. Plus récemment, des groupes APT tels que Platinum, OceanLotus/APT32, K3chang/APT15/Mirage/Vixen Panda et MontysThree se sont appuyés sur cette technique pour dissimuler des charges utiles cryptées ou maintenir la persistance sur le système. De leur côté, RedBaldKnight/Bronze Butler/Tick ont mis au point des outils capables de créer, d'intégrer et de cacher des exécutables ou des fichiers de configuration, et Tropic Trooper/Pirate Panda/KeyBoy ont masqué leurs routines de porte dérobée et échappé à la détection des anti-malwares et du périmètre du réseau.

Les chercheurs de Kaspersky ont également identifié un gang APT appelé BountyGlad, qui a utilisé la stéganographie pour livrer des éléments en plusieurs étapes dans le cadre d'une attaque de la chaîne d'approvisionnement, en dissimulant le shellcode dans un fichier PNG utilisé pour livrer la charge utile de la dernière étape. « Les [groupes] APT les plus sophistiqués utilisent souvent les techniques de stéganographie les plus simples de manière élégante », explique Kurt Baumgartner, chercheur principal chez Kaspersky. Il a remarqué que, pour ces acteurs de la menace, la stéganographie est plus que des données cachées dans des JPEG ou des BMP.

« Le plus souvent, les techniques d'imagerie stéganographique sont utilisées pour soutenir les livraisons d'implants malveillants à plusieurs étapes dans les intrusions », ajoute Kurt Baumgartner. « Nous voyons également des APT cacher les commandes de leurs implants dans des pages Web avec des espaces blancs et dans les journaux de débogage postés sur des forums, télécharger secrètement des données volées dans des images, et maintenir la persistance en stockant le code crypté dans des emplacements spécifiques d'exécutables signés Authenticode valides ».

Une multiplication des usages détournés

Les gangs de ransomware ont également appris que l'utilisation de la stéganographie pouvait les aider à mener à bien leurs attaques. Lurk/Stegoloadr, par exemple, chiffrait des URL et les cachait dans un fichier BMP blanc qui téléchargeait une deuxième charge utile. SyncCrypt et Cerber ont également dissimulé des parties de leur code dans des fichiers image, et TeslaCrypt a intelligemment inclus des balises de commentaire HTML dans une page d'erreur 404 contenant des instructions pour un serveur de commande et de contrôle. La stéganographie a également été utilisée par des services de cryptomining. Par exemple, SentinelLabs a récemment découvert une campagne affectant la plateforme Linux Docker. Cet acteur de la menace intégrait un binaire ELF à l'intérieur d'un fichier JPEG pour contourner les détections de nombreux logiciels antivirus. « Le fichier faisait 6 Mo, ce qui est extrêmement grand pour un JPEG », explique Marco Figueroa, chercheur principal en menaces chez SentinelOne. « La taille du JPEG a fourni un indice que le fichier contenait un code malveillant ».

Même les acteurs menant des campagnes de malvertising tirent parti de la stéganographie. Le kit d'exploitation Stegano/Astrum a intégré un code malveillant dans la valeur de transparence RGBA de chaque pixel des bannières publicitaires PNG. Lorsque les publicités sont chargées, le code malveillant est extrait et l'utilisateur est redirigé vers la page de destination du kit d'exploitation. En outre, le groupe à l'origine de DNSCharge a créé des publicités contenant du code permettant de lancer des attaques par force brute contre les routeurs WiFi domestiques des utilisateurs.

Ce que les entreprises peuvent faire pour se protéger

Utiliser la stéganographie lors d'une attaque est relativement facile. S'en protéger est beaucoup plus compliqué, car les ransomwares deviennent plus innovants et plus créatifs. « Les entreprises doivent adopter des technologies modernes de protection de type endpoint (EDR) qui vont au-delà des vérifications statiques, des signatures de base et d'autres composants dépassés, car le code caché dans des images et d'autres formes d'obscurcissement sont plus susceptibles d'être détectés dynamiquement par un moteur comportemental », explique Marco Figueroa. Il note également que si une image est anormalement grande, cela peut être un indice de l'utilisation de la stéganographie. Par ailleurs, les entreprises devraient concentrer leurs efforts de détection directement sur les points d'extrémité, où le cryptage et l'obscurcissement sont plus faciles à détecter.

Jon Clay de Trend Micro estime qu'il faut faire davantage pour éduquer et sensibiliser les utilisateurs. « Les entreprises doivent apprendre à leurs employés que les fichiers images peuvent héberger des codes malveillants », détaille-t-il. « En outre, les organisations devraient disposer d'un filtrage web pour une navigation plus sûre et se tenir au courant des derniers correctifs de sécurité lorsque des mises à jour sont disponibles ». Kurt Baumgartner, de Kaspersky, pense plutôt qu’il incombe aux entreprises de faire davantage pour se protéger contre ces attaques. « Une solide solution antimalware basée sur l'hôte identifiera les actions basées sur les commandes décryptées, trouvera les codes cachés et leurs chargeurs livrés avec ces techniques à l'aide de méthodes heuristiques, comportementales, d'apprentissage automatique et autres, ainsi que le siphonnage suspect de données sortantes », dit-il. « De même, le suivi du réseau peut aider à soutenir l'identification de nouveaux codes livrés par stéganographie ou de données volées sortantes ». Alors que certains chercheurs s'inquiètent de la créativité des acteurs étatiques, d'autres pensent que toute entité malveillante pourrait tirer parti de la stéganographie.