Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2015

Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne

Behavior based malware classification using online machine learning

Abdurrahman Pektaş
  • Fonction : Auteur

Résumé

Recently, malware, short for malicious software has greatly evolved and became a major threat to the home users, enterprises, and even to the governments. Despite the extensive use and availability of various anti-malware tools such as anti-viruses, intrusion detection systems, firewalls etc., malware authors can readily evade these precautions by using obfuscation techniques. To mitigate this problem, malware researchers have proposed various data mining and machine learning approaches for detecting and classifying malware samples according to the their static or dynamic feature set. Although the proposed methods are effective over small sample set, the scalability of these methods for large data-set are in question.Moreover, it is well-known fact that the majority of the malware is the variant of the previously known samples. Consequently, the volume of new variant created far outpaces the current capacity of malware analysis. Thus developing malware classification to cope with increasing number of malware is essential for security community. The key challenge in identifying the family of malware is to achieve a balance between increasing number of samples and classification accuracy. To overcome this limitation, unlike existing classification schemes which apply machine learning algorithm to stored data, i.e., they are off-line, we proposed a new malware classification system employing online machine learning algorithms that can provide instantaneous update about the new malware sample by following its introduction to the classification scheme.To achieve our goal, firstly we developed a portable, scalable and transparent malware analysis system called VirMon for dynamic analysis of malware targeting Windows OS. VirMon collects the behavioral activities of analyzed samples in low kernel level through its developed mini-filter driver. Secondly we set up a cluster of five machines for our online learning framework module (i.e. Jubatus), which allows to handle large scale of data. This configuration allows each analysis machine to perform its tasks and delivers the obtained results to the cluster manager.Essentially, the proposed framework consists of three major stages. The first stage consists in extracting the behavior of the sample file under scrutiny and observing its interactions with the OS resources. At this stage, the sample file is run in a sandboxed environment. Our framework supports two sandbox environments: VirMon and Cuckoo. During the second stage, we apply feature extraction to the analysis report. The label of each sample is determined by using Virustotal, an online multiple anti-virus scanner framework consisting of 46 engines. Then at the final stage, the malware dataset is partitioned into training and testing sets. The training set is used to obtain a classification model and the testing set is used for evaluation purposes .To validate the effectiveness and scalability of our method, we have evaluated our method on 18,000 recent malicious files including viruses, trojans, backdoors, worms, etc., obtained from VirusShare, and our experimental results show that our method performs malware classification with 92% of accuracy.
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 %.
Fichier principal
Vignette du fichier
PEKTAS_2015_archivage.pdf (11.6 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01466764 , version 1 (13-02-2017)

Identifiants

  • HAL Id : tel-01466764 , version 1

Citer

Abdurrahman Pektaş. Classification des logiciels malveillants basée sur le comportement à l'aide de l'apprentissage automatique en ligne. Machine Learning [cs.LG]. Université Grenoble Alpes, 2015. English. ⟨NNT : 2015GREAM065⟩. ⟨tel-01466764⟩
1507 Consultations
1513 Téléchargements

Partager

Gmail Facebook X LinkedIn More