Thèse soutenue

Behavior based malware classification using online machine learning

FR  |  
EN
Auteur / Autrice : Abdurrahman Pektaş
Direction : Jean-Claude Fernandez
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 10/12/2015
Etablissement(s) : Université Grenoble Alpes (ComUE)
Ecole(s) doctorale(s) : École doctorale mathématiques, sciences et technologies de l'information, informatique (Grenoble ; 199.-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire Verimag (Grenoble)
Jury : Président / Présidente : Nicolas Halbwachs
Examinateurs / Examinatrices : Tankut Acarman, Sylvain Hallé
Rapporteurs / Rapporteuses : Bernard Levrat, Jean-Yves Marion

Mots clés

FR  |  
EN

Résumé

FR  |  
EN

Les malwares, autrement dit programmes malicieux ont grandement évolué ces derniers temps et sont devenus une menace majeure pour les utilisateurs grand public, les entreprises et même le gouvernement. Malgré la présence et l'utilisation intensive de divers outils anti-malwares comme les anti-virus, systèmes de détection d'intrusions, pare-feux etc ; les concepteurs de malwares peuvent significativement contourner ses protections en utilisant les techniques d'offuscation. Afin de limiter ces problèmes, les chercheurs spécialisés dans les malwares ont proposé différentes approches comme l'exploration des données (data mining) ou bien l'apprentissage automatique (machine learning) pour détecter et classifier les échantillons de malwares en fonction de leur propriétés statiques et dynamiques. De plus les méthodes proposées sont efficaces sur un petit ensemble de malwares, le passage à l'échelle de ses méthodes pour des grands ensembles est toujours en recherche et n'a pas été encore résolu.Il est évident aussi que la majorité des malwares sont une variante des précédentes versions. Par conséquent, le volume des nouvelles variantes créées dépasse grandement la capacité d'analyse actuelle. C'est pourquoi développer la classification des malwares est essentiel pour lutter contre cette augmentation pour la communauté informatique spécialisée en sécurité. Le challenge principal dans l'identification des familles de malware est de réussir à trouver un équilibre entre le nombre d'échantillons augmentant et la précision de la classification. Pour surmonter cette limitation, contrairement aux systèmes de classification existants qui appliquent des algorithmes d'apprentissage automatique pour sauvegarder les données ; ce sont des algorithmes hors-lignes ; nous proposons une nouvelle classification de malwares en ligne utilisant des algorithmes d'apprentissage automatique qui peuvent fournir une mise à jour instantanée d'un nouvel échantillon de malwares en suivant son introduction dans le système de classification.Pour atteindre notre objectif, premièrement nous avons développé une version portable, évolutive et transparente d'analyse de malware appelée VirMon pour analyse dynamique de malware visant les OS windows. VirMon collecte le comportement des échantillons analysés au niveau bas du noyau à travers son pilote mini-filtre développé spécifiquement. Deuxièmement, nous avons mis en place un cluster de 5 machines pour notre module d'apprentissage en ligne ( Jubatus);qui permet de traiter une quantité importante de données. Cette configuration permet à chaque machine d'exécuter ses tâches et de délivrer les résultats obtenus au gestionnaire du cluster.Notre outil proposé consiste essentiellement en trois niveaux majeures. Le premier niveau permet l'extraction des comportements des échantillons surveillés et observe leurs interactions avec les ressources de l'OS. Durant cette étape, le fichier exemple est exécuté dans un environnement « sandbox ». Notre outil supporte deux « sandbox »:VirMon et Cuckoo. Durant le second niveau, nous appliquons des fonctionnalités d'extraction aux rapports d'analyses. Le label de chaque échantillon est déterminé Virustotal, un outil regroupant plusieurs anti-virus permettant de scanner en ligne constitués de 46 moteurs de recherches. Enfin au troisième niveau, la base de données de malware est partitionnée en ensemble de test et d'apprentissage. L'ensemble d'apprentissage est utilisé pour obtenir un modèle de classification et l'ensemble de test est utilisé pour l'évaluation.Afin de valider l'efficacité et l'évolutivité de notre méthode, nous l'avons évalué en se basant sur une base de 18 000 fichiers malicieux récents incluant des virus, trojans, backdoors, vers etc, obtenue depuis VirusShare. Nos résultats expérimentaux montrent que permet la classification de malware avec une précision de 92 %.