Les systèmes de détection d'intrusion reposent sur un ensemble de mécanismes et d'algorithmes permettant de détecter, de manière optimale, des intrusions ou menaces dans un réseau informatique. L'apprentissage automatique (incluant l'apprentissage supervisé, l'apprentissage non supervisé et l'apprentissage profond) peut être utilisé pour améliorer de manière significative la fiabilité de détection face à des menaces. L'objectif d'une implémentation avec apprentissage automatique est de pouvoir détecter des attaques ou menaces polymorphes et inconnues.

Contexte

Limites de la détection avec signatures Les systèmes de détection d'intrusion, et plus spécifiquement de détection d'intrusion au niveau réseau (en anglais Network Intrusion Detection System), ont pour responsabilité d'identifier des menaces ou intrusions sur un réseau informatique. Ceci peut être une tentative d'accès non autorisée, un accès ou une modification illégale de données ou encore la mise hors service d'un ou plusieurs composants informatiques. L'identification peut se faire en temps réel sur le réseau pour détecter les menaces immédiatement ou en analysant du trafic réseau capturé précédemment. Ces systèmes de détection pour le réseau peuvent être classifiés en deux catégories, répartis par méthode de détection. La première catégorie est le système de détection reposant sur une base de signatures mise régulièrement à jour. La seconde est le système de détection identifiant le trafic réseau anormal.

