Utilisation des VM Exit par les malwares pour échapper à l’analyse en sandbox
Un environnement virtualisé a besoin d'utiliser les ressources physiques de notre machine pour fonctionner. Alors que l'accès à ces ressources physiques se fait d'habitude directement par la machine virtuelle, l'hyperviseur est contraint parfois à prendre la main sur la machine virtuelle, et ce en utilisant la fonction VM_exit. Cependant, cette caractéristique entraîne une latence lors de l'utilisation de certaines instructions. Les logiciels malveillants (malwares) peuvent alors utiliser cette particularité en mesurant ce délai pour détecter leur exécution dans une machine virtuelle. Dans cet article, nous expliquons la fonction VM_exit, son utilisation par les malwares et nous proposons un mécanisme de détection de cette dernière.