Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR DETECTING ANOMALIES IN A TELECOMMUNICATIONS NETWORK
Document Type and Number:
WIPO Patent Application WO/2020/126994
Kind Code:
A1
Abstract:
Disclosed is a method for detecting anomalies in a telecommunications network, the method comprising the steps of: - Capturing (102) a network flow or a set of network frames transiting in the network, the network flow or the network frames complying with several computer protocols, - For each computer protocol, extracting (103), from the network flow or the network frames, a set of characteristics relating to the protocol, executing (1041,...104n) at least one separate anomaly detection engine in order to detect an anomaly from the set of characteristics, each anomaly detection engine being previously trained (101) with learning data, - Aggregating (105) the results produced by all the anomaly detection engines in order to produce an anomaly probability for the network flow or for each network frame.

Inventors:
LABONNE MAXIME (FR)
POLVE BAPTISTE (FR)
OLIVEREAU ALEXIS (FR)
Application Number:
PCT/EP2019/085276
Publication Date:
June 25, 2020
Filing Date:
December 16, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
COMMISSARIAT ENERGIE ATOMIQUE (FR)
International Classes:
G06F21/55; H04L29/06
Domestic Patent References:
WO2013015691A12013-01-31
Foreign References:
EP3382989A12018-10-03
US20070192863A12007-08-16
Attorney, Agent or Firm:
MARKS & CLERK FRANCE et al. (FR)
Download PDF:
Claims:
Revendications

[Revendication 1 ] Procédé de détection d’anomalie dans un réseau de télécommunications, le procédé comprenant les étapes de :

- Capturer (102) un flux réseau ou un ensemble de trames réseau transitant dans ledit réseau, le flux réseau ou les trames réseau respectant plusieurs protocoles informatiques,

- Pour chaque protocole informatique, extraire (103) du flux réseau ou des trames réseau, un ensemble de caractéristiques relatives audit protocole, exécuter (104-i,...104n) au moins un moteur de détection d’anomalie distinct pour détecter une anomalie à partir dudit ensemble de caractéristiques, chaque moteur de détection d’anomalie étant, au préalable, entraîné (101 ) sur des données d’apprentissage,

-Agréger (105) les résultats produits par tous les moteurs de détection d’anomalie afin de produire une probabilité d’anomalie pour le flux réseau ou pour chaque trame réseau.

[Revendication 2] Procédé de détection d’anomalie selon la revendication 1 dans lequel chaque moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels.

[Revendication 3] Procédé de détection d’anomalie selon la revendication 2 dans lequel au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels classifieur, configuré pour classer les caractéristiques relatives à un protocole selon qu’elles correspondent à une anomalie ou à une trame réseau légitime.

[Revendication 4] Procédé de détection d’anomalie selon la revendication 2 dans lequel au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels prédicteur, configuré pour prédire les caractéristiques relatives à un protocole correspondant à une trame réseau, à partir des mêmes caractéristiques pour une pluralité de trames réseau antérieures, et à comparer les caractéristiques prédites avec les mêmes caractéristiques pour la trame réseau reçue.

[Revendication 5] Procédé de détection d’anomalie selon la revendication 2 dans lequel au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels reconstructeur, configuré pour compresser puis reconstruire les caractéristiques qu’il reçoit en entrée.

[Revendication 6] Procédé de détection d’anomalie selon l’une des revendications précédentes dans lequel chaque moteur de détection d’anomalie produit une probabilité d’anomalie associée à un protocole d’une trame réseau ou d’un flux réseau.

[Revendication 7] Procédé de détection d’anomalie selon l’une des revendications précédentes dans lequel l’étape de normalisation (105) comprend le calcul d’une moyenne pondérée des sorties de chaque moteur de détection d’anomalie pour produire une probabilité d’anomalie associée à une trame réseau ou à un flux réseau.

[Revendication 8] Procédé de détection d’anomalie selon la revendication 7 dans lequel l’étape de normalisation (105) comprend la pondération de la probabilité d’anomalie associée à une trame réseau à partir des probabilités d’anomalie associées à au moins une autre trame réseau appartenant à un même flux de communications.

[Revendication 9] Procédé de détection d’anomalie selon l’une des revendications précédentes comprenant une étape d’entrainement périodique de chaque moteur de détection.