L'avantage d'un système de détection reposant sur des signatures est d'avoir un nombre de faux positifs relativement faible, car la base contenant les signatures de détection peut être adaptée facilement. Par contre, dû au grand nombre d'attaques réseau découvertes régulièrement, à la difficulté d'analyser rapidement ces attaques avant d'en générer des signatures de détection et aux multiples formes qu'une attaque peut avoir, il est extrêmement difficile de maintenir une base de signatures d'intrusion à jour. De plus, un système reposant sur des signatures d'intrusion ne peut que détecter les intrusions contenues dans sa base et laissera donc passer celles qu'il ne connaît pas (ou d'autres catégories de menace telles que les attaques par déni de service et les balayages de ports).

Améliorations avec l'apprentissage automatique Au vu de la difficulté à mettre en place un système reposant sur des signatures et le nombre grandissant d'attaques sur les réseaux, les systèmes de détection d'intrusion réseau, qui identifient les anomalies, ont fait l'objet de beaucoup de recherches scientifiques. Bien que des avancées importantes aient déjà été réalisées dans ce domaine, il y a encore beaucoup d'opportunités d'amélioration pour les systèmes de détection d'intrusion réseau. Plus particulièrement, des efforts à faire pour arriver à l'objectif ultime de tout système de détection déployé dans un environnement réel : réduire le nombre de faux positifs remontés tout en augmentant la précision et l’efficacité du modèle de détection.

Pour arriver à cet objectif, tout en ayant la capacité de détecter des attaques inconnues, les systèmes de détection d'intrusion réseau qui se basent sur les anomalies ont embarqué des mécanismes d'apprentissage automatique. Pour les systèmes basés sur de l'apprentissage supervisé, le principe général est de définir en premier lieu le comportement "normal" d'un réseau informatique avec un modèle formel. Lors de la phase de détection, toute activité réseau sera identifiée comme étant anormale si la déviation par rapport au modèle dépasse un certain seuil. Deux composants essentiels se retrouvent donc généralement dans les systèmes avec apprentissage automatique. Le premier est le composant de modélisation qui a pour objectif d’entraîner le système suffisamment pour obtenir un modèle de normalité réseau convenable. Le second est le composant de détection qui, sur la base du modèle formé par le composant de modélisation, pourra évaluer la déviance d'un évènement réseau (paquet entrant, par exemple) par rapport au modèle.

D'autres implémentations permettant de détecter des intrusions réseau sur la base d'anomalies ont été proposées en prenant l'approche de l'apprentissage non supervisé pour améliorer la fiabilité de détection face à de nouvelles menaces non répertoriées. Les propriétés intéressantes avec ce type d'apprentissage - pour de la détection d'intrusion - sont nombreuses. Tout d'abord, il y a la détection fiable de valeurs aberrantes qui sortent du flux de données cette caractéristique est fondamentale pour la détection d'anomalies sur un réseau. Ensuite, il y a la généralisation de certains liens entre les valeurs afin de pouvoir identifier les données qui se ressemblent. Ceci permet de mettre en place des systèmes de détection qui ont une détection pour les attaques polymorphiques (menaces qui exploitent de façon similaire une faille dans le système). Ou encore, il y a le peu d’interactions lors de la phase d'apprentissage, ce qui permet de manipuler d'énormes quantités de données réseau qui n'ont pas été labellisées auparavant comme étant normales ou anormales. Enfin, en cas de changement de topologie du réseau ou des services mis à disposition à l'intérieur du réseau, le mécanisme basé sur l'apprentissage non supervisé saura s'adapter graduellement, c'est l'adaptation au changement.

Méthodes d'apprentissage superficiel L'apprentissage superficiel regroupe toutes les techniques d'apprentissage automatique qui précèdent l'apprentissage profond, telles que les méthodes basées sur des machines à vecteurs de support ou des arbres de décision. Les différentes méthodes basées sur l'apprentissage superficiel peuvent être catégorisées en regroupant les algorithmes par similarité de fonctionnement. Cette approche permet de différencier la façon dont chaque "classe" de système de détection fonctionne, mais présente l'inconvénient que certains algorithmes ne peuvent pas être classés dans une catégorie spécifique.

Statistique En statistique, on définit une anomalie comme une observation qui est soupçonnée d'être partiellement ou totalement non pertinente. Pour la détection de ces anomalies, il existe deux types de techniques les techniques paramétriques elles supposent la connaissance de la distribution des données et estiment les paramètres à partir de celle-ci. Les secondes sont les techniques non-paramétriques elles ne supposent pas la connaissance de la distribution des données.

En détectant ces anomalies, les méthodes statistiques appliquent des tests sur les données d'un modèle statistique pour déterminer si un nouveau cas (non observé) existe. Les méthodes les plus récentes s'intéressent aux caractéristiques statistiques du trafic dans le but d'identifier l'application ciblée dans le réseau (un trafic lié à des activités HTTP ou DNS, par exemple). Ces méthodes partent du principe que le trafic sur la couche réseau a des propriétés statistiques, comme la distribution de la durée du flux, le temps d'attente du flux, le temps d'interception des paquets ou encore la longueur des paquets. Exemples N@G (Network at Guard) est un exemple d'IDS hybride qui utilise les approches de mauvaise usage et d'anomalie. Il dispose de quatre méthodes de détection, à savoir la collecte de données, la détection basée sur la signature, la violation de la politique d'accès au réseau et la détection des anomalies de protocole dans le cadre de son capteur de réseau. Il comprend des pistes d'audit, des analyses de journaux, des analyses statistiques et des politiques d'accès.

FSAS (Flow-based Statistical Aggregation Scheme) est un autre exemple d'IDS statistique basé sur les flux. Il comprend deux modules : un générateur de caractéristiques et un détecteur basé sur le flux. Dans le générateur de caractéristiques, le module de préprocesseur d'événements collecte le trafic réseau d'un hôte ou d'un réseau. Les gestionnaires d'événements génèrent des rapports pour le module de gestion de flux. Le module de gestion de flux détermine efficacement si un paquet fait partie d'un flux existant ou s'il doit générer une nouvelle clé de flux. En inspectant les clés de flux, ce module regroupe les flux et met à jour de façon dynamique les mesures de comptabilité par flux. Le module de temps d'événement appelle périodiquement le module d'extraction de caractéristiques pour convertir les statistiques concernant les flux dans le format requis par le modèle statistique. Le classificateur du réseau neuronal classe les vecteurs de score pour hiérarchiser les flux avec le degré de malveillance. Plus la malveillance d'un flux est élevée, plus la possibilité que le flux soit un attaquant est élevée.

Avantages et inconvénients Les approches statistiques présentent de nombreux avantages: elles ne nécessitent pas la connaissance préalable des activités normales. Elles ont la capacité d'apprendre le comportement attendu à partir des observations ; elles permettent d'obtenir une détection précise sur de longues périodes, à condition d'avoir correctement paramétré le seuil d'alerte ; elles analysent le trafic sur la base de la théorie "Detection of Abrupt Changes", c'est-à-dire qu'elles surveillent le réseau pendant de longues périodes et détectent les changements brutaux. Mais il existe également des inconvénients: il est possible qu'un attaquant entraîne le modèle de manière que le trafic généré par l'attaque soit considéré comme normal ; il est difficile de définir les valeurs des paramètres car il faut trouver le juste équilibre entre les faux positifs et les faux négatifs ; il faut attendre longtemps pour détecter les premières anomalies car la construction du modèle nécessite une longue période ; il est compliqué de choisir la meilleure statistique car plusieurs statistiques peuvent être utilisées pour détecter une anomalie.

Implémentations Le tableau ci-dessous propose une comparaison entre différentes implémentations de détection d'intrusion réseau qui fonctionnent avec des techniques statistiques. +Systèmes de détection d'intrusion réseau avec mécanisme statistiqueAuteur(s)Année de publicationArchitectureNature de la détectionAttaques traitéesMéthode de détectionEskin2000AutreNon temps réelU2RProbality ModelManikopoulos et Papavassiliou2002DistribuéeNon temps réelDDoS, R2LStatical model with neural networkMahoney et Chan2003CentraliséeNon temps réelAll attacksLERAD algorithmChan 2003CentraliséeNon temps réelAll attacksLearning RulesWang et Stolfo2004CentraliséeNon temps réelAll attacksPayload-based algorithmSong 2007CentraliséeNon temps réelIntrusive patternGaussian Mixture ModelChhabra 2008DistribuéeNon temps réelAnomalousFDR methodLu et Ghorbani2009CentraliséeNon temps réelAll attacksWavelet AnalysisWattenberg 2011CentraliséeNon temps réelDDoSGLRT ModelYu2012CentraliséeNon temps réelDDoSAdaptive CUSUM

Classification La classification a pour principe l'identification d'un ensemble à une catégorie à partir d'observations. Cela implique un apprentissage automatique à partir d'un ensemble d'exemples pré-classifiés (également appelés pré-étiquetés), à partir desquels il est possible de construire un ensemble de règles de classification pour classer des exemples non vus. La principale caractéristique de cette technique est donc le besoin de données étiquetées pour former le modèle, ce qui impose une exigence élevée au niveau des ressources. Les techniques de classification sont basées sur l'établissement d'un modèle explicite ou implicite qui permet la catégorisation des modèles de trafic réseau en plusieurs classes.

La classification est soit linéaire ; elle tente de trouver une ligne entre les classes, soit non linéaire.

Souvent l'application des principes d'apprentissage automatique pour la classification coïncide avec celle des techniques statistiques, même si la classification est axée sur la construction d'un modèle qui améliore ses performances sur la base des résultats antérieurs.