Comment détecter et empêcher les attaquants d’utiliser ces différentes techniques
L’obfuscation est une technique importante pour protéger les logiciels, mais elle comporte également des risques, notamment lorsqu’elle est utilisée par des auteurs de logiciels malveillants. Dans cet article, nous examinons l’obfuscation, ses effets et les réponses à y apporter.
Qu’est-ce que l’obfuscation ?
L’obscurcissement est une technique qui consiste à rendre intentionnellement les informations difficiles à lire, notamment dans le codage informatique. Un cas d’utilisation important est l’obscurcissement des données, dans lequel les données sensibles sont rendues méconnaissables pour les protéger contre tout accès non autorisé. Diverses méthodes sont utilisées à cet effet.
Par exemple, seuls les quatre derniers chiffres d’un numéro de carte de crédit sont souvent affichés, tandis que les chiffres restants sont remplacés par des X ou des astérisques. En revanche, le cryptage consiste à convertir les données en un format illisible qui ne peut être décrypté qu’à l’aide d’une clé spéciale.
Obfuscation dans le code
Lorsque le code informatique est obscurci, un langage complexe et une logique redondante sont utilisés pour rendre le code difficile à comprendre. Le but ? Tromper à la fois les lecteurs humains et les programmes tels que les décompilateurs. Pour ce faire, des parties du code sont chiffrées, les métadonnées sont supprimées ou des noms significatifs sont remplacés par des noms dénués de sens. L’insertion de code inutilisé ou dénué de sens est également une pratique courante pour dissimuler le code réel.
Un soi-disant obfuscateur peut automatiser ces processus et modifier le code source afin qu’il fonctionne toujours mais soit plus difficile à comprendre.
D’autres méthodes d’obfuscation incluent la compression de l’ensemble du programme, rendant le code illisible et modifiant le flux de contrôle pour créer une logique non structurée et difficile à maintenir.
L’insertion de code factice qui n’affecte pas la logique ou le résultat du programme est également courante.
Plusieurs techniques sont souvent combinées pour obtenir un effet multicouche et augmenter la sécurité.
Le revers de la médaille
Malheureusement, l’obfuscation n’est pas seulement une protection, c’est aussi un défi. L’obfuscation n’est pas seulement utilisée par les développeurs de logiciels légitimes, mais aussi par les auteurs de logiciels malveillants. L’objectif de l’obfuscation est d’anonymiser les cyberattaquants, de réduire le risque de détection et de masquer les logiciels malveillants en modifiant la signature globale et l’empreinte digitale du code malveillant, même si la charge utile est une menace connue. La signature est un hachage, une représentation alphanumérique unique d’un élément malveillant. Les signatures sont très souvent hachées, mais elles peuvent également être une autre représentation courte d’un code unique au sein d’un élément malveillant.
Plutôt que de tenter de créer une nouvelle signature en modifiant le malware lui-même, l’obfuscation se concentre sur les mécanismes de déploiement pour tromper les solutions antivirus qui s’appuient sur les signatures. Comparez cela à l’utilisation de l’apprentissage automatique, de l’analyse prédictive et de l’intelligence artificielle pour améliorer les défenses.
L’obfuscation, ou le déguisement du code, peut être à la fois « bonne » et « mauvaise ». Dans le cas d’une « mauvaise » obfuscation, les pirates combinent diverses techniques pour masquer les logiciels malveillants et créer plusieurs couches de camouflage. L’une de ces techniques est celle des packers. Il s’agit de logiciels qui compressent les logiciels malveillants pour masquer leur présence et rendre le code d’origine illisible. Il existe également des cryptographes qui chiffrent les logiciels malveillants ou des parties de logiciels pour restreindre l’accès au code qui pourrait alerter les programmes antivirus.
Une autre méthode consiste à insérer du code mort. Cela consiste à insérer du code inutile dans le programme malveillant pour masquer l’apparence du programme. Les attaquants peuvent également utiliser la modification de commande, qui consiste à changer les codes de commande dans les programmes malveillants. Cela modifie l’apparence du code, mais pas son comportement.
L’obscurcissement du code n’est, comme nous l’avons vu, que la première étape, car quel que soit le travail que le pirate déploie pour obscurcir le code afin de contourner l’EDR, le malware doit communiquer au sein du réseau et avec le monde extérieur pour réussir. Cela signifie que la communication doit également être obscurcie. Contrairement au passé, où les réseaux étaient scannés rapidement et où l’on tentait immédiatement d’extraire des données de l’ordre du téraoctet, les attaquants communiquent aujourd’hui plus discrètement afin que les capteurs et les commutateurs des outils de surveillance ne se déclenchent pas.
L’objectif consistant à obtenir des adresses IP par scan, par exemple, est désormais poursuivi plus lentement pour rester sous le radar. La reconnaissance, par laquelle les acteurs malveillants tentent de collecter des données sur leurs victimes ciblées, par exemple via leur architecture réseau, devient également plus lente et plus obscure.
Une méthode d’obscurcissement courante est la méthode OU exclusif (XOR). Cette méthode masque les données de telle manière qu’elles ne peuvent être lues que par les personnes qui lient le code avec 0x55 XOR. ROT13 est une autre astuce dans laquelle les lettres sont remplacées par un code.
Explosions du passé :
- Un exemple bien connu d’obfuscation est l’attaque SolarWinds en 2020. Les pirates ont utilisé l’obfuscation pour contourner les défenses et masquer leurs attaques.
- PowerShell, un outil Microsoft Windows utilisé à mauvais escient par les pirates, est un autre exemple intéressant. Les logiciels malveillants qui utilisent PowerShell masquent leurs activités grâce à des techniques telles que le codage de chaînes, l’obscurcissement des commandes, l’exécution de code dynamique, etc.
- L’attaque XLS.HTML est un autre exemple. Les pirates ont utilisé des techniques d’obscurcissement élaborées pour dissimuler leurs activités malveillantes. Ils ont modifié leurs méthodes de chiffrement au moins dix fois en un an pour éviter d’être détectés. Leurs tactiques comprenaient le texte brut, le codage d’échappement, le codage Base64 et même le code Morse.
- Dans une autre menace, les attaquants ont exploité des vulnérabilités dans ThinkPHP pour exécuter du code à distance sur des serveurs. Ils ont installé un shell Web masqué appelé « Dama » qui permettait un accès permanent et de nouvelles attaques.
Pourquoi vous ne devriez pas vous fier uniquement aux signatures
La détection basée sur les signatures est comme un vieil ami : elle est fiable lorsqu’il s’agit de menaces connues. Mais lorsqu’il s’agit de menaces nouvelles et inconnues, elle peut parfois être dans l’ignorance. Voici quelques raisons pour lesquelles vous ne devriez pas vous fier uniquement aux signatures :
- Les auteurs de programmes malveillants sont de véritables maîtres dans l’art de cacher et de chercher. Ils utilisent diverses techniques pour dissimuler leurs programmes malveillants. Même de petites modifications du code peuvent entraîner l’échec de la détection des signatures.
- Dans le cas des malwares polymorphes, les malwares se comportent comme des caméléons. Ils modifient constamment leur structure pour éviter d’être détectés. Chaque fois qu’ils sont exécutés, le code a une apparence différente.
- Des signatures statiques ? Pas de chance ! Les malwares métamorphiques sont encore plus délicats. Ils s’adaptent pendant l’exécution et modifient leur code de manière dynamique, ce qui les rend presque impossibles à détecter avec des signatures statiques.
- De plus, les exploits zero-day se comportent comme les « nouveaux venus » : ils sont récents et inconnus, et les systèmes basés sur les signatures n’ont aucune chance de les reconnaître.
- De plus, lorsqu’une solution basée sur les signatures renvoie trop de faux positifs, elle devient inefficace. Trop de fausses alertes dans les activités quotidiennes affectent votre équipe de sécurité et gaspillent des ressources précieuses.
En bref, la détection de signature, par exemple dans un EDR, est un outil utile, mais elle ne suffit pas à elle seule à repousser toutes les menaces. Une stratégie de sécurité plus complète qui inclut également l’analyse comportementale, l’apprentissage automatique et d’autres techniques modernes est essentielle.
Pourquoi les outils NDR sont si importants
Les solutions IDS basées sur les anomalies sont comme des détectives qui surveillent le comportement normal d’un système et déclenchent l’alarme lorsqu’ils détectent une activité inhabituelle. Outils de détection et de réponse réseau (NDR) Ils vont même plus loin : ils s’adaptent en permanence pour garder une longueur d’avance sur l’évolution du paysage des cybermenaces et offrent un niveau de sécurité nettement supérieur aux approches traditionnelles basées sur les signatures grâce à leur analyse et leur intégration avancées. Ils sont capables de détecter et de se défendre contre les menaces connues et inconnues.
Voici comment ils le font :
- Analyse comportementale : Outils NDR Ils surveillent le trafic réseau et analysent les comportements. Ils détectent des schémas inhabituels qui pourraient indiquer une communication de commande et de contrôle (C&C), comme des transferts de données irréguliers.
- Surveillance du protocole : Ils examinent les requêtes HTTP, le trafic DNS et d’autres protocoles pour détecter tout comportement ou communication suspect pouvant être associé à des logiciels malveillants obscurcis.
- Analyse des métadonnées : Les outils NDR analysent les métadonnées pour détecter des modèles inhabituels indiquant une activité suspecte. Les modèles d’apprentissage automatique aident à identifier les techniques d’obscurcissement typiques qui sont visibles à travers un comportement suspect dans le trafic réseau.
- Suivi de la communication à long terme : L’obscurcissement des communications étant désormais crucial pour les pirates informatiques, qui adoptent des techniques plus lentes et plus furtives pour échapper à la détection et collecter des données à l’intérieur et à l’extérieur des réseaux, il est utile que NDR examine également des périodes de temps plus longues, par exemple 3 jours, en plus de sa capacité à effectuer des exécutions par lots, par exemple en quelques minutes, afin d’avoir des valeurs comparatives et de surveiller et détecter les irrégularités. De plus, les alertes en temps réel entraîneraient un grand nombre d’alertes si une analyse avec un ping est détectée toutes les minutes environ. Mais chaque ping est-il une attaque ? Certainement pas !
- Mitre ATT&CK et ZEEK:Ces protocoles fournissent des informations précieuses sur les menaces qui utilisent l’obfuscation. Leur intégration avec les outils NDR améliore considérablement les capacités de détection des menaces.
- Partage des données sur les menaces : Les outils NDR partagent les données sur les menaces avec d’autres solutions de sécurité. Cela permet une détection plus rapide des techniques d’obscurcissement connues et des comportements suspects. L’intégration avec les outils EDR leur permet de corréler les activités suspectes sur les terminaux avec le trafic réseau, ce qui améliore considérablement l’analyse de sécurité.
Pour en savoir plus sur pourquoi le NDR est un outil de sécurité crucial et comment il détecte même les menaces les plus avancées et les formes complexes d’obfuscation, Téléchargez notre livre blanc sur la détection des menaces persistantes avancées (APT).
Pour voir comment NDR agit dans votre réseau d’entreprise et précisément comment il détecte et répond aux APT, Regardez notre vidéo enregistrée sur la détection d’APT.





