Afin de s'y retrouver dans la jungle des malwares et permettre de mieux les identifier, Intel et Microsoft ont adopté une approche commune basée sur le deep learning. Baptisé Stamina pour Static Malware-as-Image Network Analysis, ce projet a fait l'objet d'un papier de recherche rendant compte d'un angle d'approche innovant en la matière. A savoir automatiser la détection de logiciels malveillants en convertissant chacun de leur octet dans une valeur comprise entre 0 et 225 correspondant directement à une intensité d'un pixel de débouchant sur la création d'une image unique propre à chaque malware. Pour éviter de se retrouver avec une image trop volumineuse constituée de milliards de pixels, un travail de redimensionnement est effectué avant injection dans un réseau neuronal profond (DNN) permettant de scanner ces images et de les classifier en fonction de leur niveau de dangerosité.
« L'approche de détection classique des malwares implique l'extraction de ses signatures ou empreintes binaires. Cependant, la croissance exponentielle des signatures rend le travail de matching inefficace », explique Intel. « Les autres approches incluent l'analyse statique et dynamique qui ont chacune leurs avantages et inconvénients ». Par exemple, alors que l'analyse statique permet un bon désassemblage de code sa performance peut être entravée par de l'obfuscation, consistant à rendre un exécutable ou un code source illisible et difficile à comprendre par un être humain ou un décompilateur. De son côté l'analyse dynamique permet de bien découvrir le code mais peut s'avérer longue à effectuer.
Un niveau de précision de 99,07%
Avec Stamina, Intel et Microsoft pensent donc avoir trouvé une technique efficace pour détecter et classer les malwares. Pour ce projet, la firme de Redmond a fourni des échantillons de 2,2 millions de hash de fichiers exécutables remontés via des installations Windows Defender. 60% des samples de malware connus ont servi à entraîner l'algorithme original réseau neuronal profond, 20% pour valider le DNN et 20% pour le processus de test réel. D'après la recherche, Stamina a atteint un niveau de précision de 99,07% dans l'identification et la classification des échantillons de logiciels malveillants, avec un taux de faux positifs de 2,58%. A noter que le niveau de précision est meilleur avec des fichiers de petite taille que les plus grandes. « Pour les applications de plus grande taille, Stamina devient moins efficace en raison des limitations de conversion de milliards de pixels en images JPEG, puis de leur redimensionnement », a prévenu Microsoft.