[Revendication 10] Système (300) de détection d’anomalie dans un réseau de télécommunications comprenant au moins une sonde (305) apte à acquérir un flux réseau ou un ensemble de trames réseau transitant dans ledit réseau et au moins un dispositif (306) de détection d’anomalie configuré pour mettre en oeuvre les étapes du procédé de détection d’anomalie selon l’une des revendications précédentes, à partir du flux réseau ou de l’ensemble de trames réseau. I

Description:
Description

Titre de l'invention : Procédé et système de détection d’anomalie dans un réseau de télécommunications

[1 ] I L’invention concerne le domaine des systèmes de détection d’intrusion ou systèmes IDS (« Intrusion DetectionSystems ») qui ont pour fonction la détection d’intrusion ou plus généralement d’anomalie dans un réseau de télécommunications à surveiller.

[2] Les systèmes de détection d’intrusion (IDS) ont pour objectif d’agir en complément de mécanismes de sécurité préventifs de type cryptographique ou contrôle d’accès. Il existe principalement deux types de systèmes IDS. Un premier type de système IDS est un système de détection d’intrusion sur hôte encore appelé « Host Intrusion Détection System (H IDS) » en anglais. Ilpermet de surveiller une machine (par exemple, en observant les différentes opérations conduites par l’utilisateur sur cette machine). Un second type de système IDS est un système de détection d’intrusion sur réseau, encore appelé« Network Intrusion Détection System (NIDS) » en anglais. Ilpermet la surveillanced’un réseau de communications afin d’y déceler d’éventuelles attaques.

[3] Les systèmes IDS peuvent également être catégorisés selon la méthode de détection d’attaque qu’ils mettent en oeuvre. Deux types de méthodes de détection d’intrusion existent principalement, les méthodes de détection d’intrusion par signatures ou par anomalies.

[4] La détection par signatures repose sur une base de signatures d’attaques. Les différents éléments observés par le système IDS (par exemple, des flux réseau dans le cas d’un système de détection d’intrusion sur réseau) sont comparés aux différentes entrées de cette base. Une correspondance signifie que le système sous surveillance est la cible de l’attaque dont la signature a correspondu à l’observation.

[5] Les systèmes de détection par anomalies reposent quant à eux sur la détection d’une opération anormale, par rapport aux observations antérieures, dans l’élément observé. Ces systèmes présentent l’avantage de permettre la détectiond’attaques inconnues, jamais observées auparavant et pour lesquelles des signatures n’ont pas encore pu être constituées. Ils sont cependant également caractérisés par des taux de faux positifs élevés. On parle de faux positif quand un événement qui n’est pas une intrusion est identifié comme étant une anomalie. Ce cas arrive, par exemple, lors d’une défaillance du réseau qui provoque un phénomène anormal qui peut être détecté comme étant une intrusion.

[6] Un objectif de l’invention est de proposer un procédé et un système de détection d’anomalies qui offre des performances de détection améliorées, par rapport aux méthodes connues. En particulier, l’invention vise à tendre vers un taux de détection d’attaques maximal et un taux de faux positifs minimal. Un autre objectif de l’invention est de concevoir un système capable de s’adapter à des architectures fortement contraintes et également d’être déployé sur des réseaux à hauts débits.

[7] Différentes solutions connues permettent de réaliser une détection d’intrusion par anomalies, dans un réseau de télécommunication.

[8] Le document « Research on Distributed Intrusion Détection System Based on Protocol Analysis, Qu et al » présente un concept d’analyse distribuée des paramètres des protocoles contenus dans les paquets du trafic surveillé, pour être ensuite utilisée par un module de détection d’intrusion. La capture des données, l’analyse des protocoles et la détection d’intrusion sont réalisés en série au sein d’un même équipement. La solution proposée est une solution distribuéequi permet de répondre à des problématiques de complexité. Plusieurs équipements de détectionfonctionnent en parallèle pour satisfaire des contraintes de scalabilité. La centralisation de ces trois équipements dans une même entité rend l’architecture de la solution rigide. De plus, la détection est réalisée par signatures, ce qui présente l’inconvénient de ne pas permettre la détection de nouvelles attaques.

