L'analyse de malware

Analyse dynamique

Méthode

A l'inverse de l'analyse statique, l'analyse dynamique vise à exécuter le malware pour étudier son comportement.
L'analyse dynamique va donc être réalisée dans un environnement sécurisé et isolé, majoritairement dans des solutions virtualisées. Voir le chapitre environnement d'analyse pour apprendre comment monter un tel environnement.
L'approche de cette analyse va donc être totalement différente de l'analyse statique, qui consistait à lancer des outils indépendamment des autres.

Le processus d'analyse peut être représenté comme ceci :


Méthodologie de l'analyse dynamique dans une machine virtuelle

1) Dans un premier temps une sauvegarde complète du système est réalisée avant toute autre manipulation. Dans une machine virtuelle, nous pouvons utiliser la fonctionnalité "snapshot" permettant de prendre très facilement des instantanés. Cette sauvegarde va permettre de restaurer à l'état initial l'état du système après l'analyse.

2) Ensuite, le malware est exécuté dans l'environnement.
Le système doit évidement être compatible avec le malware. Par exemple certains malware requiert une certaine version de Windows pour fonctionner, ou encore des librairies tierces.

3) Une sauvegarde est éventuellement récupérée après exécution du malware pour être en mesure de réitérer facilement l'analyse sans avoir besoin de refaire tout le processus.

4) Les données d'analyse sont récupérées sur les différents outils.

5) En fin d'analyse l'environnement est réinitialisé avec la sauvegarde initiale.

Il est primordial de respecter ce processus pour chaque analyse afin de garder un environnement sain et sécurisé.

Récupération de l'activité du malware

Comme vu précédemment, l'analyse dynamique va s'attacher à l'activité du malware en fonctionnement et ses actions sur le système. Pour ce faire trois points principaux sont intéressants à observer :

Le système de fichiers

L'une des premières choses à regarder lors de l'analyse dynamique est le système de fichier.
En effet, un malware est souvent amené à modifier certains fichiers. C'est le cas par exemple des stealers qui vont la plupart du temps faire une capture d'écran pour l'envoyer au C&C.

Pour analyser l'activité au niveau du système de fichiers, nous pouvons utiliser l'outil fournit par Microsoft par le biais des sysinternals : Process Monitor.
Très simple d'utilisation, cet outil permet de consulter en temps réel les modifications d'un processus sur un système de fichiers. Il est possible de voir les fichiers lus, créés et les tentatives d'accès refusés pour cause de droits insuffisants.


Process Monitor

La base de registre

Autre point essentiel à observer est l'activité du malware au sein de la base de registre. En effet, comme vu précédemment certains malwares l'utilisent pour se rendre persistant ou encore pour paramétrer le système.

De la même façon que pour le système de fichiers, nous pouvons utiliser Process Monitor.
Il va permettre de tracer l'activité au niveau de la base de registre d'un processus particulier.
Il est ainsi possible de voir les clés lues, crées, modifiés ou consulter.

Un autre outil est très utilisé dans le domaine de l'analyse de malware : RegShot.
Il permet de comparer deux états de la base de registre et récupérer leur différence.
Il est ainsi très facile de consulter les clés crées, modifiées ou supprimées dans la base.

Activité réseau

Autre point important à observer durant l'analyse dynamique, l'activité que génère un échantillon sur le réseau. En effet cela permet de détecter les C&C ou encore les méthodes de contamination.
Pour cela, nous pouvons utiliser des outils comme Wireshark qui permettent de capturer les paquets entrants et sortants.
Les possibilités offertes par ces logiciels permettent généralement de pouvoir consulter des informations détaillés sur le trafic.


Capture du traffic réseau avec WireShark

Débugage

Généralement l'analyse statique combinée à l'analyse dynamique permet d'avoir une vision global sur le fonctionnement du malware. Cependant, il est parfois nécessaire d'approfondir l'analyse avec des malwares sophistiqués utilisant des méthodes d'obfuscation.

Le débogeur va permettre de suivre l'exécution du code du malware pour tenter de comprendre au maximum son fonctionnement. En effet, un tel outil va permettre de placer des points d'arret sur l'exécution du malware, pour stopper son activité et consulter son état (variables utilisées, registres ...).
De nombreux débogueurs existent dont le célèbre outil OllyDbg disponible en version gratuite et offrant de nombreuses fonctionnalités.

Conclusion

En observant le comportement réel du malware, l'analyse dynamique permet de répondre aux limites de l'analyse statique.

Cependant ce type d'analyse n'est pas sans risque, puisque le malware est exécuté réellement.
C'est pourquoi il est important de disposer d'un environnement sécurisé et cloisonné pour éviter toute infection.

Par ailleurs, certains malwares sophistiqués comme pour l'analyse statique, sont capables de procéder à de l'obfuscation.
En effet, ils peuvent détecter la présence d'environnement virtualisé ou d'outils utilisés dans le cadre de l'analyse dynamique pour modifier leur comportement.