Les logiciels malveillants constituent un défi constant. Et cela continue de proliférer parce que les mauvais acteurs savent que cela rapporte des dividendes constants. Pour comprendre le fonctionnement des logiciels malveillants et anticiper les menaces émergentes, les équipes de sécurité doivent effectuer une analyse des logiciels malveillants. L’analyse dynamique des logiciels malveillants est une technique clé.
Examinons ce qu’est l’analyse dynamique des logiciels malveillants et comment elle se compare à l’analyse statique des logiciels malveillants, ainsi que ses avantages et ses défis.
Qu’est-ce que l’analyse des logiciels malveillants ?
L’analyse des logiciels malveillants est le processus d’investigation d’un échantillon de logiciel malveillant pour comprendre sa fonction et concevoir des moyens de s’en défendre. En analysant les logiciels malveillants pour voir comment ils attaquent un système ou une application, les équipes de sécurité découvrent où se trouvent leurs vulnérabilités ou faiblesses potentielles. Comprendre le fonctionnement des logiciels malveillants permet aux équipes de sécurité de détecter ces faiblesses et de reconnaître plus rapidement une attaque en cours. L’analyse des logiciels malveillants facilite également la recherche des menaces et la réponse aux incidents.
Les chercheurs en sécurité effectuent des analyses de logiciels malveillants selon une approche statique, dynamique ou hybride des deux.
Types d’analyse des logiciels malveillants : statique ou dynamique
Les équipes de cybersécurité disposent de deux techniques principales pour examiner les logiciels malveillants :
- Analyse statique des logiciels malveillants. Cette technique analyse un fichier malveillant sans l’exécuter, mais collecte des informations à son sujet en examinant son code et ses bibliothèques. Le hachage et le fuzzing sont deux techniques d’analyse statique des logiciels malveillants.
- Analyse dynamique des logiciels malveillants. Cette technique utilise un environnement réel isolé pour exécuter le malware. Les équipes de sécurité peuvent analyser le malware en action pour observer ce qu’il fait.
L’analyse statique peut être plus rapide et plus efficace que l’analyse dynamique, car les équipes n’ont pas besoin d’exécuter le code pour déterminer s’il est malveillant. Les équipes peuvent également comparer les données collectées sur l’échantillon en question avec des échantillons sur des sites répertoriant les souches de logiciels malveillants connues, telles que VirusTotal, ce qui permet également une identification plus rapide.
Toutefois, la réalisation d’une analyse statique peut s’avérer difficile, en particulier sur certains échantillons de logiciels malveillants. Les logiciels malveillants plus sophistiqués sont conçus pour échapper aux défenses, telles que les outils de détection et de réponse des points finaux, et pour rendre aussi difficile que possible leur analyse par les chercheurs.
Face à cette difficulté, les équipes utilisent souvent une approche hybride, combinant analyse statique et dynamique pour parvenir à une compréhension plus précise du fonctionnement du malware et de ce pour quoi il est conçu.
Comment fonctionne l’analyse dynamique des malwares ?
Même si l’analyse statique fournit aux équipes de sécurité une partie de l’image d’un échantillon de malware, elles ont besoin d’une analyse dynamique des malwares pour vraiment comprendre leur fonctionnement.
Les équipes effectuent une analyse dynamique en exécutant l’échantillon dans un environnement sûr, tel qu’un bac à sable. En « faisant exploser » le malware dans l’environnement virtuel, les équipes peuvent observer les actions du malware, comme les processus qu’il tente d’exécuter et les connexions réseau qu’il tente de créer. Cette analyse permet de mieux comprendre le fonctionnement du logiciel malveillant et les fonctions qu’il exécute. En analysant le trafic réseau autour de l’échantillon, l’analyse dynamique des logiciels malveillants peut parfois aider les équipes à identifier les serveurs de commande et de contrôle.
Avantages de l’analyse dynamique des logiciels malveillants
L’analyse dynamique permet aux équipes d’observer des comportements qui pourraient ne pas être découverts grâce à l’analyse statique. Par exemple, si un échantillon de logiciel malveillant utilise l’obscurcissement ou le chiffrement du code, il peut ne pas être possible d’identifier avec précision le logiciel malveillant en analysant le code.
Une fois que le malware est déclenché grâce à une analyse dynamique, il lui est plus difficile de cacher son objectif et ses fonctions, ce qui permet aux équipes d’observer ce qui se passe. Le malware pourrait également se comporter différemment dans certains environnements, qui peuvent être testés à l’aide de bacs à sable configurés différemment.
Le logiciel malveillant peut également agir en plusieurs étapes : par exemple, s’il télécharge un deuxième échantillon de logiciel malveillant sur un point final. Les équipes n’observeraient pas ces étapes supplémentaires en utilisant uniquement une analyse statique.
Les défis de l’analyse dynamique des logiciels malveillants
L’analyse dynamique des logiciels malveillants prend plus de temps et de ressources que l’analyse statique. Cela peut également constituer une menace si l’environnement virtuel n’est pas complètement isolé des autres systèmes.
De plus, si l’exécution du malware aide les équipes à mieux comprendre un échantillon, elle peut également alerter les auteurs du malware lorsque leurs échantillons sont exécutés.
Les logiciels malveillants sophistiqués peuvent également parfois détecter lorsqu’ils sont exécutés dans un environnement virtuel isolé au lieu d’un environnement naturel. Pour ce faire, il observe les clés de registre, les processus ou même si la souris et le clavier sont activement utilisés. Certains logiciels malveillants capables d’identifier la différence peuvent également utiliser des techniques pour empêcher une analyse précise. Il est difficile de créer un bac à sable réaliste capable de tromper des logiciels malveillants sophistiqués, mais il n’est certainement pas sûr d’exécuter un échantillon de logiciel malveillant sur un système actif.
Rob Shapland est un hacker éthique spécialisé dans la sécurité du cloud, l’ingénierie sociale et la formation en cybersécurité aux entreprises du monde entier.