L'analyse de malwares
Environnement d'analyse
Objectif
Pour analyser des malwares, nous avons besoin d'exécuter les echantillons suspects pour comprendre leur fonctionnement, lors de l'analyse dynamique.
Afin d'éviter de compromettre des systèmes en production, les analystes réalisent leurs études dans un environnement spécifique et isolé du réseau.
Pour cela il est possible d'utiliser une machine physique dédiée à l'analyse de malwares. Cette solution bien
qu'efficace, se révèle bien trop contraignante en terme de réutilisabilité.
En effet, il est nécessaire de réinstaller complètement la machine après chaque analyse avec des outils comme
Norton Ghost.
Pour éviter ces problèmes, les analystes utilisent principalement des environnements basés sur la
virtualisation.
La virtualisation va permettre de réaliser l'analyser dans un environnement cloisonné.
Cependant, il faut veiller à garantir une isolation parfaite pour éviter tout échange potentiel avec le système
hôte, pouvant se traduire par une infection.
Par ailleurs, certaines malwares sophistiqués sont capables de détecter une solution de virtualisation pour
modifier leur comportement ou cesser de s'exécuter pour empêcher toute analyse.
Sandbox
Dans le domaine de l'analyse de malwares, les sandbox sont des environnements clos et isolés ou sont exécutes
les
malwares.
Ce rapport fournit des informations sur l'échantillon relatant aussi bien de l'analyse statique que de l'analyse
dynamique (trafic réseau, processus
créé, base de registre ...).
Exemple de rapport d'analyse généré par cuckoo sandbox
De nombreuses solutions existent sur le marché dont cuckoo sandbox libre et utilisable en ligne ici.
Très simple à utiliser, cette solution s'avère utile pour avoir rapidement une première idée sur les
caractéristiques d'un fichier suspect.
Néanmoins, il nous est impossible d'agir sur le malware et l'analyse reste limitée aux informations contenues
dans le rapport.
Machine virtuelle
Les machines virtuelles sont très utilisées dans le domaine de l'analyse de malware. En effet, correctement configurées elles permettent d'assurer une grande isolation.
Structure d'une machine virtuelle
Comme le montre le schéma ci-dessus, une machine virtuelle va se lancer comme une application standard sur la
machine physique.
Elle agit comme un container hébergeant son propre système d'exploitation. Ainsi, toutes les applications
lancées dans la machine virtuelle n'interagissent seulement qu'avec le système invité.
En plus de la sécurité, ce procédé apporte une grande souplesse puisqu'il permet de lancer plusieurs machines
virtuelles sur une même machine physique. Dans le domaine de l'analyse nous pourrions lancer des analyses sur
plusieurs systèmes d'exploitation différents.
De plus les machines virtuelles offrent des fonctionnalités très intéressantes comme la possibilité de prendre
des snapshot. Ceci va permettre de sauvegarder l'état de la machine virtuelle à un instant t, pour la restaurer
par la suite. Ainsi, il va être très simple de restaurer l'environnement à la fin de chaque analyse.
De nombreuses solutions existent, aussi bien des propriétaires que des gratuites :
Avant de l'utiliser en tant qu'environnement d'analyse, la machine virtuelle doit être configurée pour garantir une isolation suffisante.
Tout d'abord, afin d'éviter toute prolifération sur le réseau, il est fortement conseillé de désactiver
l'accès réseau de la machine virtuelle.
Pour ce faire il est possible de configurer la carte réseau de la machine virtuel en mode host-only. De
cette manière, une interface virtuelle est créée sur la machine physique sur laquelle est reliée la carte
réseau de la machine virtuelle, comme le montre le schéma suivant :
Représentation du mode host-only adapter
Une autre solution est de créer un LAN virtuel avec plusieurs hôtes invités, représenté par le schéma ci-dessous :
Simulation d'un LAN virtuel
Ici, la machine physique exécute deux machines virtuelles. La première est dédiée à l'analyse et est connectée à la seconde machine qui se charge d'offrir des services (DNS, HTTP ...).
Comme toute application, une machine virtuelle peut contenir des vulnérabilités exploitables par les
malwares.
Il est donc primordial de maintenir sa solution de virtualisation à jour en appliquant les
derniers patchs.
Il est recommandé de ne pas installer des outils ou des services supplémentaires dans la machine virtuelle.
Par exemple, en utilisant VirtualBox, il ne faut pas installer les addons invité (guest additions). En
effet, ces différents outils peuvent nuire à l'isolation avec le système hôte en créant des interfaces
partagées.