[9] Le document « Design and Implement of Linux Intrusion Détection System Based on Network Protocol Analysis, Liu » propose une solution similaire au document précédent, en ajoutant un module de stockage entre les modules d’analyse des protocoles et de détection d’intrusion. Le module de stockage sauvegarde à la fois le paquet brut et sa version pré-traitée. Il permet à un utilisateur expert de détecter une intrusion qui n’aurait pas été reconnue par le module de détection. L’objectif principal de ce système est de générer des signatures à partir d’attaques inconnues dans sa base de données. Son module de détection est hybride, utilisant à la fois des signatures, des anomalies, ainsi que des experts de manière optionnelle. Les différents protocoles sont traités de manière séquentielle, sans spécialisation de la détection par protocole.

[10] Le document « Towards Intelligent Cross Protocol Intrusion Détection in the NextGeneration Networks based on Protocol AnomalyDetection, Barry et Chan «décrit une solution d’analyse des en-têtes des protocoles des paquets reçus avec un module de détection par protocole. La détection est réalisée par des règles de logique floue (« fuzzylogic « en anglais). Un module horizontal contrôle la session en cours entre différents protocoles de la même couche, et un module vertical surveille la session entre les protocoles de différentes couches. Les sorties de tous ces modules sont agrégées au sein d’un système de prise de décision, lui aussi régi par des règles de logique floue. Un inconvénient de cette solution réside dans la création, par des opérateurs humains, de règles de logique floue. Ces règles sont définies de manière statique, et peuvent être assimilables à des signatures. Il y a donc un besoin permanent d’opérateurs humains pour créer de nouvelles règles qui correspondent aux nouvelles attaques. Ce système n’est donc pas capable de détecter des attaques dont il ne possède pas les règles.

[1 1 ] Au vu des limitations des solutions de l’art antérieur, il existe un besoin pour un système de détection d’intrusion par anomalies qui soit flexible et automatisé et qui permette d’améliorer les performances de détection en termes de faux négatifs ou faux positifs.

[12] L’invention propose une solution de détection d’intrusion par anomalies basée sur l’emploi de moteurs de détection d’anomalie qui sont réalisés au moyen de réseaux de neurones artificiels. Un moteur de détection par protocole est implémenté et un traitement de normalisation global permet d’agréger les résultats obtenus pour l’ensemble des protocoles afin d’en déduire une probabilité de détection par trame. [13] L’invention a pour objet un procédé de détection d’anomalie dans un réseau de télécommunications, le procédé comprenant les étapes de : capturer un flux réseau ou un ensemble de trames réseau transitant dans ledit réseau, le flux réseau ou les trames réseau respectant plusieurs protocoles informatiques,

-pour chaque protocole informatique, extraire du flux réseau ou des trames réseau, un ensemble de caractéristiques relatives audit protocole, exécuter au moins un moteur de détection d’anomalie distinct pour détecter une anomalie à partir dudit ensemble de caractéristiques, chaque moteur de détection d’anomalie étant, au préalable, entraîné sur des données d’apprentissage, - agréger les résultats produits par tous les moteurs de détection d’anomalie afin de produire une probabilité d’anomalie pour le flux réseau ou pour chaque trame réseau.

[14] Selon un aspect particulier de l’invention, chaque moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels.

[15] Selon un aspect particulier de l’invention, au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels classifieur, configuré pour classer les caractéristiques relatives à un protocole selon qu’elles correspondent à une anomalie ou à une trame réseau légitime.

[16] Selon un aspect particulier de l’invention, au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels prédicteur, configuré pour prédire les caractéristiques relatives à un protocole correspondant à une trame réseau, à partir des mêmes caractéristiques pour une pluralité de trames réseau antérieures, et à comparer les caractéristiques prédites avec les mêmes caractéristiques pour la trame réseau reçue.

[17] Selon un aspect particulier de l’invention, au moins un moteur de détection d’anomalie est mis en oeuvre au moyen d’un réseau de neurones artificiels reconstructeur, configuré pour compresser puis reconstruire les caractéristiques qu’il reçoit en entrée.

[18] Selon un aspect particulier de l’invention, chaque moteur de détection d’anomalie produit une probabilité d’anomalie associée à un protocole d’une trame réseau ou d’un flux réseau. [19] Selon un aspect particulier de l’invention, l’étape de normalisation comprend le calcul d’une moyenne pondérée des sorties de chaque moteur de détection d’anomalie pour produire une probabilité d’anomalie associée à une trame réseau ou à un flux réseau.

[20] Selon un aspect particulier de l’invention, l’étape de normalisation comprend la pondération de la probabilité d’anomalie associée à une trame réseau à partir des probabilités d’anomalie associées à au moins une autre trame réseau appartenant à un même flux de communications.

