
Malware 101 : les techniques d'évasion des signatures
Malgré toutes les avancées en matière de détection de malwares, la méthode de protection des terminaux la plus répandue (et quasiment la seule à la disposition des utilisateurs finaux) reste la détection par signature. Celle-ci repose sur des hachages de fichiers malicieux connus et sur des signatures de type « expression régulière » pour détecter les malwares. Bien que les signatures soient loin d’être inefficaces, elles nécessitent des échantillons de malwares déjà analysés pour être créées. Partant, les nouvelles variantes de malwares ou les malwares capables de modifier leurs caractéristiques peuvent passer inaperçus. Cela explique pourquoi les malwares utilisent différentes techniques d’évasion pour échapper à la détection par signature, voire à l’analyse statique.
Obscurcissement
L’obfuscation est l’action de rendre illisible un programme, ce qui est le mode opératoire par excellence des malwares. Étant donné qu’une grande partie de la détection par signature et de l’analyse statique dépend de la capacité à repérer les actions malicieuses exécutées par les malwares, l’obfuscation de ces actions peut rendre la tâche plus ardue.
Les malwares qui utilisent un document comme support et qui exploitent des scripts utilisent généralement des techniques visant à rendre le script inintelligible tant pour les analystes que pour les logiciels. Certes, un analyste repérerait immédiatement l’obfuscation et saurait qu’elle recèle probablement une activité malicieuse mais, de leur côté, les signatures sont générées à partir de la répétition, alors que l’obfuscation est normalement générée de manière programmatique afin de créer autant de variance que possible dans les échantillons.
Prenons l’exemple du chiffre de César, où chaque lettre est associée à un chiffre. En décalant ces chiffres, il est possible de créer 26 substitutions différentes à partir de l’alphabet. Dans l’obfuscation des malwares, il y a donc 26 signatures différentes à suivre pour le même extrait de code. Les schémas d’obfuscation réels ne sont pas nécessairement plus complexes que cet exemple, mais ils présentent une variance bien supérieure à 26. Ainsi, le nombre de versions d’un même code obfusqué est trop élevé pour qu’il soit possible de le repérer de manière réaliste à l’aide de simples signatures. Selon les techniques d’analyse statique employées, celles-ci peuvent également être contournées dans certains cas.
Packers
Forme d’obfuscation au niveau binaire, les packers étaient à l’origine conçus comme un moyen de compresser les fichiers exécutables pour en réduire le volume. Cette compression complique également l’ingénierie inverse du code, ce qui est utile à la fois aux éditeurs de logiciels légitimes pour protéger leurs données propriétaires, et aux auteurs de malwares pour rendre plus difficile la détection des malwares et de leurs actions.
Les données compressées sont extraites et exécutées par un chargeur intégré au packer. Du point de vue de la signature, le code qui effectue la décompression peut être détecté. Cependant, les packers étant également utilisés à des fins légitimes, ils peuvent parfois générer des faux positifs si les bibliothèques de packers sont systématiquement bloquées par les logiciels anti-malware.
Les auteurs de malwares peuvent également créer leurs propres packers pour éviter la détection par signature et compliquer la tâche des analystes de malwares. Par ailleurs, les malwares sont souvent compressés plusieurs fois à l’aide de différents packers, ce qui rend la détection du contenu brut du fichier encore plus difficile.
Chiffrement et chiffreurs
Tandis que les packers brouillent le code en le compressant, le chiffrement cache complètement le code au moyen de la cryptographie. Les malwares qui utilisent cette méthode sont souvent qualifiés de chiffreurs. Ces derniers résolvent et exécutent le code au moment de l’exécution, tout comme les packers. Toutefois, plutôt que de s’appuyer sur un chargeur pour décompresser le code, ils peuvent simplement utiliser un processus de déchiffrement. Les systèmes d’exploitation intègrent déjà des options à cet effet, ce qui évite d’utiliser le processus inclus dans le fichier lui-même.
Une bibliothèque de cryptographie peut malgré tout être incluse dans le fichier si l’auteur le souhaite, puisqu’il existe un certain nombre de bibliothèques open-source disponibles. Par ailleurs, bien que cela ne soit jamais recommandé dans le monde de la cryptographie, l’utilisation d’un code de déchiffrement personnalisé est également possible. Le chiffrement garantit que rien du code initial ne peut subsister dans le fichier binaire. À l’inverse, compte tenu du mode de fonctionnement de la compression, les packers peuvent présenter des instructions non obfusquées.
Détection du code malicieux
Bien que le masquage du code malicieux soit de loin la méthode d’évasion la plus simple utilisée par les malwares, celle-ci peut être très efficace contre les méthodes de détection par signature et par analyse statique. Elle peut également compliquer la tâche des analystes de malwares qui cherchent à identifier les actions des malwares afin d’améliorer leur détection.
En fin de compte, la détection des malwares repose sur la recherche d’indicateurs malicieux. Or, en l’absence d’analyse dynamique, ces indicateurs doivent se trouver au sein du binaire lui-même pour être détectés. Des systèmes d’analyse statique plus avancés peuvent prendre en compte les packers et les chiffreurs couramment utilisés par les malwares, mais cela ralentit le processus d’analyse et s’avère totalement inutile lorsque les malwares sont intégrés de manière personnalisée au code.
Vous pouvez lire le reste de la série Malwares 101 ici.

Rapport 2025 sur les ransomwares
Principales conclusions concernant l’expérience et l’impact des ransomwares sur les organisations du monde entier
S’abonner au blog de Barracuda.
Inscrivez-vous pour recevoir des informations sur les menaces, des commentaires sur le secteur et bien plus encore.

Sécurité des vulnérabilités gérée : correction plus rapide, risques réduits, conformité simplifiée
Découvrez à quel point il peut être facile de trouver les vulnérabilités que les cybercriminels cherchent à exploiter