FR 3076010 A1 20190628 FR 1701360 A 20171222 I Procédé de construction automatique de scénarios d'attaques informatiques, produit programme d'ordinateur et système de construction associés La présente invention concerne un procédé de construction automatique de scénarios d'attaques informatiques spécifiques à un environnement cible à protéger. La présente invention concerne également un produit programme d'ordinateur et un système de construction associés. Plus particulièrement, la présente invention se situe dans le domaine de la sécurité informatique et concerne notamment la détection d'attaques informatiques dans un système informatique. Différentes méthodes de détection d'attaques informatiques existent dans l'état de la technique. De manière générale, ces méthodes peuvent être divisées en deux catégories. Les méthodes de la première catégorie se basent sur la détection de scénarios ou de signatures d'attaque connus. En particulier, un scénario d'attaque permet de représenter une attaque connue sous la forme d'un enchainement d'étapes qui exprime une connaissance actuelle de l'état de la menace. Un tel scénario permet alors de détecter une attaque ayant le même enchainement d'étapes, sous condition que ces étapes soient exécutées de manière similaire. Toutefois, la connaissance actuelle de l'état de la menace n'est pas forcément exhaustive. De ce fait, la corrélation d'alertes se basant sur des scenarios d'attaque a toujours été confrontée aux problématiques dites de « zero-day », attaques sans signature connue car exploitant de nouvelles vulnérabilités, et à la grande combinatoire des modes opératoires d'attaquant qui interdisent la création de listes exhaustives. Les méthodes de la deuxième catégorie sont généralement destinées à pallier les problématiques de « zero-day » et mettent en oeuvre des techniques, dites « comportementales ». En particulier, ces techniques comportementales permettent de mettre en avant des éléments de suspicion de fait de l'observation constante du système informatique et de la dynamique de ses utilisateurs. En revanche, ces éléments de suspicion s'appuient majoritairement, voire exclusivement, sur des éléments statistiques (ex. nombre de connexions vers une adresse, taux de consommation de ressources, latence) qui nécessitent souvent une étape de validation humaine, pouvant sinon amener à un taux excessif de fausses alertes, dites faux positifs. 2 Compte tenu des inconvénients des méthodes de chacune des catégories précitées, il serait donc intéressant d'obtenir des méthodes « hybrides », c'est-à-dire des méthodes incluant des techniques des deux catégories. Dans l'état de la technique, différentes techniques d'hybridation des méthodes des 5 deux catégories ont été déjà envisagées. Ainsi, par exemple, l'une de ces techniques consiste à mettre en parallèle deux modules de supervision mettant en oeuvre des méthodes de détection des catégories différentes. Un troisième module d'arbitrage mis en aval des deux modules de supervision décide de la remontée, ou non, d'une alerte de sécurité en fonction des alertes remontées 10 par chacun des modules de supervision, en fonction d'une politique d'alertes définie par l'exploitant. Une autre technique consiste à mettre en série deux modules de supervision mettant en oeuvre des méthodes de détection des catégories différentes. Ainsi, le résultat fourni par l'un des deux modules de supervision permet de confirmer ou d'infirmer le 15 résultat de l'autre. On conçoit alors que l'usage de l'une des deux options précitées nécessite l'implémentation séparée, en mode « boite noire », de chacun des modules de supervision, sans créer d'une hybridation complexe qui pourrait s'avérer plus efficace. La présente invention a pour but de proposer une technique de création de 20 méthodes de détection d'attaques informatiques avec une hybridation complexe permettant ainsi de résoudre efficacement les problématiques de « zero-day » spécifiques aux méthodes de détection de la première catégorie tout en diminuant le nombre de fausses alertes spécifiques aux méthodes de la deuxième catégorie. À cet effet, l'invention a pour objet un procédé de construction automatique de 25 scénarios d'attaques informatiques spécifiques à un environnement cible à protéger, le procédé comprenant : - une étape préliminaire d'acquisition d'un premier ensemble de données, d'un deuxième ensemble de données et d'un troisième ensemble de données ; le premier ensemble de données comprenant une pluralité de scénarios 30 génériques, chaque scénario générique comprenant une pluralité d'actions, chaque action correspondant à une attaque élémentaire et étant caractérisée par une ou plusieurs variables observables ; le deuxième ensemble de données comprenant une pluralité d'évènements survenus dans l'environnement cible ; 35 le troisième ensemble de données comprenant une pluralité d'alertes, chaque alerte étant émise par un système de détection d'intrusions dans l'environnement cible 3 suite à une détection d'une attaque élémentaire et étant associée à une ou plusieurs valeurs observables ; - une première étape de détermination d'un scénario générique, dit scénario générique partiel, et d'une ou de plusieurs alertes telles que l'attaque élémentaire ou les 5 attaques élémentaires causant cette ou ces alertes correspondent à l'une ou plusieurs actions, dites actions déclenchées, du scénario générique partiel ; la première étape comprenant en outre l'association à la variable observable ou à l'une des variables observables de chaque action déclenchée de la valeur observable ou de l'une des valeurs observables de l'alerte déterminée correspondante ; 10 - une deuxième étape d'analyse du deuxième ensemble de données et de détermination d'une pluralité d'anomalies, chaque anomalie correspondant à un évènement anormal survenu dans l'environnement cible et étant associée à une ou plusieurs valeurs observables ; - une troisième étape d'association à au moins l'une des variables observables du 15 scénario générique partiel de la valeur observable ou de l'une des valeurs observables de l'une des anomalies déterminées.. Suivant d'autres aspects avantageux de l'invention, le procédé comprend une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : 20 - les variables observables du scénario générique partiel sont ordonnancées selon un ordre prédéterminé et la troisième étape comprend pour chaque anomalie déterminée lors de la deuxième étape, les sous-étapes suivantes : - détermination parmi les variables observables du scénario générique partiel, des variables observables, dits variables déclenchés, associées à des 25 valeurs observables ; - pour chaque variable déclenchée, détermination d'une distance entre la valeur observable associée à cette variable déclenchée et la valeur observable ou l'une des valeurs observables associée à ladite anomalie ; - détermination d'une distance minimale parmi l'ensemble des distances 30 déterminées, la variable déclenchée correspondant à cette distance minimale étant dite variable minimale ; - lorsque la distance minimale est inférieure à un seuil d'hybridation prédéterminée et est strictement supérieure à zéro : + détermination d'une première distance correspondant à la 35 distance entre la valeur observable ou l'une des valeurs observables de 4 ladite anomalie et la valeur observable de la première variable déclenchée qui succède la variable minimale ; + détermination d'une deuxième distance correspondant à la distance entre la valeur observable ou l'une des valeurs observables 5 associée à ladite anomalie et la valeur observable de la première variable déclenchée qui précède la variable minimale ; + si la première distance est inférieure à la deuxième distance, association de la valeur observable ou de l'une des valeurs observables de ladite anomalie à la première variable observable qui succède la variable 10 minimale, dans le cas contraire, association de la valeur observable de ladite anomalie à la première variable observable qui précède la variable minimale ; la première étape est réitérée jusqu'à ce qu'il ne soit plus possible de déterminer un nouveau scénario générique partiel parmi les scénarios génériques du premier 15 ensemble de données, la troisième étape étant alors réitérée pour chaque scénario générique partiel déterminé ; - chaque variable observable de chaque scénario générique est associée à un type ; - la ou chaque valeur observable de chaque alerte est associée à un type ; 20 - lors de la deuxième étape, le type de la ou de chaque variable observable du scénario générique partiel correspondant est identique au type de la valeur observable associée à cette variable observable lors de cette étape ; - chaque évènement est décrit par une pluralité de caractéristiques ; - la deuxième étape comprend une analyse statistique des caractéristiques de 25 chaque évènement du deuxième ensemble de données ; - chaque alerte du troisième ensemble de données est émise par le système de détection d'intrusion dans l'environnement cible suite à une détection d'une attaque élémentaire par une signature connue issue d'une base de signatures ; - le ou chaque scénario générique partiel dont au moins l'une des variables 30 observables a été associée à une valeur observable lors de la troisième étape, est dit scénario générique spécifié ; le procédé comprenant en outre une quatrième étape d'enrichissement de la base de signatures par une ou plusieurs signatures construites en fonction du ou de chaque scénario générique spécifié ; 35 - la construction de la ou de chaque signature s'effectue de manière automatique ou par un opérateur ; 5 - la quatrième étape comprend pour chaque scénario générique spécifié les sous-étapes suivantes : - extraction de l'ensemble des caractéristiques de la ou de chaque anomalie dont la valeur observable ou l'une des valeurs observables est associée 5 à l'une des variables observables dudit scénario générique spécifié lors de la troisième étape ; - détermination des caractéristiques utiles parmi l'ensemble des caractéristiques extraites, chaque caractéristique utile étant une caractéristique correspondant à la valeur observable ou à l'une des valeurs observables de 10 l'anomalie correspondante associée à l'une des variables observables du scénario générique spécifié ; - construction d'une nouvelle signature en fonction des caractéristiques utiles. L'invention a également pour objet un produit programme d'ordinateur comportant 15 des instructions logicielles qui, lorsque mises en oeuvre par un équipement informatique, mettent en oeuvre le procédé tel que défini précédemment. L'invention a également pour objet un système de construction automatique de scénarios d'attaques informatiques, comportant des moyens techniques configurés pour mettre en oeuvre le procédé tel que défini plus haut. 20 Ces caractéristiques et avantages de l'invention apparaitront à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels : - la figure 1 est une vue schématique d'un système de construction selon l'invention ; 25 - la figure 2 est une illustration schématique d'un scénario générique utilisé pour le fonctionnement du système de construction de la figure 1 ; et - la figure 3 est un organigramme d'un procédé de construction selon l'invention, le procédé étant mis en oeuvre par le système de la figure 1. Le système de construction 10 de la figure 1 permet de construire 30 automatiquement des scénarios d'attaques informatiques spécifiques à un environnement cible à protéger. Par environnement à protéger, on comprend tout environnement informatique tel qu'un réseau informatique ou un système informatique plus complexe composé par exemple de plusieurs réseaux informatiques, qui doit être protégé contre des attaques 35 informatiques. 6 Dans l'exemple décrit, l'environnement cible comprend des outils de journalisations d'événements survenant dans cet environnement et un système de détection d'intrusions par exemple de type IDS (de l'anglais « Intrusion Detection System »). Ce système de détection d'intrusions permet notamment de détecter une 5 attaque informatique élémentaire et de lever une alerte correspondante. En particulier, une attaque informatique élémentaire est détectée par ce système lorsqu'un ou plusieurs évènements survenus dans l'environnement correspondent à une signature de cette attaque. La signature d'une attaque informatique est issue d'une base de signatures prévue à cet effet dans l'environnement cible. 10 En référence à la figure 1, le système de construction 10 comprend un module d'acquisition 11, un module de traitement 12 et un module de sortie 13. Le système de construction 10 fait partie de l'environnement cible ou se situe à l'extérieur de celui-ci. Dans ce dernier cas, le système de construction 10 fait partie par exemple d'un centre externe SOC (de l'anglais « Security Operation Center »). 15 Le système de construction 10 se présente par exemple sous la forme d'un calculateur. Dans ce cas, chacun des modules 11, 12, 13 précités se présente au moins partiellement sous la forme d'un logiciel exécutable par un processeur et stocké dans une mémoire de ce calculateur. En variante ou en complément, chacun des modules 11, 12, 13 précités se présente au moins partiellement sous la forme d'un dispositif physique, tel 20 que par exemple un circuit programmable. Selon un autre exemple de réalisation, le système de construction 10 se présente sous la forme plus complexe, composée par exemple de plusieurs calculateurs ou clusters de type « Big Data » distincts et raccordés éventuellement par un réseau informatique. Dans ce cas, chacun des modules 11, 12, 13 précités se présente sous la 25 forme d'un logiciel et/ou d'un dispositif physique tel que décrit précédemment. Le module d'acquisition 11 est raccordé à trois bases de données, à savoir une première unité opérationnelle 21, une deuxième unité opérationnelle 22 et une troisième unité opérationnelle 23. Le module d'acquisition 11 est apte à acquérir des données issues de ces bases 30 21, 22 et 23 et à les transmettre au module de traitement 12. Le module de traitement 12 est apte à traiter les données reçues pour générer au moins une donnée résultante, comme cela sera expliqué par la suite. Le module de sortie 13 est apte à acquérir chaque donnée résultante générée par le module de traitement 12 et à générer à partir de cette donnée une donnée de sortie. 35 Le module de sortie 13 est apte en outre à transmettre chaque donnée de sortie générée à une base de données 24. 7 Selon un exemple de réalisation, le module de sortie 13 est raccordé à une interface d'interaction homme-machine permettant par exemple d'afficher à un utilisateur chaque donnée de sortie sous une forme appropriée. Chacune des unités opérationnelles 21, 22 et 23 se présente sous la forme d'un 5 dispositif informatique connu en soi qui est apte à fournir des données informatiques détaillées par la suite. Ainsi, par exemple, chacune des unités opérationnelles 21, 22 et 23 correspond à un réseau informatique, un dispositif de stockage, un tampon d'échange de données informatiques, un socket, etc... La première unité opérationnelle 21 est apte à fournir un premier ensemble de 10 données comprenant une pluralité de scénarios génériques. Chaque scénario générique correspond à une attaque informatique connue et représente alors une description de déroulement conceptuel de cette attaque dans un cas générique, c'est-à-dire indépendamment de l'environnement cible. Chaque scénario générique se présente sous la forme d'une donnée informatique 15 d'une structure connue en soi. Ainsi, selon un exemple de réalisation, la donnée informatique présentant un scénario générique est conforme au standard STIX (de l'anglais « Structured Threat Information eXpression »). Chaque scénario générique SG comprend une pluralité d'étapes Ei et pour chaque 20 étape E1, une ou plusieurs actions Ai, chaque action Ai étant caractérisée par une ou plusieurs variables observables Ok- Les étapes E, permettent de définir l'ordre dans lequel différents groupes d'actions A; sont exécutés lors de l'attaque correspondante. Les étapes El sont donc génériques et ne dépendent pas de l'environnement cible dans lequel l'attaque est exercée. 25 Chaque action A, correspond à une attaque informatique élémentaire réalisée lors de l'étape Ei correspondante. Par attaque élémentaire, on entend un pas élémentaire exercé par l'attaquant pour parvenir au but final de l'attaque informatique. Ainsi, par exemple, une étape générique Ei pourrait correspondre à la description suivante : « l'attaquant prend la main sur une machine distante ». Dans ce cas, les 30 actions Ai réalisées lors de cette étape El pourrait consister en : (1) « l'attaquant exploite une faille qui lui permet d'exporter du code malveillant sur la machine » ; (2) « le code malveillant, une fois exécuté, exploite une autre faille qui lui permet de réaliser une élévation de privilèges » ; et 35 (3) « l'attaquant, ayant maintenant les privilèges administrateur, prend la main sur la machine distante ». 8 Chaque variable observable Ok correspond à toute donnée informatique concrète utilisée pour mettre en oeuvre l'attaque informatique et représente ainsi une trace permettant la détection de cette attaque. Chaque variable observable Ok est apte à prendre différentes valeurs en fonction 5 de l'environnement cible dans lequel l'attaque est réalisée. Ainsi, dans le cadre du scénario générique, les variables observables Ok ne sont pas associées à des valeurs observables. Avantageusement, chaque variable observable Ok est associée à un type prédéterminé qui définit la nature de cette variable et donc les valeurs observables qui 10 peuvent être associées à cette variable. Ainsi, par exemple, il est possible d'avoir une variable de type « source_address » indiquant que cette variable correspond à l'adresse de la source à partir de laquelle une requête utilisée lors de l'attaque, a été envoyée. Cette variable peut donc être associée à la valeur « 10.0.0.1 » correspondant à une adresse IP. 15 De préférence, les variables observables Ok d'un même scénario générique SG sont ordonnancées selon un ordre prédéterminé. Dans ce cas, l'indice k associée à la référence Ok varie de 1 à n où n désigne le nombre total des variables observables dans le scénario générique SG donné. Bien entendu, des indices de nature plus complexe ainsi que d'autres méthodes 20 d'ordonnancement sont possibles. Un exemple d'une structure possible d'un scénario générique SG est illustré sur la figure 2. Ainsi, en référence à cette figure 2, le scénario générique SG correspondant comprend trois étapes El à E3. L'étape El comprend l'action Al caractérisée par la 25 variable observable 01 et l'action A2 caractérisée par la variable observable 02. L'étape E2 comprend l'action A3 caractérisée par la variable observable 03, l'action A4 caractérisée par les variables observables 04 et 05, et l'action A5 caractérisée par la variable observable 06. L'étape E3 comprend l'action A6 caractérisée par les variables observables 07 et 06 et l'action A7 caractérisée par la variable observable 09. 30 Selon cet exemple, l'indice k associé aux variables observables Ok varie donc de 1 à 9. La deuxième unité opérationnelle 22 est apte à fournir un deuxième ensemble de données comprenant une pluralité d'évènements survenus dans l'environnement cible. Chaque évènement est par exemple détecté par les outils de journalisations 35 correspondants de l'environnement cible et est transmis à la deuxième unité 9 opérationnelle 22 sous un format approprié. Ce format est par exemple Netflow ou Syslog. La troisième unité opérationnelle 23 est apte à fournir un troisième ensemble de données comprenant une pluralité d'alertes. 5 Chaque alerte est émise par exemple par le système de détection d'intrusions de l'environnement cible et est transmise à la troisième unité opérationnelle 23 en utilisant l'un des formats connus de description d'alerte, tel que par exemple le format IDMEF. Chaque alerte présente au moins une valeur observable. Ainsi, par exemple, chaque alerte peut être représentée sous la forme d'un 10 ensemble fini d'attributs. Chaque attribut se présente sous la forme d'un couple où l'une des composantes correspond à la valeur d'attribut et l'autre, au type d'attribut permettant de renseigner la sémantique de cette valeur. L'un des attributs de l'alerte désigne notamment l'attaque élémentaire dont la détection par le système de détection d'intrusions a conduit à l'émission de cette alerte. 15 Par exemple, une alerte qui signale une attaque élémentaire par « injection SQL » réalisée par une adresse « 10.0.0.1 » contre un serveur base de données « db.domain.fr » peut être représentée de la manière suivante : Alerte = [ (source_address, 10.0.0.1), (target_name , db.domain.fr), (attack_action, SQL_injection) ]. 20 Finalement, la base de données 24 est composée d'une pluralité de scénarios génériques spécifiés. Chaque scénario générique spécifié correspond à l'un des scénarios génériques du premier ensemble de données qui a été adapté à l'environnement cible par le système de construction 10 comme cela sera expliqué ci-dessous. 25 Le procédé de construction de scénarios d'attaques informatiques spécifiques à l'environnement cible, mis en oeuvre par le système de construction 10 sera désormais expliqué en référence à la figure 3 présentant un organigramme de ses étapes. Initialement, la base de données 24 est par exemple vide. Lors d'une étape initiale 101 du procédé, le module d'acquisition 11 acquiert le 30 premier ensemble de données, le deuxième ensemble de données et le troisième ensemble de données, issus respectivement de la première unité opérationnelle 21, de la deuxième unité opérationnelle 22 et de la troisième unité opérationnelle 23. Puis, le module d'acquisition 11 transmet l'ensemble des données acquises au module de traitement 12. 35 Lors d'une première étape 110 du procédé, le module de traitement 12 analyse le premier ensemble de données et le troisième ensemble de données. 10 En particulier, lors de cette étape 110, le module de traitement 12 détermine un scénario générique SG dont au moins l'une des actions A, correspond à l'attaque élémentaire causant l'une des alertes du troisième ensemble de données et dans lequel le(s) type(s) du(des) variable(s) observable(s) Ok caractérisant cette action A, 5 correspond(ent) aux types d'attributs désignés dans cette alerte. Puis, lors de la même étape 110, le module de traitement 12 associe à la(aux) variable(s) observable(s) Ok de chaque action A, concernées la(les) valeur(s) observable(s) correspondante(s) des alertes correspondantes. Le scénario générique SG déterminé lors de cette étape sera désigné par la suite 10 par le terme « scénario générique partiel SGP ». Lors d'une deuxième étape 120 qui est mise en oeuvre par exemple en parallèle avec la première itération de la première étape 110, le module de traitement 12 analyse le deuxième ensemble de données et détermine une pluralité d'anomalies AI. Chaque anomalie AI correspond à un évènement anormal survenu dans l'environnement cible et 15 présente par exemple une variation de comportement par rapport à une norme établie ou apprise par observation du fonctionnement nominal de l'environnement cible. Une anomalie correspond par exemple à une attaque informatique inconnue. En outre, chaque anomalie présente au moins une valeur observable. Pour mettre en oeuvre cette étape 120, le module de traitement 12 applique au 20 deuxième ensemble de données des méthodes d'analyse comportementales afin d'identifier des anomalies de comportement au sens statistique. Ces méthodes d'analyse sont connues en soi et correspondent par exemple aux modèles de classification (« clustering » en anglais) de type K-means, DBScan, ou autres. Comme il est connu en soi, ces méthodes sont mises en oeuvre en utilisant des 25 caractéristiques ou des métriques (« features » en anglais) des données analysées, c'est- à-dire des caractéristiques décrivant les évènements. Lors d'une troisième étape 130, le module de traitement 12 associe à au moins l'une des variables observables Ok du scénario générique partiel SGP la valeur observable ou l'une des valeurs observables de l'une des anomalies AI déterminées. 30 Le module de traitement 12 complète ainsi le scénario générique partiel SGP par des données comportementales définies par les anomalies AI correspondantes. Cela constitue donc une étape d'hybridation des données comportementales avec les scénarios génériques. Pour mettre en oeuvre cette étape 130, le module de traitement 12 met en oeuvre 35 les sous-étapes 131 à 134 pour chaque anomalie AI déterminée lors de la deuxième étape 120. 11 En particulier, lors de la sous-étape 131, le module de traitement 12 détermine parmi les variables observables Ok du scénario générique partiel SGP, des variables observables OD,1 qui ont été associées à des valeurs observables lors de la première étape 110. 5 Ces variables observables ODg seront désignées par la suite par le terme « variables déclenchés ». Leur nombre total p est donc inférieur ou égal au nombre total n des variables observables du scénario SGP. Les variables déclenchées ODg sont par exemple ordonnancées selon le même ordre que les variables observables Ok. Dans ce cas, l'indice q associé à la référence ODg 10 varie donc entre 1 et p. Puis, lors de la sous-étape 132, le module de traitement 12 détermine pour chaque variable déclenchée ODq, une distance dc, entre la valeur observable associée à cette variable déclenchée OR, et la valeur observable associée à ladite anomalie. La distance dq est déterminée en utilisant une fonction de distance ou une 15 métrique adaptée. Selon un exemple de réalisation, la fonction de distance correspond au nombre de variables observables Ok de l'étape E, en cours de considération ayant les mêmes types que les valeurs observables de l'anomalie Al correspondante. En complément, cette fonction de distance est normalisée, par exemple par le 20 ratio du nombre de ces variables observables Ok par rapport au nombre total de variables observables Ok du scénario SGP. En complément, il est également possible de donner plus de poids à certaines variables observables Ok plutôt que d'autres. Par ailleurs, comme dans le cas précédent, l'indice q associé à la référence dc, 25 varie entre 1 et p. Puis, lors de la sous-étape 133, le module de traitement 12 détermine une distance minimale dn,in parmi l'ensemble des distances dq déterminées. La variable déclenchée OD,, correspondant à cette distance minimale d,',n sera désignée par la suite par le terme « variable minimale ». 30 Puis, lors de la sous-étape 134, le module de traitement 12 compare la distance minimale dm,,, avec un seuil d'hybridation prédéterminée et strictement positif, pour décider si la valeur observable et l'une des valeurs observables de l'anomalie Al peut être associée à l'une des variables observables Ok du scénario générique partiel SGP. Lorsque cette distance dr,,,,, est égale à zéro, l'anomalie constatée correspond à 35 l'une des alertes déjà analysée lors de la première étape 110. 12 Lorsque la distance minimale dmin est supérieure au seuil hybridation, l'anomalie constatée se situe trop loin pour être associée à une variable observable du scénario partiel SGP. Dans ces deux cas, le module de traitement 12 finalise l'exécution de la sous- 5 étape 134 et lance à nouveau la sous-étape 131 pour une nouvelle anomalie A1 si une telle anomalie A1 non analysée existe et sinon, finalise l'exécution de la troisième étape 130 pour le scénario générique partiel SGP en cours de l'analyse. En revanche, lorsque la distance minimale dr,,,n est inférieure ou égale au seuil d'hybridation et est strictement supérieure à zéro, le module de traitement 12 détermine 10 une première distance D1 correspondant à la distance entre la valeur observable ou l'une des valeurs observables associée à ladite anomalie A1 et la valeur observable de la première variable °Dei déclenchée qui succède la variable minimale ODq. Puis, le module de traitement 12 détermine une deuxième distance D2 correspondant à la distance entre la valeur observable ou l'une des valeurs observables 15 associée à ladite anomalie A1 et la valeur observable de la première variable déclenchée Opq-i qui précède la variable minimale. Puis, le module de traitement 12 compare la première distance D1 avec la deuxième distance D2. Si la première distance D1 est inférieure à la deuxième distance D2, le module de traitement 12 associe la valeur observable ou l'une des valeurs 20 observables de ladite anomalie A1 à la première variable observable Ok+1 qui succède la variable minimale ODq. Dans ce cas, k+1 q-1. 25 Il est à noter que lorsque l'anomalie A1 présente plusieurs valeurs observables, l'expression « l'une des valeurs observables » utilisée lors de la description de cette étape, désigne la valeur observable de l'anomalie A1 qui est de même type que la valeur observable ou la variable observable en combinaison avec laquelle cette expression a été utilisée. 30 Puis, le module de traitement 12 lance à nouveau la sous-étape 131 pour une nouvelle anomalie AI si une telle anomalie A1 non analysée existe et sinon, finalise l'exécution de la troisième étape 130 pour le scénario générique partiel SGP en cours de l'analyse. À la fin de la troisième étape, le module de traitement 12 transmet le scénario 35 générique partiel SGP qui devient alors scénario générique spécifié SGS au module de 13 sortie 13. Puis le module de sortie 13 stocke ce scénario générique spécifié SGS dans la base de données 24. Puis, le module de traitement 12 réitère la première étape 110 jusqu'à ce qu'il ne soit plus possible de déterminer un nouveau scénario générique partiel parmi les 5 scénarios génériques du premier ensemble de données, la troisième étape étant alors réitérée pour chaque scénario générique partiel SGP déterminé. Lors d'une quatrième étape 140, le module de traitement 12 fait un enrichissement de la base de signatures de l'environnement cible par une ou plusieurs signatures construites en fonction des scénarios génériques spécifiés SGS. 10 La construction de chaque signature s'effectue par exemple de manière automatique ou par un opérateur. En particulier, la quatrième étape 140 comprend pour chaque scénario générique spécifié SGS les sous-étapes 141 à 143 décrites ci-dessous. Lors de la sous-étape 141, le module de traitement 12 fait une extraction de 15 l'ensemble des caractéristiques de la ou de chaque anomalie AI dont la valeur observable ou l'une des valeurs observables a été associée à l'une des variables observables Ok dudit scénario générique spécifié SGS lors de la troisième étape 130. Puis, lors de la sous-étape 142, le module de traitement 12 détermine des caractéristiques utiles parmi l'ensemble des caractéristiques extraites. Chaque 20 caractéristique utile est une caractéristique correspondant à la valeur observable ou à l'une des valeurs observables de l'anomalie AI correspondante qui a été effectivement associée à l'une des variables observables Ok du scénario générique spécifié SGS. Puis, lors de la sous-étape 143, le module de traitement 12 ou l'opérateur construit une nouvelle signature en fonction des caractéristiques utiles. Cette signature est ensuite 25 transmise à la base de signatures. Il est à noter que la quatrième étape 140 est exécutée de manière optionnelle. Selon un exemple avantageux de réalisation de l'invention, le procédé comprend en outre une étape de finalisation exécutée par exemple après l'ensemble des itérations de la troisième étape 130. 30 Lors de cette étape 130, le module de traitement 12 détermine des anomalies AI dont la valeur observable ou les valeurs observables n'a(ont) été associée(s) à aucune variable observable Ok d'aucun scénario générique SG. Ces anomalies sont alors considérées comme des faux positifs qui sont par exemple éliminés de la future considération par le système 10. 35 On conçoit alors que la présente invention comporte un certain nombre d'avantages. 14 En particulier, le procédé selon l'invention permet de mettre en oeuvre une hybridation complexe entre des méthodes de détection basées sur les scénarios d'attaque connus et celles basées sur la détermination des caractéristiques comportementales. 5 Cela permet alors de construire des méthodes de détection plus efficaces qui résolvent efficacement les problématiques de « zero-day », tout en diminuant le nombre de fausses alertes par rapport aux méthodes comportementales connues. De plus, le procédé selon l'invention permet d'enrichir la base de signatures connues en mettant en oeuvre une étape d'apprentissage dont le fonctionnement peut 10 être éventuellement influencé par l'opérateur. REVENDICATIONS1.- Procédé de construction automatique de scénarios d'attaques informatiques spécifiques à un environnement cible à protéger, le procédé comprenant : - une étape préliminaire (101) d'acquisition d'un premier ensemble de données, d'un deuxième ensemble de données et d'un troisième ensemble de données ; le premier ensemble de données comprenant une pluralité de scénarios génériques, chaque scénario générique comprenant une pluralité d'actions (A,), chaque action (Ai) correspondant à une attaque élémentaire et étant caractérisée par une ou plusieurs variables observables (0k) ; le deuxième ensemble de données comprenant une pluralité d'évènements survenus dans l'environnement cible ; le troisième ensemble de données comprenant une pluralité d'alertes, chaque alerte étant émise par un système de détection d'intrusions dans l'environnement cible suite à une détection d'une attaque élémentaire et étant associée à une ou plusieurs valeurs observables ; - une première étape (110) de détermination d'un scénario générique, dit scénario générique partiel, et d'une ou de plusieurs alertes telles que l'attaque élémentaire ou les attaques élémentaires causant cette ou ces alertes correspondent à l'une ou plusieurs actions (Ai), dites actions déclenchées, du scénario générique partiel ; la première étape comprenant en outre l'association à la variable observable (Ok) ou à l'une des variables observables (Ok) de chaque action (Ai) déclenchée de la valeur observable ou de l'une des valeurs observables de l'alerte déterminée correspondante ; - une deuxième étape (120) d'analyse du deuxième ensemble de données et de détermination d'une pluralité d'anomalies (Al), chaque anomalie (Al) correspondant à un évènement anormal survenu dans l'environnement cible et étant associée à une ou plusieurs valeurs observables ; - une troisième étape (130) d'association à au moins l'une des variables observables (Ok) du scénario générique partiel de la valeur observable ou de l'une des valeurs observables de l'une des anomalies déterminées (A1). 2.- Procédé selon la revendication 1, dans lequel les variables observables (Ok) du scénario générique partiel sont ordonnancées selon un ordre prédéterminé et la troisième étape (130) comprend pour chaque anomalie déterminée (Al) lors de la deuxième étape (120), les sous-étapes suivantes : 16 - détermination (131) parmi les variables observables (Ok) du scénario générique partiel, des variables observables, dits variables déclenchés, associées à des valeurs observables ; - pour chaque variable déclenchée, détermination (132) d'une distance entre la 5 valeur observable associée à cette variable déclenchée et la valeur observable ou l'une des valeurs observables associée à ladite anomalie (Al) ; - détermination (133) d'une distance minimale parmi l'ensemble des distances déterminées, la variable déclenchée correspondant à cette distance minimale étant dite variable minimale ; 10 - lorsque la distance minimale est inférieure à un seuil d'hybridation prédéterminée et est strictement supérieure à zéro : + détermination (134) d'une première distance correspondant à la distance entre la valeur observable ou l'une des valeurs observables de ladite anomalie (Al) et la valeur observable de la première variable déclenchée qui succède la variable 15 minimale ; + détermination (134) d'une deuxième distance correspondant à la distance entre la valeur observable ou l'une des valeurs observables associée à ladite anomalie (Al) et la valeur observable de la première variable déclenchée qui précède la variable minimale ; 20 + si la première distance est inférieure à la deuxième distance, association (134) de la valeur observable ou de l'une des valeurs observables de ladite anomalie (Al) à la première variable observable (0k.0) qui succède la variable minimale, dans le cas contraire, association (134) de la valeur observable de ladite anomalie (Al) à la première variable observable (0k_1) qui précède la variable 25 minimale. 3.- Procédé selon la revendication 1 ou 2, dans laquelle la première étape (110) est réitérée jusqu'à ce qu'il ne soit plus possible de déterminer un nouveau scénario générique partiel parmi les scénarios génériques du premier ensemble de données, la 30 troisième étape (130) étant alors réitérée pour chaque scénario générique partiel déterminé. 4.- Procédé selon l'une quelconque des revendications précédentes, dans lequel : - chaque variable observable (Ok) de chaque scénario générique est associée à 35 un type ; - la ou chaque valeur observable de chaque alerte est associée à un type ; et 17 - lors de la deuxième étape (120), le type de la ou de chaque variable observable (Ok) du scénario générique partiel correspondant est identique au type de la valeur observable associée à cette variable observable (Ok) lors de cette étape (120). 5 5.- Procédé selon l'une quelconque des revendications précédentes, dans lequel : - chaque évènement est décrit par une pluralité de caractéristiques ; et - la deuxième étape (120) comprend une analyse statistique des caractéristiques de chaque évènement du deuxième ensemble de données. 10 6.- Procédé selon l'une quelconque des revendications précédentes, dans lequel chaque alerte du troisième ensemble de données est émise par le système de détection d'intrusion dans l'environnement cible suite à une détection d'une attaque élémentaire par une signature connue issue d'une base de signatures. 15 7.- Procédé selon la revendication 6, dans lequel le ou chaque scénario générique partiel dont au moins l'une des variables observables (Ok) a été associée à une valeur observable lors de la troisième étape (130), est dit scénario générique spécifié ; le procédé comprenant en outre une quatrième étape (140) d'enrichissement de la base de signatures par une ou plusieurs signatures construites en fonction du ou de 20 chaque scénario générique spécifié. 8.- Procédé selon la revendication 7, dans lequel la construction de la ou de chaque signature s'effectue de manière automatique ou par un opérateur. 25 9.- Procédé selon la revendication 7 ou 8 prise en combinaison avec la revendication 5, dans lequel la quatrième étape (140) comprend pour chaque scénario générique spécifié les sous-étapes suivantes : - extraction (141) de l'ensemble des caractéristiques de la ou de chaque anomalie (Al) dont la valeur observable ou l'une des valeurs observables est associée à l'une des 30 variables observables (Ok) dudit scénario générique spécifié lors de la troisième étape (130) ; - détermination (142) des caractéristiques utiles parmi l'ensemble des caractéristiques extraites, chaque caractéristique utile étant une caractéristique correspondant à la valeur observable ou à l'une des valeurs observables de l'anomalie 35 (Al) correspondante associée à l'une des variables observables (Ok) du scénario générique spécifié ; 18 - construction (143) d'une nouvelle signature en fonction des caractéristiques utiles. 10.- Produit programme d'ordinateur comportant des instructions logicielles qui, 5 lorsque mises en oeuvre par un équipement informatique, mettent en oeuvre le procédé selon l'une quelconque des revendications précédentes. 11.- Système de construction automatique de scénarios d'attaques informatiques, comportant des moyens techniques configurés pour mettre en oeuvre le procédé selon 10 l'une quelconque des revendications 1 à 9.