[21 ] Dans une variante de réalisation, le procédé selon l’invention comprend une étape d’entrainement périodique de chaque moteur de détection.

[22] L’invention a aussi pour objet un système de détection d’anomalie dans un réseau de télécommunications comprenant au moins une sonde apte à acquérir un flux réseau ou un ensemble de trames réseau transitant dans ledit réseau et au moins un dispositif de détection d’anomalie configuré pour mettre en oeuvre les étapes du procédé de détection d’anomalie selon l’invention, à partir du flux réseau ou de l’ensemble de trames réseau.

[23] Les dessins annexés illustrent l’invention :

[24] [Fig.1 ]La figure 1 représente un organigramme détaillant les étapes de mise en oeuvre d’un procédé de détection d’anomalie dans un réseau de télécommunications selon un mode de réalisation de l’invention,

[25] [Fig.2] La figure 2 représente un organigramme détaillant les étapes de mise en oeuvre de l’entrainement d’un moteur de détection d’anomalie,

[26] [Fig.3] La figure 3 représente un schéma d’un système de détection d’anomalie dans un réseau de télécommunications, selon un mode de réalisation de l’invention.

[27] La figure 1 représente un organigramme des étapes de mise en oeuvre d’un procédé de détection d’anomalie dans un réseau de télécommunications, selon un mode de réalisation de l’invention.

[28] Le procédé décrit à la figure 1 comporte une étape 101 préalable d’entrainement d’un moteur de détection d’anomalie. Cette étape 101 est détaillée à la figure 2. Le moteur de détection d’anomalie est, par exemple, mis en œuvre au moyen d’un réseau de neurones artificiels. Plus généralement, il peut s’agir de tout type d’algorithme d’apprentissage automatique (ou « machine learning » en anglais). Un réseau de neurones artificiels a pour fonction d’apprendre à résoudre un problème donné à partir d’une phase d’apprentissage pendant laquelle il est entraîné sur des données d’entrainement connues et maîtrisées. Dans le cadre de l’invention, un réseau de neurones artificiels est utilisé comme moteur de détection d’anomalie pour apprendre à reconnaître des trames réseau qui correspondent à une anomalie. Le terme « anomalie » est utilisé ici pour désigner tout comportement qui dévie par rapport à un comportement nominal que le réseau de neurones a été entraîné à reconnaître pendant une phase d’apprentissage. Une anomalie peut ainsi consister en une intrusion d’une personne non autorisée dans le réseau, une attaque ou encore une défaillance.

[29] Comme indiqué sur la figure 2, l’étape 101 d’entrainement d’un moteur de détection d’anomalie comprend principalement trois sous-étapes 201 ,202,203. Dans une première sous-étape 201 , des données d’entrainement sont acquises dans le but de réaliser l’apprentissage du réseau de neurones. Ces données d’entrainement correspondent à des flux réseau ou des ensembles de trames réseau associés à des flux de communications ou des connexions réseaux et dont on maîtrise la nature. Ces données d’entrainement comprennent d’une part des trames réseau correspondant à un comportement nominal du réseau et aussi des trames réseau correspondant à des anomalies, par exemple des trames extraites de flux réseau associés à des attaques ou à des intrusions. De façon générale, l’invention s’applique soit à des flux ou connexions réseaux pour lesquels des caractéristiques pertinentes peuvent être fournies directement par une sonde ou un analyseur réseau, soit à des trames réseaux qui composent ces flux.

[30] A partir de ces données d’entrainement, on extrait 202 des caractéristiques pertinentes relatives à différents protocoles. Par exemple, si la trame réseau est une trame IP, la sous-étape 202 consiste à extraire de la trame IP les différents protocoles réseau, protocoles de transport, d’accès ou encore de couche physique. L’extraction de protocoles réseau correspond, par exemple, à une décomposition de la trame IP en différents champs, chaque champ correspondant à un protocole différent. A chaque protocole est associé un moteur de détection d’anomalie différent et donc un réseau de neurones différent. Pour chaque protocole, on extrait des champs associés, un ensemble de caractéristiques pertinentes. Par exemple, ces caractéristiques sont des valeurs de certains champs d’entête. Les caractéristiques du protocole sont ensuite produites en entrée d’un réseau de neurones 203 lors d’une phase d’entrainement ou d’apprentissage de ce réseau. Pour le cas du protocole IP, les caractéristiques pertinentes extraites d’une trame sont, par exemple, prises parmi la liste suivante : la version du protocole (4 ou 6), la longueur de l’en-tête IP, le type de service, la longueur totale du paquet ou datagramme, le numéro d’identification, les indicateurs ou flags, le fragment offset, la durée de vie, le numéro du protocole, le champ somme de contrôle (checksum en anglais), les adresses IP source et destination ou encore d’autres options du protocole qui peuvent être extraites de l’entête IP.

