Brevet FR3118228A1 — publié le 20220624

Méthode, mise en œuvre par ordinateur, de détermination d’une réaction à appliquer à un réseau informatique, en réponse à une anomalie détectée dans ledit réseau, la méthode comprenant les étapes de : Déterminer, au moyen d’un apprentissage automatique par renforcement (304), une fonction de qualité (Q) donnant, pour un état donné dudit réseau (ET) et une action (AC) appliquée audit réseau, une valeur de récompense globale traduisant la qualité de l’action appliquée pour l’état donné, Dans une phase opérationnelle, en réponse à une anomalie détectée (302) dans le réseau, déterminer une réaction à appliquer au réseau en : Déterminant (303) l’état du réseau, Sélectionnant une action qui maximise la fonction de qualité (Q) pour l’état déterminé, Traduire (307) l’action en réaction à appliquer au réseau. Figure 3 Méthode d’apprentissage automatique par renforcement d’une réaction en réponse à une anomalie dans un réseau informatique L’invention concerne le domaine de la cyber-sécurité des réseaux informatiques ou de télécommunications. Elle porte sur une méthode et un système d’apprentissage automatique par renforcement d’une réaction à appliquer au réseau en réponse à une anomalie détectée dans ce réseau. Les systèmes de détection d’intrusion (IDS) (« Intrusion Detection Systems ») ont pour fonction la détection d’intrusion ou plus généralement la détection d’anomalies dans un réseau. Leur objectif est 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 Detection System (HIDS) » en anglais. Il permet 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 Detection System (NIDS) » en anglais. Il permet la surveillance d’un réseau de communications afin d’y déceler d’éventuelles attaques. Les systèmes IDS peuvent également être catégorisés selon la méthode de détection d’attaque qu’ils mettent en œuvre. 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. 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. 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étection d’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. Les systèmes de détection IDS sont généralement chargés de détecter une anomalie ou une intrusion dans un réseau pour ensuite générer une alerte à un administrateur du système. Ainsi, généralement, ces systèmes ne prévoient pas de mécanisme de réaction pour corriger les effets d’une attaque qui a été détectée. La réaction automatique aux attaques est cependant un composant nécessaire à un système de sécurité efficace, car elle diminue le temps pendant lequel l'attaquant se trouve en mesure d'exploiter des vulnérabilités, et limite ainsi l'impact de son attaque. Même lorsque l'opérateur humain est l'élément décisionnel dans le déclenchement d'une mesure de réaction à une attaque, la réaction automatique peut préconiser une ou plusieurs mesures appropriées, et ainsi faciliter non seulement le processus décisionnel mais également sa mise en application, sauvant là encore de précieux instants. La capacité pour un système IDS de pouvoir déterminer par lui-même les meilleures contre-mesures ou réactions à employer afin de faire face à des attaques représente donc un avantage non négligeable dans la sécurisation de ressources exposées à des cyberattaques, et ce d'autant plus que ces ressources sont critiques. La majorité des systèmes de réponse aux intrusions proposent des réponses de type 'notification' ou 'alarme' qui visent à alerter un opérateur humain de la détection d'un événement potentiellement malveillant ou dommageable. D'autres types de réponses plus élaborés peuvent être envisagés pour tenter de stopper l'attaque en désactivant les ressources informatiques au moyen desquelles elle est menée (par exemple, détruire la session de travail de l'attaquant). D'autres types encore de réponses visent à protéger le réseau en renforçant sa sécurité (par exemple, activation de règles de firewalling plus restrictives). Ces trois types de réponses sont décrits dans le brevet américain US 7228564 B2 ("Method for configuring a network intrusion detection system"). Ces réponses ne permettent pas de remédier aux conséquences d'une attaque sur un réseau endommagé. Des méthodes de réponses aux intrusions plus élaborées font appel à la modélisation des motivations de l'attaquant. Ainsi, la théorie des jeux permet de modéliser les actions de l'attaquant et sa stratégie à long terme, afin de choisir la réponse optimale à l'attaque comme décrit dans la référence [1]. Les graphes d'attaque, qui font apparaître les différentes étapes intermédiaires qui constituent une attaque et que l'attaquant parcourt pour réaliser son but d'attaque, sont également exploités afin de proposer des systèmes autonomes de réponse aux intrusions. Des méthodes basées sur les graphes d’attaque sont décrites notamment dans les documents [2] et [3]. Les approches basées sur la théorie des jeux comme celles basées sur les graphes d'attaque requièrent une analyse très fine des attaques. Ces approches demeurent donc cantonnées à la réponse à des nombres d'attaques limités. La demande de brevet français du Demandeur déposée sous le numéro FR 1914571 décrit une méthode et un système de détermination d’une réaction en réponse à une anomalie détectée dans un réseau. La méthode proposée dans cette demande repose sur une base de signature d’attaques qui sont stockées sous la forme d’un triplet {type d’attaque, impact sur le réseau, réaction à appliquer}. Ce système est basé sur un apprentissage sur un ensemble d’attaques prédéterminé générant un certain type d’impact sur le réseau. Si l’impact sur le réseau diffère de ceux qui ont été enregistrés dans la base de signatures, la méthode ne détermine pas une réaction appropriée. L’invention propose une méthode alternative à celle décrite dans la demande de brevet FR1914571, cette méthode étant basée sur un apprentissage automatique par renforcement qui vise à déterminer une fonction de qualité mesurant la qualité d’une réaction appliquée au réseau pour un état donné de ce réseau. L’invention a pour objet une méthode, mise en œuvre par ordinateur, de détermination d’une réaction à appliquer à un réseau informatique, en réponse à une anomalie détectée dans ledit réseau, la méthode comprenant les étapes de : Déterminer, au moyen d’un apprentissage automatique par renforcement, une fonction de qualité donnant, pour un état donné dudit réseau et une action appliquée audit réseau, une valeur de récompense globale traduisant la qualité de l’action appliquée pour l’état donné, Dans une phase opérationnelle, en réponse à une anomalie détectée dans le réseau, déterminer une réaction à appliquer au réseau en : Déterminant l’état du réseau, Sélectionnant une action qui maximise la fonction de qualité pour l’état déterminé, Traduire l’action en réaction à appliquer au réseau. Selon un aspect particulier de l’invention, la fonction de qualité est déterminée lors d’une phase d’apprentissage comprenant les étapes de : Exécuter plusieurs itérations d’un algorithme d’apprentissage automatique par renforcement configuré pour déterminer la fonction de qualité en réalisant, à chaque itération, les sous-étapes de : Déterminer l’état du réseau, Mesurer un niveau d’anomalie caractérisé par une distance de l’état du réseau à son état de référence, Sélectionner, parmi une pluralité d’actions prédéterminées, une action à appliquer au réseau en fonction du niveau d’anomalie, Fournir, en entrée de l’algorithme d’apprentissage par renforcement, un triplé de valeurs caractérisant respectivement l’état du réseau, l’action à appliquer au réseau et une valeur de récompense variant dans un sens inverse du niveau d’anomalie Exécuter une itération de l’algorithme d’apprentissage par renforcement pour mettre à jour la fonction de qualité, Traduire l’action en réaction et appliquer la réaction au réseau. Selon un aspect particulier de l’invention, la phase d’apprentissage comprend les étapes préalables de : Simuler un réseau informatique ayant un état de référence donné, Simuler une anomalie impactant le réseau pour éloigner son état de l’état de référence. Selon un aspect particulier de l’invention, l’étape de simuler un réseau informatique comporte au moins la simulation d’un paramètre du réseau parmi : une topologie de réseau donnée, les profils des hôtes dans le réseau, les types de services fournis par le réseau, les types de protocoles utilisés par les différents hôtes du réseau. Selon un aspect particulier de l’invention,, pour au moins une itération, l’action à appliquer au réseau est sélectionnée comme celle qui maximise la fonction de qualité pour l’état du réseau courant ou est sélectionnée au hasard. Selon un aspect particulier de l’invention, les itérations de l’algorithme d’apprentissage automatique par transfert sont arrêtées lorsqu’une mise à jour moyenne de la fonction de qualité pour un nombre prédéterminé des dernières itérations est inférieure à un seuil de convergence prédéterminé. Selon un aspect particulier de l’invention, un cout d’exécution est associé à chaque action à appliquer au réseau et la valeur de récompense varie dans un sens inverse à une somme du niveau d’anomalie et du cout d’exécution de l’action. Selon une variante de réalisation, la méthode selon l’invention comprend en outre une étape, préalable à l’étape de sélection d’une action à appliquer au réseau, de réduction de l’ensemble des actions prédéterminées en fonction de l’état du réseau. Selon un aspect particulier de l’invention, l’étape de traduire l’action en réaction est réalisée au moyen d’une table de correspondance. Selon un aspect particulier de l’invention, le niveau d’anomalie est une valeur numérique comprise entre une valeur minimale correspondant à l’état de référence du réseau et une valeur maximale correspondant à un état le plus éloigné de l’état de référence. L’invention a aussi pour objet un dispositif informatique de génération d’une réaction à appliquer à un réseau informatique, en réponse à une anomalie détectée dans ledit réseau, le dispositif comprenant un module d’apprentissage et un module opérationnel étant configurés ensemble pour exécuter les étapes de la méthode de détermination d’une réaction à appliquer audit réseau selon l’invention. L’invention a aussi pour objet un système de surveillance d’un réseau informatique comprenant au moins une sonde apte à acquérir un flux réseau ou un ensemble de trames réseau transitant dans ledit réseau, un dispositif de détection d’anomalies dans ledit réseau, un dispositif informatique de génération d’une réaction selon l’invention et un équipement réseau configuré pour appliquer audit réseau la réaction générée par ledit dispositif informatique en réponse à une anomalie détectée par le dispositif de détection d’anomalies. Selon un aspect particulier de l’invention, le dispositif informatique de génération d’une réaction est implémenté dans un pare-feu ou dans un contrôleur réseau. Selon un aspect particulier de l’invention, le système est distribué dans le réseau. L’invention a encore pour objet un programme d'ordinateur comportant des instructions pour l'exécution de la méthode selon l’invention, lorsque le programme est exécuté par un processeur. L’invention a encore pour objet un support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution de la méthode selon l’invention, lorsque le programme est exécuté par un processeur. D’autres caractéristiques et avantages de la présente invention apparaîtront mieux à la lecture de la description qui suit en relation aux dessins annexés suivants. représente un schéma de principe général du fonctionnement d’un système de génération d‘une réaction à appliquer à un réseau informatique suite à une détection d’anomalie, selon un mode de réalisation de l’invention, ] représente un schéma détaillé du système selon l’invention, représente un organigramme détaillant les étapes de mise en œuvre d’une phase d’apprentissage d’une méthode de détermination d’une réaction à appliquer à un réseau informatique selon un mode de réalisation de l’invention, représente un organigramme détaillant les étapes de mise en œuvre d’une phase opérationnelle d’une méthode de détermination d’une réaction à appliquer à un réseau informatique selon un mode de réalisation de l’invention. La décrit, sur un schéma de principe, le fonctionnement général du système selon l’invention. Un objectif de l’invention concerne la surveillance d’un réseau RES informatique ou de télécommunications. Un réseau informatique ou réseau de télécommunications RES est, de façon générale, constitué de plusieurs équipements, encore appelés nœuds du réseau, qui communiquent entre eux au moyen de liaisons de communications. Les nœuds du réseau peuvent être des terminaux fixes ou mobiles ou plus généralement tout type d’objet ayant des capacités de communication au sein d’un réseau. Les liens de communication sont réalisés au moyen de technologie de communication filaire ou sans fils. La décrit un système de surveillance du réseau RES qui comprend une sonde réseau SR apte à capturer des flux réseaux ou des trames réseaux TR transitant dans le réseau RES. La sonde réseau SR fourni en sortie une information caractéristique de l’état du réseau ET. Cette information est constituée de métriques telles que par exemple, des statistiques sur un ensemble de trames réseaux capturées ou les trames réseaux capturées ou encore des règles mises en place par un pare-feu. De façon générale, toute information permettant de caractériser le fonctionnement du réseau à partir d’informations mesurées par un analyseur réseau, peut être exploitée par l’invention pour déterminer l’état du réseau ET. L’information caractéristique de l’état du réseau ET correspond à un état de type Markovien, c’est-à-dire qu’un état courant est indépendant des états précédents. Un état prend en compte les actions passées. L’information caractéristique de l’état du réseau ET est fournie à un système de détection d’anomalies SDA qui, d’une part, enrichi cette information avec des indications sur l’anomalie détectée et d’autre part, fournie en sortie un indicateur de niveau d’anomalie détectée AN. Les indications sur l’anomalie détectée peuvent comprendre des anomalies individuelles détectées au niveau des différents protocoles de la couche OSI, ou au niveau de différents emplacements du réseau, des métriques de variation de l’anomalie dans le temps. L’indicateur de niveau d’anomalie AN est représentatif d’une distance de l’état courant du réseau RES par rapport à un état de référence du réseau. L’état de référence est déterminé dans des conditions de fonctionnement maitrisées du réseau, c’est-à-dire des conditions qui assurent qu’aucune anomalie n’impacte le réseau. L’état de référence peut être déterminé en réalisant des mesures moyennes sur plusieurs réseaux de référence. Le niveau d’anomalie AN est, par exemple, un indicateur variant entre une valeur minimale (par exemple 0) et une valeur maximale (par exemple 1), la valeur minimale indiquant un état identique à l’état de référence (sans anomalie) et la valeur maximale indiquant un état très éloigné de l’état de référence (fortement perturbé par une anomalie). Le système de détection d’anomalie SDA implémente un algorithme de détection d’anomalie dans un réseau RES par exemple du type décrit dans les références [4] ou [5]. Le terme anomalie désigne tout comportement du réseau RES qui l’éloigne de son état de référence. Par exemple, une anomalie peut être engendrée par une attaque contre le réseau RES. Des exemples de familles d’attaques sont : les attaques par déni de service ou DoS(« Denial of Service ») qui consistent à rendre inopérant un équipement cible ; les attaques par sondage (« probing »), qui sont utilisées pour découvrir des vulnérabilités ou des portes d’entrées sur l’équipement cible ; les attaques de type R2L (« Remote to Local ») qui visent à accéder à un équipement se trouvant sur un réseau local depuis l’extérieur ; les attaques par escalade de privilèges ou U2R (« User to Root ») dont un objectif est d’obtenir des droits plus importants que ceux autorisés sur l’équipement cible. Le niveau d’anomalie AN et l’état courant ET du réseau sont fournis à un dispositif de génération de réaction DGR qui a pour fonction de déterminer une réaction RE à appliquer au réseau RES pour le ramener dans un état de référence. Les réactions RE possibles sont, par exemple, prises parmi la liste suivante : des règles opérées par un pare-feu (blocage ou autorisations de trames en fonction d’un numéro de port ou d’un type de connexion), une limitation (absolue ou relative) de la bande passante sur tout ou partie du réseau, un filtrage d’une adresse IP ou d’un port TCP, une requête d’accès vers une adresse IP. Un autre type de réaction possible consiste à répondre à la place d'une machine sur le réseau surveillé, et donc à émettre un paquet avec l'adresse source de la dite machine, c'est à dire avec une adresse spoofée. Ceci peut servir à mettre en échec des pratiques dites de « port-scanning » de la part de l'attaquant, en répondant comme si le port était ouvert sur la machine cible de l'attaquant. La réaction RE la plus optimale possible est déterminée, parmi un ensemble de réactions à priori disponibles, en fonction de l’état ET du réseau et du niveau d’anomalie AN. On présente ci-dessous différents exemples de réactions à appliquer en fonction d’un état du réseau. Si l’information caractéristique de l’état du réseau correspond à un ensemble de règles appliquées par un pare-feu et aux trames réseau reçues après détection d’anomalie, la réaction à appliquer au réseau est un nouvel ensemble de règles appliquées par le pare-feu au réseau. Les règles appliquées par le pare-feu peuvent être générales ou en lien avec une ou plusieurs trames réseau. Elles peuvent porter sur un ou plusieurs champs d’un entête d’une trame réseau. Par exemple, une réaction à appliquer peut consister à bloquer une adresse IP source particulière. D’autres exemples de réaction sont : une requête d’accès vers une adresse IP donnée, une demande de fin de connexion vers une adresse IP donnée, une demande de changement de réseau à un équipement désigné par son adresse IP, un filtrage d’un type de paquet en fonction de certains champs de son entête réseau. L’information caractéristique de l’état du réseau peut comprendre également des statistiques (par exemple une moyenne) sur un intervalle de temps prédéfini de valeurs d’anomalies par champs d’entête ou par protocole, ainsi qu’un nombre de paquets observés. L’état du réseau ET peut être représenté sous la forme d’un vecteur comprenant les différentes informations (règles de pare-feu, valeurs d’anomalies de différents champs d’entête de paquets. La détaille le fonctionnement du dispositif de génération de réaction DGR selon l’invention. Ce dispositif est composé d’un premier module d’apprentissage APP qui implémente un algorithme d’apprentissage automatique par renforcement ayant pour but de déterminer une fonction Q mesurant la qualité d’une action exécutée dans un état donné du réseau. La fonction Q prend deux paramètres en entrée : l’état du réseau ET et une action associée AC à appliquer au réseau. A partir de ces deux paramètres, la fonction Q produit en sortie un niveau de récompense global traduisant la qualité de l’action AC pour l’état courant ET ainsi que les états futurs : r=Q(s, a) si on note a l’action, s l’état et r le niveau de récompense. Le module d’apprentissage APP a pour rôle de mettre à jour la fonction Q jusqu’à obtenir une fonction finale Q f . Cette mise à jour est réalisée de façon itérative à partir d’observations reçues de l’état du réseau ET et des actions AC exécutées mais également d’un paramètre de récompense instantanée qui est égal, par exemple, à l’opposé du niveau d’anomalie AN mesuré ou à son inverse. Autrement dit, la valeur du paramètre de récompense varie dans un sens inverse du niveau d’anomalie. La maximisation du paramètre de récompense est équivalente à une minimisation du niveau d’anomalie. Dans une variante de réalisation de l’invention, une valeur de cout d’exécution est associée à chaque action et le paramètre de récompense instantanée est une valeur qui varie dans un sens inverse à la somme du niveau d’anomalie AN et de la valeur de cout de l’action AC. Le cout d’une action AC correspond à une valeur numérique qui traduit une complexité d’exécution de l’action AC sur le réseau en termes de nombre d’opérations à exécuter, de délai, de bande passante consommée, d’énergie consommée ou de tout autre paramètre lié à la complexité d’exécution d’une action. La valeur du cout d’exécution est utilisée pour orienter l’algorithme d’apprentissage par renforcement à optimiser les actions sélectionnées afin de minimiser leur impact sur le réseau. Par exemple, une seule règle de pare-feu à large domaine d’action est préférable à plusieurs règles à faible rayon d’action exécutées simultanément. La valeur du cout d’exécution peut être prise égale à 1 par défaut, dans ce cas, le cout d’une action AC dépend uniquement du nombre de règles à exécuter pour réaliser une action. Cette valeur peut également être définie en fonction de la complexité d’exécution réelle des règles exécutées sur le réseau. Un avantage de cette variante de réalisation est qu’elle permet d’orienter l’algorithme d’apprentissage à choisir des actions ayant un impact minimal sur le réseau en termes de complexité de mise en œuvre. L’algorithme d’apprentissage automatique par renforcement est, par exemple, du type décrit dans les références [6], [7] ou [8]. Le dispositif DGR selon l’invention comporte un second module opérationnel OP qui a pour rôle de déterminer une réaction RE à appliquer au réseau en fonction de l’état ET du réseau. Pour cela, le second module OP exploite la fonction de qualité Q f finale déterminée par le module d’apprentissage APP et sélectionne l’action AC qui maximise la fonction Q f en fonction de l’état ET. Autrement dit, on recherche la valeur a qui permet d’obtenir la valeur r maximale telle que r=Q f (S,a), S étant une valeur numérique ou un vecteur associé à l’état ET mesuré. Ensuite, le module OP traduit l’action AC sélectionnée (qui est une valeur numérique ou un vecteur interprétable par l’algorithme d’apprentissage par renforcement) en une réaction RE à appliquer au réseau. Cette opération de traduction est, par exemple, réalisée au moyen d’une table de correspondance prédéfinie qui associe pour chaque identifiant d’action AC une réaction RE à appliquer au réseau RES. Une action AC peut être normalisée par ses coordonnées dans un espace fini d’actions. Elle est ainsi représentable sous la forme d’un vecteur. Le vecteur défini, par exemple, un numéro de protocole sur lequel agir et/ou un numéro du champ de ce protocole sur lequel agir. L’invention est mise en œuvre en tant que programme d’ordinateur comportant des instructions pour son exécution. Le programme d’ordinateur peut être enregistré sur un support d’enregistrement lisible par un processeur. La référence à un programme d'ordinateur qui, lorsqu'il est exécuté, effectue l'une quelconque des fonctions décrites précédemment, ne se limite pas à un programme d'application s'exécutant sur un ordinateur hôte unique. Au contraire, les termes programme d'ordinateur et logiciel sont utilisés ici dans un sens général pour faire référence à tout type de code informatique (par exemple, un logiciel d'application, un micro logiciel, un microcode, ou toute autre forme d'instruction d'ordinateur) qui peut être utilisé pour programmer un ou plusieurs processeurs pour mettre en œuvre des aspects des techniques décrites ici. Les moyens ou ressources informatiques peuvent notamment être distribués (" Cloud computing "), éventuellement selon des technologies de pair-à-pair. Le code logiciel peut être exécuté sur n'importe quel processeur approprié (par exemple, un microprocesseur) ou cœur de processeur ou un ensemble de processeurs, qu'ils soient prévus dans un dispositif de calcul unique ou répartis entre plusieurs dispositifs de calcul (par exemple tels qu’éventuellement accessibles dans l’environnement du dispositif). Le code exécutable de chaque programme permettant au dispositif programmable de mettre en œuvre les processus selon l'invention, peut être stocké, par exemple, dans le disque dur ou en mémoire morte. De manière générale, le ou les programmes pourront être chargés dans un des moyens de stockage du dispositif avant d'être exécutés. L'unité centrale peut commander et diriger l'exécution des instructions ou portions de code logiciel du ou des programmes selon l'invention, instructions qui sont stockées dans le disque dur ou dans la mémoire morte ou bien dans les autres éléments de stockage précités. Le dispositif de génération de réaction DGR peut être implémenté sur un calculateur basé, par exemple, sur un processeur embarqué. Le processeur peut être un processeur générique, un processeur spécifique, un circuit intégré propre à une application (connu aussi sous le nom anglais d’ASIC pour « Application-Specific Integrated Circuit ») ou un réseau de portes programmables in situ (connu aussi sous le nom anglais de FPGA pour « Field-Programmable Gate Array »). Le dispositif de calcul peut utiliser un ou plusieurs circuits électroniques dédiés ou un circuit à usage général. La technique de l'invention peut se réaliser sur une machine de calcul reprogrammable (un processeur ou un micro-contrôleur par exemple) exécutant un programme comprenant une séquence d'instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). Les différentes entités et/ou modules composant le système de surveillance du réseau RES peuvent être implémentés séparément ou conjointement, de façon localisée dans un équipement de surveillance du réseau ou de façon distribuée dans plusieurs équipements. En particulier, le système de surveillance selon l’invention peut être implémenté dans un ou plusieurs pare-feu(x) ou dans un contrôleur central du réseau. Par exemple l’ensemble du système ou une partie de ses composants peut être implémentée au moyen d’une technologie de type « software-defined networking » SDN. Le système de surveillance selon l’invention décrit à la et comprenant le dispositif de génération de réaction décrit à la fonctionnent donc selon deux phases successives : une première phase d’apprentissage lors de laquelle le module d’apprentissage APP du dispositif DGR apprend la forme de la fonction de qualité Q et une seconde phase opérationnelle, lors de laquelle la fonction de qualité Q apprise est utilisée pour déterminer une réaction RE optimale à appliquer au réseau RES en fonction de son état ET. La détaille les étapes de mise en œuvre d’une méthode d’apprentissage par renforcement selon l’invention. Cette méthode est itérative. La première étape 300 consiste à réaliser une simulation d’un ou plusieurs réseaux informatiques. La simulation consiste notamment à modéliser une topologie de réseau, définie notamment par le nombre de machines du réseau, le nombre et la nature des liens de communications, leurs débits maximum, les espace d’adressages, et plus généralement toute information permettant de caractériser la topologie d’un réseau. La simulation peut aussi consister à choisir des profils pour les différents hôtes du réseau simulé : des serveurs, routeurs, utilisateurs par exemple. La simulation peut encore consister à choisir différents services à exécuter par les hôtes et différents protocoles de communication mis en œuvre. Une fois l’ensemble des paramètres du réseau définis, le comportement du réseau est simulé, c’est-à-dire on simule l’exécution des services par les hôtes ce qui conduit à la transmission de trames réseau, respectant certains protocoles définis, à travers la topologie du réseau. L’étape 300 est, par exemple, réalisée au moyen d’un simulateur de réseaux à topologie variable construit au moyen d’outils de simulation à évènements discrets. Dans une étape 301, un ensemble de mesures sont réalisées sur le réseau simulé, par exemple au moyen d’une sonde réseau, afin de capturer un ensemble de trames réseau et/ou de flux réseau TR. A l’étape 302, un algorithme de détection d’anomalie est exécuté, il analyse les trames TR capturées et en déduit des informations sur le type d’anomalie détecté ainsi qu’un niveau d’anomalie AN qui caractérise une distance du réseau par rapport à un état de référence. L’algorithme de détection d’anomalie bénéficie d’informations a priori sur cet état de référence qui sont fournies par le simulateur réseau ou qui sont déterminées par le système de détection d’anomalie lors d’une phase préalable exécutée sur un réseau « sain », c’est-à-dire fonctionnant sans anomalie. Le niveau d’anomalie AN est, par exemple, un nombre compris entre 0 et 1, 0 correspondant à l’état de référence du réseau et 1 correspondant au niveau d’anomalie le plus élevé. Quel que soit le niveau d’anomalie AN généré (qu’il y ait ou non détection d’une anomalie), la méthode se poursuit avec la détermination de l’état du réseau ET (étape 303) qui est réalisée à partir des trames capturées TR et des informations fournies par l’algorithme de détection d’anomalie 302. Un algorithme d’apprentissage par renforcement est ensuite exécuté à l’étape 304 pour déterminer itérativement une fonction de qualité Q. Plus exactement, à chaque itération de la méthode décrite à la , on exécute une instance de cet algorithme pour mettre à jour la fonction de qualité Q à partir de l’état du réseau ET, d’une information de récompense égale à l’opposé du niveau de qualité AN et d’une action AC appliquée au réseau pour le remettre dans son état de référence. Initialement (à la première itération de la méthode), l’action AC est sélectionnée aléatoirement parmi un ensemble d’actions possibles. Aux itérations suivantes, l’action AC est déterminée à l’étape 306. A chaque itération, l’action AC peut être choisie aléatoirement ou selon des critères prédéfinis dépendant d’informations a priori sur le réseau et le type d’anomalie généré sur le réseau ou encore l’action AC peut être choisie comme étant celle qui maximise la valeur de sortie de la fonction Q pour l’état ET courant. Par exemple, une part d’aléa est intégrée dans le choix des actions. Par exemple une stratégie de type « epsilon-greedy » est mise en œuvre consistant à sélectionner avec une probabilité de (1- ε), l’action qui maximise la fonction Q, et avec une probabilité de ε, une action au hasard, avec ε un nombre entier strictement positif et inférieur à 1. Un test de convergence 305 est appliqué à chaque itération pour poursuivre ou non les itérations de la méthode. Ce test de convergence est, par exemple, basé sur un nombre d’itérations fixe donné ou sur un niveau de mise à jour de la fonction Q. Autrement dit, lorsque l’écart entre la fonction Q mise à jour à l’itération courante et la fonction Q définie à l’itération précédente passe en dessous d’un certain seuil, la méthode est arrêtée et on retient la dernière mise à jour de la fonction Q comme étant la fonction finale Q f . Dans le cas contraire, on poursuit la méthode avec l’étape 306. L’écart est mesuré sur les paramètres qui définissent la fonction Q (par exemple les coefficients de la fonction). L’écart peut être mesuré sur une moyenne de mises à jour de la fonction Q déterminée sur plusieurs itérations. A l’étape 307, on converti l’action AC en réaction RE, par exemple au moyen d’une table de conversion associant l’identifiant AC (qui est une valeur numérique exploitable par l’algorithme d’apprentissage par renforcement) en une réaction RE concrète à appliquer au réseau. La réaction RE est ensuite appliquée au réseau simulé puis une nouvelle itération de la méthode est exécutée. La méthode itérative décrite à la se poursuit jusqu’à ce que la mise à jour de la fonction Q satisfasse le test de convergence 305, auquel cas on retient la fonction Qf finale qui constitue le résultat de la phase d’apprentissage. L’étape de simulation du réseau 300 peut être remise à jour au cours des itérations du procédé d’apprentissage, notamment en simulant des attaques contre le réseau qui vont provoquer certaines anomalies. La méthode d’apprentissage peut aussi être exécutée plusieurs fois pour différentes topologies de réseau. Dans ce cas, l’algorithme d’apprentissage par renforcement exécuté à l’étape 304 n’est pas réinitialisé et poursuit la mise à jour de la fonction Q en partant de la dernière version de cette fonction. Un avantage de cette variante est que le système apprend à réagir à une attaque ou anomalie donnée en faisant abstraction de la topologie du réseau. La décrit ensuite la méthode exécutée par le module opérationnel OP du dispositif de génération de réaction DGR. Cette méthode est appliquée à un réseau opérationnel RES dont on souhaite assurer la surveillance. La méthode débute par une étape 301 de mesure de trames réseau TR sur le réseau de référence au moyen d’une sonde réseau. Cette étape est identique à l’étape 301 de la méthode de la à la différence qu’elle est réalisée pour un réseau réel et non simulé. Les étapes 302 de détection d’anomalie et 303 de détermination de l’état du réseau sont identiques à celle de la méthode d’apprentissage. Ensuite, à l’étape 401, on détermine l’action AC à appliquer au réseau comme étant celle qui permet de maximiser la valeur de sortie de la fonction de qualité Q f pour l’état ET courant du réseau. Autrement dit, on recherche l’action AC, parmi un ensemble d’actions prédéterminées, qui permet d’obtenir la valeur maximale de Q f (AC,ET). L’étape 307 qui vise à traduire l’action AC en réaction RE est identique à celle de la méthode d’apprentissage. La réaction RE est ensuite appliquée au réseau. Afin d’éviter une perturbation trop importante du réseau, avantageusement, les étapes 401 et 307 ne sont activées que lorsque le niveau d’anomalie détecté dépasse un seuil prédéterminé. L’apprentissage de la fonction Q f peut être réalisé initialement au moyen d’un réseau simulé comme décrit précédemment. Dans une variante, un nouvel apprentissage peut être réalisé à tout moment à partir des trames réseau mesurées sur le réseau opérationnel pour lequel une surveillance est assurée. En particulier, un nouvel apprentissage peut être déclenché lorsqu’une ou plusieurs actions générées sont jugées inappropriées. Dans une variante de réalisation de l’invention, l’étape 401 de détermination d’une action AC est appliquée pour un sous-ensemble d’actions possibles en prenant en compte des informations sur l’état ET du réseau et le type d’anomalie détecté. Cette variante consiste autrement dit en une réduction de l’espace des actions possibles. Cette réduction peut être réalisée en vérifiant une cohérence entre le type d’action et les paramètres susceptibles d’avoir causé l’anomalie. Par exemple, on vérifie que les actions possibles se restreignent à des actions agissant sur des paramètres susceptibles d’avoir causé l’anomalie. Par exemple, s’il ressort que l’anomalie est détectée au niveau de la couche IP, l’espace des actions peut être limité à celles agissant au niveau du protocole IP. La réaction RE générée par le dispositif de génération de réaction peut être exécutée sur le réseau opérationnel après une validation d’un administrateur réseau. Dans ce cas, la réaction RE est transmise à l’administrateur qui est en charge de l’appliquer ou non. Dans une variante de réalisation, le système de détection d’anomalie génère non pas un indicateur d’anomalie global mais un vecteur dont chaque composante correspond à un indicateur d’anomalie associé à une trame ou à un protocole différent. Dans une autre variante de réalisation, plusieurs sondes réseaux sont utilisées pour capturer des trames réseaux en différents points du réseau. Références [1] S. Iannucci and S. Abdelwahed, “Towards Autonomic Intrusion Response Systems,” in 2016 IEEE International Conference on Autonomic Computing (ICAC) , Wuerzburg, Germany, 2016, pp. 229–230. [2] S. A. Zonouz, H. Khurana, W. H. Sanders, and T. M. Yardley, “RRE: A Game-Theoretic Intrusion Response and Recovery Engine,” IEEE Transactions on Parallel and Distributed Systems , vol. 25, no. 2, pp. 395–406, Feb. 2014. [3] Xuan Li, Chunjie Zhou, and Yuanqing Qin, “A Dynamic Decision-Making Approach for Intrusion Response in Industrial Control Systems,” IEEE Transactions on Industrial Informatics , pp. 1–1, 2018. [4] M. Labonne, A. Olivereau, B. Polve, and D. Zeghlache, “Unsupervised protocol-based intrusion detection for real-world networks,” in ICNC 2020: International Conference on Computing, Networking and Communications, 2020 International Conference on Computing, Networking and Communications (ICNC), (Big Island,United States), pp. 299–303, IEEE, Feb. 2020. [5] M. Yousefi-Azar, V. Varadharajan, L. Hamey, and U. Tupakula, “Autoencoder-based feature learning for cyber security applications,” pp. 3854–3861, 2017 Inter-national Joint Conference on Neural Networks (IJCNN), 5 2017. [6] ‘Q-learning, Machine learning’, vol 8, pages 279-292, 1992, Watkins, Christopher J C H and Dayan, Peter. [7] ‘Temporal difference learning and TD-Gammon’, Communications of the ACM, Vol 38(3), pages 58-68, Tesauro, Gerald. [8] ‘Neural fitted Q iteration first experiences with a data efficient neural reinforcement learning method’, Machine Learning: ECML 2005, Springer 2005, pages 317-328, Ried miller, Martin. Méthode, mise en œuvre par ordinateur, de détermination d’une réaction à appliquer à un réseau informatique, en réponse à une anomalie détectée dans ledit réseau, la méthode comprenant les étapes de : Déterminer, au moyen d’un apprentissage automatique par renforcement (304), une fonction de qualité (Q) donnant, pour un état donné dudit réseau (ET) et une action (AC) appliquée audit réseau, une valeur de récompense globale traduisant la qualité de l’action appliquée pour l’état donné, Dans une phase opérationnelle, en réponse à une anomalie détectée (302) dans le réseau, déterminer une réaction à appliquer au réseau en : Déterminant (303) l’état du réseau, Sélectionnant (401) une action qui maximise la fonction de qualité (Q) pour l’état déterminé, Traduire (307) l’action en réaction à appliquer au réseau. Méthode de détermination d’une réaction selon la revendication 1 dans laquelle la fonction de qualité (Q) est déterminée lors d’une phase d’apprentissage comprenant les étapes de : Exécuter plusieurs itérations d’un algorithme d’apprentissage automatique par renforcement (304) configuré pour déterminer la fonction de qualité en réalisant, à chaque itération, les sous-étapes de : Déterminer (302, 303) l’état du réseau (ET), Mesurer (302) un niveau d’anomalie (AN) caractérisé par une distance de l’état du réseau à son état de référence, Sélectionner (306), parmi une pluralité d’actions prédéterminées, une action (AC) à appliquer au réseau en fonction du niveau d’anomalie, Fournir, en entrée de l’algorithme d’apprentissage par renforcement, un triplé de valeurs caractérisant respectivement l’état du réseau, l’action à appliquer au réseau et une valeur de récompense variant dans un sens inverse du niveau d’anomalie Exécuter (304) une itération de l’algorithme d’apprentissage par renforcement pour mettre à jour la fonction de qualité (Q), Traduire (307) l’action (AC) en réaction (RE) et appliquer la réaction au réseau. Méthode de détermination d’une réaction selon la revendication 2 dans laquelle la phase d’apprentissage comprend les étapes préalables de : Simuler (300) un réseau informatique ayant un état de référence donné, Simuler (300) une anomalie impactant le réseau pour éloigner son état de l’état de référence. Méthode de détermination d’une réaction selon la revendication 3 dans laquelle l’étape de simuler (300) un réseau informatique comporte au moins la simulation d’un paramètre du réseau parmi : une topologie de réseau donnée, les profils des hôtes dans le réseau, les types de services fournis par le réseau, les types de protocoles utilisés par les différents hôtes du réseau. Méthode de détermination d’une réaction selon l’une quelconque des revendications 2 à 4 dans laquelle, pour au moins une itération, l’action à appliquer (AC) au réseau est sélectionnée (306) comme celle qui maximise la fonction de qualité pour l’état du réseau (ET) courant ou est sélectionnée au hasard. Méthode de détermination d’une réaction selon l’une quelconque des revendications 2 à 5 dans laquelle les itérations de l’algorithme d’apprentissage automatique par transfert sont arrêtées (305) lorsqu’une mise à jour moyenne de la fonction de qualité pour un nombre prédéterminé des dernières itérations est inférieure à un seuil de convergence prédéterminé. Méthode de détermination d’une réaction selon l’une quelconque des revendications 2 à 6 dans laquelle un cout d’exécution est associé à chaque action à appliquer au réseau et la valeur de récompense varie dans un sens inverse à une somme du niveau d’anomalie et du cout d’exécution de l’action (AC). Méthode de détermination d’une réaction selon l’une quelconque des revendications précédentes comprenant en outre une étape, préalable à l’étape de sélection (306) d’une action à appliquer au réseau, de réduction de l’ensemble des actions prédéterminées en fonction de l’état du réseau. Méthode de détermination d’une réaction selon l’une quelconque des revendications précédentes dans laquelle l’étape (307) de traduire l’action (AC) en réaction (RE) est réalisée au moyen d’une table de correspondance. Méthode de détermination d’une réaction selon l’une quelconque des revendications précédentes dans laquelle le niveau d’anomalie (AN) est une valeur numérique comprise entre une valeur minimale correspondant à l’état de référence du réseau et une valeur maximale correspondant à un état le plus éloigné de l’état de référence. Dispositif informatique de génération d’une réaction à appliquer à un réseau informatique (DGR), en réponse à une anomalie détectée dans ledit réseau, le dispositif comprenant un module d’apprentissage (APP) et un module opérationnel (OP) étant configurés ensemble pour exécuter les étapes de la méthode de détermination d’une réaction à appliquer audit réseau selon l’une quelconque des revendications précédentes. Système de surveillance d’un réseau informatique (RES) comprenant au moins une sonde (SR) apte à acquérir un flux réseau ou un ensemble de trames réseau (TR) transitant dans ledit réseau (RES), un dispositif de détection d’anomalies (SDA) dans ledit réseau, un dispositif informatique de génération d’une réaction (DGR) selon la revendication 11 et un équipement réseau configuré pour appliquer audit réseau la réaction générée par ledit dispositif informatique en réponse à une anomalie détectée par le dispositif de détection d’anomalies. Système selon la revendication 12 dans lequel le dispositif informatique de génération (DGR) d’une réaction est implémenté dans un pare-feu ou dans un contrôleur réseau. Système selon l’une quelconque des revendications 12 ou 13, le système étant distribué dans le réseau. Programme d'ordinateur comportant des instructions pour l'exécution de la méthode selon l’une quelconque des revendications 1 à 10, lorsque le programme est exécuté par un processeur. Support d'enregistrement lisible par un processeur sur lequel est enregistré un programme comportant des instructions pour l'exécution de la méthode selon l’une quelconque des revendications 1 à 10, lorsque le programme est exécuté par un processeur.