Présentation : Florent MARCEAU
Peu importe le vecteur d’attaque (peut être classique, attaque via navigateur, injection de frame etc). Les malwares s’installent sur le poste cible, et provoquent un comportement (souvent furtif) inhabituel.
La problématique est la suivante : comment détecter ces comportements, sans avoir besoin de faire trop de reverse engineering.
D’autant plus difficile qu’il en existe de plus en plus, qui se cachent de mieux en mieux, avec code obfusqué et chiffrement de flux.
Le but du projet est de proposer une solution générique, automatisée, non intrusive, et qui fonctionne en un temps d’exécution viable.
La solution retenue a été une totale virtualisation, associée au data tainting (suivre des données marquées, peu importe le type : cpu, ram, disque, réseau)
En se plaçant entre le cpu et la ram, les mouvements marqués peuvent être plus facilement surveillés, et comme il ne s’agit pas de surveiller toutes les données, le temps d’exécution n’est pas impacté de manière majeure (mais impacté tout de même).
La démonstration est effectuée avec un malware bancaire Brésilien, qui contient sa propre machine virtuelle pour cacher son comportement illicite.
La solution a correctement, et en un temps acceptable, détecté les changements, et enregistré toutes les données, qu’il est possible de consulter (données réseau, données disque).
Encore assez théorique, cette méthode possède quelques inconvénients. En effet, la virtualisation complète du système est facilement détectable, mais malheureusement indispensable pour assurer qu’aucune interaction malicieuse ne soit effectuée sur le processus de détection d’outil malveillant.
Cela reste une très bonne approche pour analyser le comportement d’un logiciel douteux, ou analyser les effets d’un malware connu, afin de mettre en place des solutions de détection ou de désinfection.