[31 ] Par ailleurs, les caractéristiques pertinentes peuvent aussi être déterminées à partir d’informations prélevées dans la trame. Ces caractéristiques concernent, par exemple, des informations d’horodatage ou de temps entre deux trames consécutives.

[32] Plus généralement, d’autres caractéristiques peuvent également être obtenues à partir de l’analyse d’un flux ou d’une connexion, sans nécessité d’analyser chaque trame réseau. En effet, un analyseur ou une sonde réseau présente en général cette capacité d’analyse et de restitution de caractéristiques associées à un flux ou une connexion. Les caractéristiques pertinentes associées à un flux ou une connexion réseau sont, par exemple, des caractéristiques de type indicateurs ou « flags » en anglais, pris parmi la liste suivante : ECN/NS, CW R, ECE,URG, ACK, PSH, RST, SYN, FIN.

[33] Des caractéristiques statistiques peuvent également être considérées, par exemple des statistiques relatives à la distribution de certains paramètres d’un flux comme la longueur des paquets, la durée d’un flux, le nombre de paquets dans un flux, la durée entre deux paquets, le nombre d’occurrences d’un indicateur (flag) dans une trame d’un flux, la taille d’un entête, le nombre de paquets par seconde, cette liste n’étant pas exhaustive. Des opérations statistiques peuvent être appliquées à chacune de ces caractéristiques, par exemple la moyenne, médiane, minimum, maximum ou encore la déviation standard.

[34] A titre d’exemple, le document suivant donne une liste d’exemples de caractéristiques statistiques associées à un flux ou une connexion: ArashHabibiLashkari, Gérard Draper-Gil, MohammadISaifuI Islam Mamun and Ali A. Ghorbani, "Characterization of Tor TrafficUsing Time BasedFeatures", In the proceedings of the 3rd International Conférence on Information System Security and Privacy, SCITEPRESS, Porto, Portugal, 2017.

[35] Dans la suite de la description, on considère que l’invention est applicable à partir de toute caractéristique pertinente extraite d’une trame réseau ou associée à un flux ou à une connexion réseau.

[36] Différents types de réseaux de neurones sont possibles pour réaliser un moteur de détection d’anomalie pour un protocole. Un premier type de réseau de neurone est un réseau classifieur. Un tel réseau a pour fonction de classer les données qu’il reçoit selon qu’elles correspondent à des flux licites ou à des flux anormaux. Pour cela le réseau de neurones comprend, par exemple, un nombre de neurones d’entrée égal au nombre de caractéristiques extraites du protocole et deux neurones de sortie correspondant respectivement à l’état « licite » ou à l’état « anormal ». Il comprend par ailleurs plusieurs couches de neurones intermédiaires. Le réseau de neurones est entraîné sur un ensemble de données d’entrainement. Au cours de cet entrainement, les poids synaptiques du réseau de neurones sont mis à jour grâce à un algorithme de rétro-propagation d’erreurs qui est classiquement utilisé pour rétro-propager, depuis la couche de sortie vers la couche d’entrée, les erreurs calculées entre les états obtenus sur les neurones de la couche de sortie et lesétats attendus compte tenu de la nature des données d’entrainement. Par exemple, lorsqu’on produit en entrée du réseau classifieur des données correspondant à des flux « licites », on attend que la sortie du réseau soit activée sur l’état « licite » et inversement. L’apprentissage d’un réseau de neurones classifieur tel qu’explicité ci-dessus permet de concevoir un moteur de détection d’anomalie pour chaque protocole extrait d’une trame. En effet, une fois le réseau de neurones entraîné, il est capable de classifier les trames reçues selon qu’elles sont licites ou anormales. [37] Un deuxième type de réseau de neurones artificiels qui peut être utilisé dans le cadre de l’invention est un réseau prédicteur. Lors de son apprentissage, le réseau de neurones prédicteur reçoit en entrée des données d’entrainement sous la forme de caractéristiques d’un protocole pour plusieurs trames successives d’un même flux. Autrement dit, les données d’entrainement correspondent à des trames réseau successivement capturées au cours du temps. Le réseau de neurones prédicteur est entraîné pour prédire les caractéristiques d’un protocole pour la trame réseau qui suit temporellement les trames réseau des données d’entrainement. Autrement dit, à partir de données d’entrainement relatives à des trames capturées aux instants t à t+k, le réseau prédicteur doit prédire les caractéristiques de la trame capturée à l’instant t+k+1.

