Un stégomalware est un logiciel malveillant qui utilise des techniques de stéganographie pour dissimuler son code, ses données de configuration ou ses communications de commande et de contrôle (C&C) au sein de supports numériques apparemment bénins tels que des images, des fichiers audio, des vidéos, des documents ou du trafic réseau. Il intègre généralement des charges utiles cryptées ou obfusquées dans des supports numériques et ne les extrait et ne les exécute qu'au moment de l'exécution, ce qui rend la détection traditionnelle basée sur les signatures et sur les environnements sandbox beaucoup plus difficile. Les stégomalwares ont été observés dans des attaques allant des menaces persistantes avancées (APT) à la cybercriminalité à motivation financière, et font désormais l'objet d'études universitaires dédiées, de projets de recherche et d'initiatives internationales de maintien de l'ordre.

La principale différence entre les logiciels malveillants stégotiques et les logiciels malveillants obfusqués traditionnels réside dans l'emplacement de l'encodage. Après obfuscation, le code malveillant reste présent dans l'exécutable et peut théoriquement être détecté par analyse statique. À l'inverse, les logiciels malveillants stégotiques dissimulent entièrement la charge utile dans un support de couverture (image, audio, etc.), la rendant invisible jusqu'à ce que le logiciel malveillant l'extrait et l'exécute dynamiquement lors de son exécution. Histoire Le terme stégomalware a été officiellement introduit par les chercheurs Águila, Laskov et d'autres dans le contexte des logiciels malveillants mobiles et présenté à la conférence Inscrypt (Sécurité de l'information et cryptologie) en 2014. Cela a marqué la première formalisation académique du concept, bien que des travaux antérieurs aient déjà identifié que les botnets et les logiciels malveillants mobiles pouvaient utiliser la stéganographie et les canaux cachés pour la communication de commande et de contrôle sur des canaux probabilistiquement inobservables.

Depuis son apparition, le stégomalware est passé du statut de préoccupation théorique à celui de menace avérée. En 2011, l'opération APT connue sous le nom d'«Opération Shady RAT» a constitué l'un des premiers cas documentés de stégomalware en conditions réelles, utilisant des images numériques pour dissimuler les adresses IP et les adresses des serveurs de commande et de contrôle. La même année, le logiciel malveillant Duqu (ciblant les fabricants industriels) intégrait les données des victimes dans JPEG avant leur exfiltration, rendant le transfert de données pratiquement indétectable par les outils de sécurité au niveau du réseau des fichiers image.

À partir de 2014, les logiciels stéganographiques se sont répandus dans la cybercriminalité organisée et les campagnes de menaces persistantes avancées. Parmi les exemples notables, citons Zeus/Zbot , qui masquait des données de configuration dans des images ; Gatak /Stegoloader, qui dissimulait du code malveillant dans des fichiers PNG ; TeslaCrypt , qui intégrait des commandes de commande et de contrôle dans des fichiers JPEG ; et Cerber , qui dissimulait des rançongiciels dans des images. Dans les années 2010, les logiciels stéganographiques s'étaient imposés comme une technique d'évasion privilégiée pour l'espionnage, le vol financier et les campagnes de distribution de rançongiciels.

Des études récentes (2020-2025) montrent que les logiciels malveillants stégo sont de plus en plus exploités par des adversaires ciblant les banques, les entreprises, les agences gouvernementales, les établissements d'enseignement et les utilisateurs d'Internet via des campagnes de malvertising. Cette technique est désormais considérée comme une méthode d'attaque sophistiquée qui mérite l'attention soutenue des autorités internationales chargées de l'application de la loi.

Caractéristiques techniques et définitions Les logiciels stégomalware fonctionnent selon une architecture à trois composants :

Stegotexte (R) : Un actif numérique d'apparence innocente (image, fichier audio, etc.) dans lequel la charge utile malveillante est intégrée.

Clé secrète (sk) : Une clé utilisée par les algorithmes d'intégration et d'extraction, généralement codée en dur dans le logiciel malveillant. Payload (p) : Le code malveillant proprement dit, les données de configuration ou les commandes C&C cachées dans le stégotexte.

Le logiciel malveillant extrait la charge utile lors de l'exécution à l'aide de la clé secrète et l'exécute directement ou l'utilise pour télécharger des étapes supplémentaires de l'attaque.

Les stégomalwares peuvent être classés en plusieurs types en fonction de leur méthode de déploiement :

Type 0 (Autonome) : Le stéganographie et l’algorithme d’extraction sont intégrés à l’application malveillante. La charge utile malveillante est extraite et exécutée localement, sans communication externe. Type I (Mise à jour) : Le stéganographie et la clé secrète sont téléchargés depuis un serveur distant lors de l’exécution ; seul l’algorithme d’extraction est inclus dans le logiciel malveillant. Cette variante est plus flexible, permettant aux attaquants de déployer des charges utiles mises à jour. Type II (Algorithme externe) : Ni le stégotexte ni l'algorithme d'extraction ne sont distribués avec le logiciel malveillant ; les deux sont récupérés à partir d'une infrastructure contrôlée par l'attaquant, offrant une flexibilité et une évasion maximales.

Techniques de stéganographie

Methodes du domaine spatial Les logiciels stéganographiques utilisent principalement des méthodes stéganographiques conçues pour les images, car celles-ci constituent le support de dissimulation le plus courant. La technique la plus élémentaire dans le domaine spatial est la substitution par bits de poids faible (LSB), qui remplace les bits de poids faible des valeurs de couleur des pixels par des bits utiles. Simple et facile à mettre en œuvre, la substitution LSB est également relativement facile à détecter par analyse statistique.

Les techniques spatiales plus sophistiquées comprennent :

HUGO (High Undetectable steGO) (2010) : Minimise la distorsion détectable en répartissant la charge utile sur plusieurs pixels, atteignant une capacité d'intégration avec une empreinte statistique réduite. WOW (Wavelet Obtained Weights) (2012) : Intègre les données de préférence dans les régions texturées des images où les modifications sont moins perceptibles. UNIWARD (Universal Wavelet Relative Distortion) (2014) : Utilise une fonction de distorsion universelle applicable à de multiples formats d'image, équilibrant la capacité de charge utile avec l'indétectabilité. HILL (2014) : Applique des filtres passe-haut et passe-bas pour identifier des régions d'intégration robustes. MiPOD (Minimizing the Power of Optimal Detector) (2016) : Conçu pour minimiser la puissance des détecteurs de stéganalyse optimaux théoriques.

Méthodes de transformation du domaine Les techniques de transformation du domaine convertissent les images dans le domaine fréquentiel (par exemple, en utilisant la DCT ou la DWT ) avant l'intégration, permettant un masquage plus robuste dans le JPEG et d'autres formats compressés :

Intégration dans les coefficients DCT (utilisés dans la compression JPEG) Intégration dans les coefficients DWT (utilisés dans les formats sans perte) Les techniques d'étalement de spectre répartissent la charge utile sur plusieurs composantes de fréquence.

Les méthodes du domaine transformé sont généralement plus résistantes au bruit, à la compression et aux transformations d'image que les méthodes spatiales.

Méthodes de réseaux antagonistes génératifs (GAN) Les progrès récents en matière d'apprentissage automatique ont introduit la stéganographie basée sur les GAN, où un modèle génératif produit des images stéganographiques qui minimisent les artefacts détectables :

SGAN (GAN stéganographique) (2017) : Premier GAN appliqué à la stéganographie, utilisant un générateur, un discriminateur et un réseau de stéganalyse. ASDL-GAN (2017) : Effectue un apprentissage automatique de la distorsion stéganographique au niveau du pixel. SteganoGAN (2019) : Améliore les modèles GAN précédents, atteignant une capacité d'intégration et une robustesse supérieures. HiGAN (Hiding Images GAN) (2020) : Permet de cacher une image dans une autre tout en maintenant la plausibilité visuelle.

Les approches basées sur les GAN sont plus résistantes aux attaques de stéganalyse standard, mais restent une menace émergente nécessitant des recherches supplémentaires.

Campagnes de logiciels malveillants notables Le stégomalware a été documenté dans de nombreuses cyberattaques et campagnes de grande envergure. Parmi les exemples notables, citons :

Opération Shady RAT (2011) : Utilisation d'images numériques pour dissimuler les adresses des serveurs de commande et de contrôle dans le cadre d'opérations d'espionnage ciblées. Duqu (2011) : Intégration de données de victimes dans des fichiers JPEG pour exfiltrer des informations de systèmes de contrôle industriels. Zeus/Zbot (2014) : Données de configuration bancaire masquées dans des fichiers JPEG exploitées via la malvertising. Gatak/Stegoloader (2015) : Shellcode caché dans des fichiers PNG pour des attaques de licences logicielles et l'exécution de commandes de bots. TeslaCrypt (2015) : Commandes C&C et clés de ransomware intégrées dans des images JPEG. Cerber (2016) : Code de ransomware exécutable dissimulé dans des fichiers JPEG distribués par hameçonnage. DNSChanger (2016) : Code malveillant intégré dans des fichiers PNG pour des campagnes de détournement DNS. Kit d'exploitation Sundown (2017) : Code d'exploitation distribué dans des fichiers PNG via de la publicité malveillante. AdGholas (2017) : a utilisé la stéganographie JPEG pour distribuer des ransomwares via des publicités malveillantes. Synccrypt (2017) : Composants de ransomware cachés dans des archives chiffrées par stéganographie JPEG. ZeroT/PlugX (2017) : Charges utiles de chevaux de Troie d'accès à distance cachées dans des fichiers BMP à des fins d'espionnage. Loki Bot (2018) : Installateurs de logiciels malveillants dissimulés dans des fichiers JPEG et vidéo. Waterbug (APT28) (2019) : a injecté des DLL malveillantes dans des fichiers audio WAV. Shlayer (logiciel publicitaire macOS) (2019) : Cachait des URL malveillantes dans des fichiers JPEG via du malvertising.

vecteurs d'attaque Les vecteurs d'attaque les plus courants pour les stégomalwares sont les suivants :

Courriels d'hameçonnage contenant des pièces jointes ou des liens malveillants Campagnes de malvertising utilisant des bannières publicitaires malveillantes Exploiter des kits via des sites web compromis ou malveillants Vulnérabilités légitimes des applications (par exemple, attaques par point d'eau) Distribution de logiciels contrefaits (logiciels piratés, outils de génération de clés)

Étapes d'exploitation Les stégomalwares jouent généralement un ou plusieurs rôles dans les cycles de vie des attaques :

Livraison de la charge utile : les images Stego contiennent du code exécutable complet ou du shellcode. Communication C&C : Les données cachées contiennent des adresses de serveur ou des instructions de commande. Exfiltration de données : Données volées encodées dans des images pour échapper à l'inspection du réseau. Mécanisme de mise à jour : Les nouvelles versions du logiciel malveillant sont distribuées via stégomalware.

Outils de création de stégomalware Divers outils de stéganographie disponibles publiquement peuvent être réutilisés pour la création de logiciels malveillants stéganographiques :

Steghide (2003) : Logiciel libre ; basé sur LSB ; compatible avec les formats JPEG, BMP, WAV et AU OpenPuff (2004) : basé sur Java ; prise en charge de plusieurs formats (BMP, JPEG, GIF, PNG, vidéo)