Réseau de neurones convolutif pour la classification du code assembleur de logiciels malveillants
Les méthodes traditionnelles basées sur les signatures commencent à se révéler insuffisantes pour faire face aux logiciels malveillants de nouvelle génération, qui utilisent des techniques sophistiquées d’obfuscation (polymorphisme et métamorphisme) afin d’éviter la détection. Récemment, des efforts de recherche ont été consacrés à la détection et à la classification des logiciels malveillants en appliquant des techniques d’apprentissage automatique. Malgré ces avancées, la plupart des approches actuelles reposent sur des architectures d’apprentissage superficiel et dépendent de l’extraction de caractéristiques manuelles. Dans cet article, à partir du code en langage assembleur extrait à partir de fichiers binaires désassemblés et encodé sous forme de vecteurs, nous proposons une architecture de réseau de neurones convolutifs capable d’apprendre un ensemble de motifs discriminants permettant de regrouper les fichiers malveillants selon leurs familles. Pour démontrer la pertinence de notre approche, nous avons évalué notre modèle sur les données fournies par Microsoft dans le cadre du BigData Innovators Gathering 2015 Anti-Malware Prediction Challenge. Les expérimentations montrent que la méthode atteint des résultats compétitifs sans nécessiter l’extraction manuelle de caractéristiques, tout en étant résistante aux techniques d’obfuscation les plus courantes.