[38] Le réseau prédicteur comprend un nombre de neurones d’entrée égal au nombre de trames antérieures exploitées pour l’apprentissage multiplié par le nombre de caractéristiques associées à la trame et une couche de sortie comprenant un nombre de neurones égal au nombre de caractéristiques associées à la trame prédite. L’apprentissage du réseau prédicteur se fait de façon similaireà celui du réseau classifieur. Les données d’entrainement sont propagées depuis la couche d’entrée du réseau jusqu’à la couche de sortie. Ensuite, une erreur ou distance est calculée entre le résultat obtenu en sortie et le résultat attendu. Autrement dit, il s’agit de déterminer une erreur entre les caractéristiques prédites par le réseau et les caractéristiques extraites de la trame capturée à l’instant t+k+1. Cette erreur est ensuite rétro-propagée vers la couche d’entrée du réseau pour mettre à jour les poids synaptiques du réseau.

[39] A l’issue de la phase d’entrainement ou d’apprentissage, le réseau prédicteur est entraîné pour prédire les caractéristiques d’une trame à partir des mêmes caractéristiques de trames précédentes. En comparant les caractéristiques prédites à celles réellement reçues, une anomalie est détectée lorsque la divergence entre la prédiction et la réalité est trop grande. Ainsi, le réseau de neurones prédicteur entraîné au moyen du procédé décrit à la figure 2 permet de détecter une trame reçue comme étant anormale si elle diffère d’un écart significatif de la prédiction réalisée par le réseau pour cette trame.

[40] Un troisième type de réseau de neurones artificiels qui peut être utilisé dans le cadre de l’invention est un réseau reconstructeur. Un tel réseau a pour fonction d’apprendre à compresser les données d’entrée puis à la décompresser pour reconstruire en sortie la même donnée qu’en entrée. Lors de son apprentissage, le réseau reconstructeur reçoit des données d’entrainement similaires à celles du réseau classifieur, autrement dit des caractéristiques relatives à un même protocole et extraites de plusieurs trames réseau. Seules des trames correspondant à des flux légitimes sont utilisées comme données d’entrainement. Une fois entraîné, le réseau de neurones reconstructeur permet de détecter une trame reçue comme étant anormale s’il n’arrive pas à la reconstruire, autrement dit si la sortie du réseau diffère de son entrée d’un écart significatif. Un réseau reconstructeur comprend généralement un sous-réseau codeur connecté en série avec un sous-réseau décodeur. La couche de sortie du sous-réseau codeur comprend un nombre de neurones inférieur à la couche d’entrée du sous-réseau codeur. La couche de sortie du sous-réseau codeur correspond à la couche d’entrée du sous-réseau décodeur. La couche de sortie du sous-réseau décodeur comprend un nombre de neurones égal au nombre de neurones de la couche d’entrée du sous-réseau codeur.

[41 ] De façon générale, le réseau de neurones utilisé comme moteur de détection d’anomalie est entraîné pour détecter un comportement qui dévie du comportement nominal, ce comportement étant analysé au travers de caractéristiques extraites d’une trame pour un protocole donné.

[42] On revient à présent à la description du procédé de détection d’anomalie illustré à la figure 1. Le procédé débute par l’acquisition 102 d’un ensemble de trames réseau ou d’un flux réseau ou d’une connexion réseau. L’étape 102 est, par exemple, réalisée au moyen de sondes ou d’analyseurs réseau ou plus généralement de tout type d’équipement apte à capturer et analyser un flux réseau en un point quelconque d’un réseau et à analyser ce flux ou les trames réseau qui le composent.

[43] Dans une étape 103, les trames réseau acquises sont décomposées en différents protocoles et, pour chaque protocole, des caractéristiques associées sont extraites des entêtes des trames réseau. Ces caractéristiques sont de même nature que celles extraites à l’étape 202 du procédé d’entrainement d’un moteur de détection d’anomalie décrit ci-dessus. Dans le cas d’un flux réseau ou d’une connexion réseau, des caractéristiques associées sont directement fournies par l’analyseur ou la sonde réseau.

