Unsupervised machine learning for illegitimate traffic detection
Apprentissage automatique non supervisé pour la détection de trafics illégitimes
Résumé
Increasingly sophisticated, premeditated and targeted cyber-attacks such as Advanced Persistent Threats (APTs) can be perpetrated over long periods of time before being disclosed or discovered. To do this, attackers implement strategies to camouflage their malicious activities as long as possible, such as the implementation of communication channels between infected machines and a command and control (C&C) server in order to exfiltrate sensitive data or remotely control zombie machines. One of the techniques used is to encapsulate the C&C traffic in authorized network protocols (such as the Domain Name System (DNS) protocol, the Secure Hypertext Transfer Protocol (HTTPS), etc.) to bypass security control mechanisms. The detection of these malicious flows by traditional detection methods, such as Security Information and Event Management (SIEM) systems, is limited. The main obstacle is the large number of parameters to consider in manually defining reliable indicators. To address this challenge, we propose in this thesis an approach based on unsupervised machine learning and more specifically anomaly detection algorithms that we apply to the detection of DNS tunnels. The choice of an unsupervised learning algorithm is guided by the excessively high cost of obtaining a comprehensive learning dataset that would be labeled by security experts and which is essential for supervised learning algorithms. Then, the attacks we target aim to stay below detection thresholds. Therefore, malicious events or network flows will be rare. An initial study we conducted allowed us to highlight the DBSCAN (Density-Based Spatial Clustering of Applications with Noise) algorithm. However, DBSCAN requires experimentally finding the values of two hyperparameters. To automate the detection of DNS tunnels, we propose an improved algorithm called AutoRoC-DBSCAN which can automatically determine the values of these hyperparameters. We compared its performance with 5 other unsupervised learning algorithms (K-means, GMM, Isolation Forest, One-class SVM and LOF) on two different datasets. We created the first dataset that allows for the verification of DNS tunnel detection. The second dataset is CIRA-CIC-DoHBrw-2020 which is provided by the Canadian Institute for Cybersecurity project. The experiments validate the detection of DNS over HTTPS tunnels where malicious flows are doubly encapsulated by DNS then by HTTPS. The results obtained in our tests reinforce the interest in our approach.
Les cyber-attaques de plus en plus sophistiquées, préméditées et ciblées telles que les menaces persistantes avancées (APTs) peuvent être perpétrées sur des périodes de temps longues avant d'être divulguées ou découvertes. Pour cela, les attaquants mettent en œuvre des stratégies pour camoufler le plus longtemps possible leurs activités malveillantes comme la mise œuvre de canaux de communication entre des machines infectées et un serveur de commande et de contrôle (C&C) afin de pouvoir exfiltrer des données sensibles ou contrôler à distance des machines zombies. Une des techniques utilisées consiste à encapsuler le trafic C&C dans des protocoles réseau autorisés (comme le protocole du système de noms de domaine (DNS), le protocole de transfert hypertexte sécurisé (HTTPS), etc.) pour outrepasser les mécanismes de contrôle de sécurité. La détection de ces flux malicieux par les méthodes de détection traditionnelles, telles que les systèmes de gestion des événements et des informations de sécurité (SIEM), est limitée. Le trop grand nombre de paramètres à considérer pour définir manuellement des indicateurs fiables étant le principal frein. Pour répondre à ce défi, nous proposons dans cette thèse une approche basée sur l'apprentissage automatique non supervisé et plus particulièrement les algorithmes de détection d'anomalies que nous appliquons à la détection de tunnels DNS. Le choix d'un algorithme d'apprentissage non supervisé est guidé par le coût trop élevé pour obtenir un jeu de données d'apprentissage exhaustif qui serait labélisé par des experts sécurité et qui est indispensable aux algorithmes d'apprentissage supervisé. Ensuite, les attaques que nous ciblons ont pour objectif de rester sous les seuils de détection. Par conséquent, les événements ou flux réseau malicieux seront rares. Une première étude que nous avons menée nous a permis de mettre en avant l'algorithme DBSCAN (Density-Based Spatial Clustering of Applications with Noise). Cependant, DBSCAN exige de trouver expérimentalement les valeurs de deux hyper-paramètres. Afin d'automatiser la détection de tunnels DNS, nous proposons un algorithme amélioré appelé AutoRoC-DBSCAN qui peut déterminer automatiquement les valeurs de ces hyper-paramètres. Nous avons comparé ses performances avec 5 autres algorithmes d'apprentissage non supervisé (K-means, GMM, Isolation Forest, One-class SVM et LOF) sur deux jeux de données différents. Nous avons créé le premier jeu de données qui permet de vérifier la détection de tunnel DNS. Le deuxième jeu de données est CIRA-CIC-DoHBrw-2020 qui est fourni par le projet de l'Institut canadien pour la cybersécurité. Les expérimentations valident la détection de tunnels DNS over HTTPS où les flux malicieux sont doublement encapsulés par DNS puis par HTTPS. Les résultats obtenus lors de nos tests renforcent l'intérêt de notre approche.
Origine | Version validée par le jury (STAR) |
---|