Classification de logiciels malveillants à l’aide de l’entropie structurelle sur des réseaux de neurones convolutifs
Le nombre de programmes malveillants a augmenté tant en quantité qu’en sophistication. L’analyse de l’intention malveillante à partir de vastes volumes de données exige des ressources importantes, d’où la nécessité d’une catégorisation efficace des logiciels malveillants. Dans cet article, le contenu d’un programme malveillant est représenté sous la forme d’un flux d’entropie, chaque valeur correspondant à l’entropie d’un petit morceau de code situé à une position spécifique dans le fichier. Une transformée en ondelettes est ensuite appliquée à ce signal d’entropie afin de décrire les variations de l’énergie entropique. Inspirés par la similarité visuelle observée entre les flux d’entropie des logiciels malveillants appartenant à la même famille, nous proposons une approche de catégorisation des logiciels malveillants fondée sur l’apprentissage profond, indépendante du format de fichier. Notre méthode exploite le fait que la plupart des variantes sont générées à l’aide de techniques d’obfuscation communes, et que les algorithmes de compression et de chiffrement préservent certaines propriétés présentes dans le code d’origine. Cela permet de détecter des motifs discriminants partagés par presque toutes les variantes d’une même famille. Notre approche a été évaluée à l’aide des données fournies par Microsoft pour le défi de prédiction anti-malware organisé dans le cadre de l’événement BigData Innovators Gathering, et a obtenu des résultats prometteurs par rapport aux méthodes de pointe.