[44] Ensuite, pour chaque protocole séparément, un moteur de détection d’anomalie est exécuté 104-i,...,104 n . Les moteurs de détection utilisés sont ceux qui ont été entraînés pendant la phase d’entrainement 101. Optionnellement, différents moteurs de détection peuvent être exécutés en parallèle pour un même protocole. Par exemple, pour un même protocole, on peut exécuter plusieurs types de réseaux de neurones parmi les types décrits précédemment (classifieur, prédicteur, reconstructeur). Dans un autre exemple, plusieurs réseaux de neurones du même type mais ayant un paramétrage différent peuvent être exécutés pour un même protocole. Notamment, on peut utiliser des réseaux de neurones ayant un nombre de couches ou de neurones par couche différents.

[45] Chaque moteur de détection d’anomalie 104 1 ,...,104 n reçoit en entrée un ensemble de caractéristiques relatives à un protocole et produit en sortie une probabilité d’anomalie. Cette probabilité peut être obtenue de différentes manières selon le type de réseau de neurones artificiels utilisé. Dans le cas d’un réseau de neurones classifieur, la probabilité d’anomalie peut être obtenue à partir de la valeur du neurone de sortie correspondant à la classe « anomalie ». Elle peut aussi prendre en compte la valeur du neurone de sortie correspondant à la classe « licite ». Dans le cas d’un réseau de neurones prédicteur, la probabilité d’anomalie peut être obtenue à partir d’une erreur calculée entre la prédiction fournie en sortie du réseau et les caractéristiques du protocole qui sont extraites de la trame reçue. Dans le cas d’un réseau reconstructeur, la probabilité d’anomalie peut être obtenue à partir d’une erreur calculée entre les caractéristiques reconstruites par le réseau et celles reçues en entrée.

[46] Dans une étape 105, l’ensemble des probabilités d’anomalie obtenues pour chaque protocole sont traitées afin de les agréger pour produire une probabilité d’anomalie unique pour une trame réseau ou un ensemble de trames. L’étape d’agrégation 105 consiste, par exemple, à réaliser une moyenne pondérée des probabilités d’anomalie obtenues pour chaque protocole. Les coefficients de pondération de la moyenne pondérée peuvent être définis de manière à prendre en compte les fiabilités relatives des différents moteurs de détection pour différents protocoles. Par exemple, la probabilité d'anomalie finale correspond à une moyenne pondérée de toutes les probabilités d'anomalie individuelles. On peut fixer les coefficients de pondération manuellement, ou automatiquement grâce à un algorithme d'optimisation du type descente de gradient, recherche aléatoire ou encore un algorithme du type « Tree-structuredParzenEstimator ». Ce dernier algorithme teste un ensemble de poids, et sélectionne ceux qui ont permis de prédire au mieux les attaques.

[47] Dans une variante de réalisation, un algorithme d’apprentissage, par exemple un réseau de neurones artificiels peut être utilisé pour déterminer les coefficients de pondération. Dans cet exemple, les neurones d'entrée correspondent aux différents scores ou probabilités que l'on souhaite agréger. Le réseau possède un seul neurone en sortie, qui correspond au score ou probabilité d'anomalie final. Le réseau de neurones est entraîné grâce aux données d’entrainement contenant des attaques, qui permettent de corriger ses poids et ses biais afin classifier correctement le trafic réseau. La pondération est ici entièrement réalisée par le réseau de neurones.

[48] L’étape d’agrégation 105 peut aussi prendre en compte des historiques pour affiner la probabilité d’anomalie déterminée pour chaque trame. Par exemple, si pour une trame réseau appartenant à une connexion donnée, par exemple une connexion http, une probabilité forte d’anomalie est obtenue alors que cette même probabilité d’anomalie est faible pour toutes les autres trames réseau appartenant à la même connexion, alors il peut s’agir d’une fausse détection. Pour éviter ce type de phénomène, la probabilité d’anomalie calculée 105 pour une trame réseau peut être pondérée en fonction des probabilités d’anomalie calculées pour les autres trames réseau associées à la même connexion ou au même flux. Plus généralement, on exploite une mesure statistique de la distribution des probabilités d’anomalie. Par exemple, la moyenne, médiane ou les quartiles de cette distribution sont utilisés pour pondérer la probabilité d’anomalie finale.

