Explainable IDS for DoS Attacks
Julien Gilbert · PolyPublie (École Polytechnique de Montréal) · 2020
L'internet des objets (Internet of Things, IoT) est un secteur d'activité en plein développement.Cette technologie va permettre de faire communiquer entre eux différents appareils qui pourront alors échanger un nombre important de données.Sécuriser les informations transmises est un requis important de l'IoT.Des mécanismes de sécurité utilisés dans les réseaux actuels peuvent être repris (chiffrement, authentification, etc).Néanmoins, l'augmentation de la surface d'attaque nécessite de développer de nouveaux outils afin d'améliorer la sécurité de ce type de réseau.Le mécanisme étudié dans cette étude est le système de détection d'intrusions (Intrusion Detection System, IDS).Les systèmes de détection d'intrusions analysent un ensemble de données afin de détecter de potentielles intrusions.Le développement de l'apprentissage automatique a permis d'augmenter les performances de ces algorithmes.Néanmoins, les algorithmes d'apprentissage automatique sont souvent très difficilement interprétables par un humain.Des méthodes, nommées Explainable Artificial Intelligence (XAI), ont été développées pour permettre une meilleure interprétation des résultats.La revue de littérature a montré que plusieurs méthodes pouvaient être utilisées afin de réaliser un système de détection.Les contraintes des objets connectés nous ont orientés vers une approche de détection d'anomalie à l'aide de l'analyse de paquets réseau.L'étude de la littérature a mis en avant l'algorithme Suport Vector Machine dans la détection des intrusions et la méthode Partial Dependence Plot (PDP) pour l'interprétation des résultats.Nous proposons une approche combinant ces deux algorithmes dans l'objectif d'obtenir un système de détection d'intrusions performant et ayant une meilleure interprétabilité.Le mécanisme obtenu a fait l'objet de 3 expériences: une analyse des erreurs de l'algorithme de détection à l'aide de la méthode PDP, une confrontation à un algorithme attaquant l'IDS et une implémentation dans un simulateur ad hoc.Pour la première étape, notre système a été testé sur le dataset NSL-KDD, qui est un dataset classiquement utilisé pour la détection d'anomalies dans le domaine de la cybersécurité.À la suite de cette expérience, nous avons découvert qu'une majorité des faux positifs étaient dus à une seule feature.Le système permet également de donner un niveau de confiance à l'utilisateur, car l'algorithme explicatif permet de savoir si une anomalie détectée est probablement un vrai positif, ou probablement un faux positif.Le même type d'information peut être montré à l'utilisateur dans le cas des vrais négatifs et des faux négatifs.Nous avons également souhaité confronter notre mécanisme de sécurité à une attaque adversarial.Le principe de ce type d'attaque est de modifier légèrement des attaques pour qu'elles soient détectées comme des données normales vi par l'algorithme de détection.Les attaques ont été créées en ajoutant du bruit dans les données normales.Une expérience a également été effectuée sur le simulateur de réseau de notre partenaire industriel.Cet outil permet de simuler un réseau ad hoc en prenant en compte les capacités de calculs et de mémoires de chaque noeud du réseau.Il offre également un déploiement rapide de différentes configurations du réseau.Grâce à cet outil, nous avons testé notre solution dans des configurations de réseaux différents.Cela a permis d'étudier le comportement de l'IDS avec un nombre différent de noeuds et d'attaquants.Dans ce contexte, des attaques de type Denial-of-service (DoS) ont été créées afin de mesurer les performances de détection.Les résultats ont montré que l'approche proposée fournit une capacité supplémentaire à l'utilisateur en ayant une meilleure compréhension des décisions de l'algorithme de détection.De plus, nous avons montré que ce mécanisme peut être utilisé dans différents cas d'étude.vii