[49] Optionnellement, un apprentissage continu 106 des moteurs de détection d’anomalie peut être réalisé périodiquement. L'apprentissage continu consiste à ré-entraîner le système de détection d'intrusion périodiquement (par exemple, une fois par semaine ou par mois) afin de s'adapter aux modifications du réseau surveillé (ajout ou retrait d'ordinateurs, trafic nouveau, etc.). Cette périodicité peut être statique (à intervalle de temps fixe) ou automatiquement déclenchée quand la probabilité d'anomalie moyenne sur une grande période devient trop élevée, ce qui signifie que le système de détection d’intrusion ne parvient pas à prédire correctement l'activité du réseau.

[50] Optionnellement, le procédé peut comprendre une étape supplémentaire 107 d’identification de la source de l’anomalie, en analysant notamment les adresses sources des trames réseau ou d’autres caractéristiques relatives aux trames réseau pour lesquelles une anomalie a été détectée.

[51 ] Ainsi, l’invention permet de détecter, pour chaque trame réseau reçue, la présence d’une anomalie, sous la forme d’une probabilité de détection d’anomalie, à partir de la détection d’une anomalie pour chaque protocole présent dans la trame réseau.

[52] La figure 3 schématise un exemple de réalisation d’un système de détection d’anomalie 300 dans un réseau de télécommunications, selon un mode de réalisation de l’invention.

[53] Sur la figure 3, le réseau de télécommunications à surveiller est représenté sous la forme de plusieurs réseaux 301 ,302,303,304 interconnectés. Le réseau à surveiller peut être de très grandes dimensions, très complexe en termes de topologies et/ou de protocoles. Chaque réseau à surveiller peut être composé d’une pluralité d’éléments pour lesquels le trafic réseau est surveillé. De tels éléments (non représentés sur la figure 3) peuvent être sans limitation des ordinateurs, des serveurs, des contrôleurs ou toute autre ressource ou équipement pour lesquels le système de détection d’anomalie assure une fonction d’analyse des paquets circulant sur des liens réseau en vue de la détection d’éventuelles anomalies ou intrusions.

[54] Un équipement 305 est connecté au réseau à surveiller afin de capturer un flux réseau ou des trames réseau qui transitent par le point de connexion. L’équipement 305 est, par exemple, un analyseur réseau ou une sonde réseau qui permet de capturer les trames réseau et de les décoder. Les trames décodées sont ensuite traitées par un module 306 de détection d’anomalies qui est configuré pour mettre en oeuvre les étapes du procédé de détection d’anomalies tel que décrit précédemment. L’équipement de capture 305 et le module de détection d’anomalies 306 peuvent être interconnectés au moyen d’un réseau privé 307 ou faire partie d’un seul et même équipement physique. Ainsi, dans un mode de réalisation, le système de détection d’anomalies 300 comprend une sonde 305 de capture de trames ou de flux réseau, un réseau privé 307 et un module de détection d’anomalies 306 à partir du flux réseau ou des trames capturées. Dans un autre mode de réalisation, le système 300 comprend une sonde 305 de capture de flux réseau ou detramesréseau et un module de détection d’anomalies 306 directement connectés l’un à l’autre. Dans encore un autre mode de réalisation, le système 300 est constitué d’un seul équipement qui réalise à la fois la capture des trames réseau ou du flux réseau et la mise en oeuvre du procédé de détection d’anomalies selon l’invention.

[55] De façon générale, l’invention peut être mise en oeuvre à l’aide de composants matériels et/ou logiciels. Les éléments logiciels peuvent être disponibles en tant que produit programme d’ordinateur sur un support lisible par ordinateur, support qui peut être électronique, magnétique, optique ou électromagnétique. Les éléments matériels peuvent être disponibles tous ou en partie, notamment en tant que circuits intégrés dédiés (ASIC) et/ou circuits intégrés configurables (FPGA) et/ou en tant que circuits neuronaux selon l’invention ou en tant que processeur de signal numérique DSP et/ou en tant que processeur graphique GPU, et/ou en tant que microcontrôleur et/ou en tant que processeur général par exemple. Le système selon l’invention peut aussi comprendre une interface homme machine, telle qu’un écran, pour restituer les résultats du procédé de détection d’anomalies à un utilisateur.