[go: up one dir, main page]

WO2006082342A1 - Method and system for automatically detecting intrusions - Google Patents

Method and system for automatically detecting intrusions Download PDF

Info

Publication number
WO2006082342A1
WO2006082342A1 PCT/FR2006/050087 FR2006050087W WO2006082342A1 WO 2006082342 A1 WO2006082342 A1 WO 2006082342A1 FR 2006050087 W FR2006050087 W FR 2006050087W WO 2006082342 A1 WO2006082342 A1 WO 2006082342A1
Authority
WO
WIPO (PCT)
Prior art keywords
criteria
subset
value
given parameter
parameter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2006/050087
Other languages
French (fr)
Inventor
Elvis Tombini
Benjamin Morin
Hervé Debar
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Publication of WO2006082342A1 publication Critical patent/WO2006082342A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Definitions

  • the invention relates to a method and system for automatic detection of intrusions according to a behavioral model.
  • intrusion detection probes are active components that analyze one or more data sources in search of events characteristic of an intrusive activity and issue alerts to an alert management module.
  • alert management module centralizes the alerts coming from the probes and possibly carries out an analysis of all these alerts.
  • the intrusion detection probes make it possible to update attacks (successful or not) against the information system according to an intrusion detection by scenario or by behavior.
  • Scenario intrusion detection tools use signatures to recognize, and therefore characterize, attacks among a set of events. These signatures are mainly composed of an "active ingredient and the name of the signature that defines the alert to be issued.” The active ingredient consists of a pattern, or a combination of patterns, which will be searched for among the events to monitor.
  • the signatures used by the intrusion detection tools therefore make it possible to associate an alert name with a recognized event by virtue of the "active principle" of these signatures. In the context of scenario-based intrusion detection, these signatures are used to characterize attacks.
  • behavioral intrusion detection is an intrusion detection method making it possible to update intrusive behaviors by comparing the use of the resources of an information system with a reference behavior known as a behavior model.
  • the reference behavior is created from the observation of a set of events considered as healthy. This phase is called the learning phase. A certain amount of information can be extracted during this phase to be used to create the behavior model.
  • a behavioral intrusion detection module can, for example, monitor the bandwidth used, CPU consumption, or commands executed by the system.
  • the object of the invention is to remedy these drawbacks, and to provide a system and a simple method for automatic detection of intrusions with great precision.
  • an automatic intrusion detection method among a set of events to be monitored an event being associated with at least one parameter taking a value among a plurality of values
  • the method comprising: a phase of learning comprising associating a subset of criteria with a given parameter, said subset of criteria being selected from a set of predetermined criteria; and a validation phase comprising confronting the value taken by said given parameter with said subset of criteria defined during the learning phase, such that whether said value satisfies said subset of associated criteria or not, then said value is considered valid or invalid.
  • the set of predetermined criteria can be constructed by a human operator to respond to problems encountered in an information system.
  • the predetermined criteria are constructed in a simple manner without probabilistic or other calculations and are completely dissociated from the values taken by the parameters.
  • said invalid value generates an alert corresponding to the event associated with said given parameter having this invalid value.
  • each alert issued is specific because it points directly to the parameter and its invalid value as well as to the invalidating criterion.
  • the learning phase comprises the following steps:
  • associating with said plurality of values a plurality of first subsets of criteria, a first subset of criteria being associated with a corresponding value of said plurality of values, and constructing the set common to said plurality of first sub-sets of criteria; sets of criteria for forming said subset of criteria associated with said given parameter.
  • the method comprises the organization of a plurality of criteria determined in a hierarchical structure comprising several levels defined according to a partial order relationship so that each criterion corresponds to a node of said structure hierarchical.
  • the hierarchical structure makes it possible not to test all the criteria in a systematic manner and therefore to increase the speed and effectiveness of the intrusion detection as well as the learning phase.
  • a first subset of criteria corresponds to a first path traversing the hierarchical structure from its root to the last child node whose criterion is satisfied by said value corresponding one taken by said given parameter, the plurality of first subsets of criteria thereby forming a plurality of first paths.
  • the first subset of criteria can be determined by minimizing the number of tests.
  • the subset of criteria associated with said given parameter corresponds to a common path extracted from a path common to said plurality of first paths.
  • the subset of criteria associated with the given parameter can be constructed simply and quickly.
  • the invention also relates to an intrusion detection probe comprising an event sensor among a set of events to be monitored in an information system, an event being associated with at least one parameter taking one of a plurality of values
  • the probe further comprises an analyzer for associating, during a learning phase, a subset of criteria to a given parameter, said subset of criteria being chosen from among a set of predetermined criteria, and to be compared when a validation phase the value taken by said given parameter to said subset of criteria, so that whether or not said value satisfies said subset of associated criteria, then said value is considered valid or invalid.
  • the intrusion detection probe allows automatic detection of intrusions with great precision and optimal efficiency.
  • the probe is intended to issue an alert to a management module, said alert corresponding to the event associated with said given parameter taking said invalid value and the criterion not validated.
  • each alert emitted by the probe indicates the parameter and its invalid value and the non-validated criterion.
  • the invention also proposes a monitored information system comprising a plurality of intrusion detection probes according to the above characteristics and an alert management module comprising an alarm presentation console.
  • FIG 1 is a very schematic view of a monitored information system comprising an intrusion detection system according to the invention
  • FIGS. 2A and 2B are flow charts for the construction of the subsets of criteria according to a first embodiment of the invention
  • FIG. 3 very schematically shows an example of a simplified hierarchical structure of the predetermined criteria according to the invention.
  • FIGS. 4A and 4B are flow charts for the construction of the subsets of criteria according to a second embodiment of the invention.
  • FIG. 1 illustrates an example of a monitored information system 1 comprising an intrusion detection system 3 comprising several intrusion detection probes 5 and an alert management module 7.
  • the intrusion detection probes 5 monitor events from outside or inside a network of the monitored information system which includes workstations 9 and servers 11 communicating with external networks (not shown).
  • the alert management module 7 may include a host 7a dedicated to the processing of alerts and a 7b console for presenting alerts.
  • each intrusion detection probe 5 comprises an event sensor 5a and an analyzer 5b.
  • the event sensor 5a monitors a set of events occurring in the information system 1.
  • an event is an action on the information system 1 which may contain one or more parameters.
  • a given event may be associated with a given parameter taking one of a plurality of values.
  • an event may correspond to an http request which consists of a client requesting a resource from a server 11. This event can be traced in the log file of the server 11.
  • the client requests the resource designated by
  • the probe 5 comprises an analyzer 5b for associating a subset of criteria from a set of predetermined criteria to a given parameter during a learning phase.
  • a first criterion C1 can be defined as follows: “the value has a length of less than six characters”.
  • a second criterion C2 can be defined as follows: "the value is composed of four capital letters and four digits”.
  • the analyzer 5b of the probe 5 is intended to confront, during a validation phase, the value taken by the parameter given to the subset of criteria, so that, depending on whether or not the value satisfies this subset, set of associated criteria, then the value is considered valid or invalid.
  • the value of the parameter "identifier" satisfies criterion C2 but does not satisfy criterion C1.
  • the alert corresponding to the event associated with the given parameter taking the invalid value is sent (arrow 13) by the probe 5 to the management module 7.
  • the method according to the invention thus consists in automatically detecting any intrusion among a set of events to be monitored in the information system 1.
  • An event may be associated with at least one parameter taking one of a plurality of values.
  • This process comprises two phases, a learning phase and a validation phase.
  • the learning phase comprises associating a subset C p of criteria with a given parameter.
  • the subset C p of criteria is chosen from a set C of predetermined criteria, for example a set C ⁇ l, - -rc ⁇ of n criteria.
  • This set C of predetermined criteria can be constructed by a human operator, for example via the console 7b, so as to respond to the problems encountered in the information system 1.
  • the value of the parameter P must be well-formed XML, that is, the value must conform to the XML standards defined by the W3C (for example, an opening tag is associated with a corresponding closing tag, the XML parameter values must be enclosed in quotation marks etc.).
  • the predetermined criteria can thus be constructed in a simple manner and completely dissociated from the values taken by the parameters.
  • each value v, taken by the given parameter P is confronted with a subset C p of associated criteria. If the value v satisfies this subset C P of criteria, then this value v ; is considered valid. If it does not satisfy this subset C p of criteria, it is not considered valid and an alert corresponding to the event associated with the given parameter having this invalid value is sent (arrow 13) to the management module 7.
  • FIGS. 2A to 4B show different embodiments of the learning phase.
  • the learning phase comprises a first step for associating with the plurality of values, a plurality of first subsets of criteria. So, a first subset
  • the learning phase further comprises a second step of constructing a set common to the plurality C v of first subsets of criteria in order to form the subset of criteria C p associated with the given parameter P. Then, in order to characterize parameters from a set C of predetermined criteria, we seek to construct a first subset C 1 ,, for each value v, before constructing the subset C p of criteria associated with the given parameter P.
  • the step E2 is an iterative test verifying if the n predetermined criteria of the set C have been traversed.
  • step E6 if all the criteria of the set C have been traveled, that is to say if the index / test E2 is not less than or equal to n, then we go to step E6 to return the first subset
  • the steps E8 to ElO form a loop traversing the plurality
  • step E8 is an iterative test verifying whether the first m subsets of criteria C v1 have been traversed. Thus, if the index / designating the first subset of criteria C v , is less than or equal to m (I ⁇ m) then step E9 is taken.
  • the root of the tree is represented by the node N 0 which conventionally is associated with a null criterion and with each node N, is associated a criterion c, -
  • the criteria associated with the child nodes N n , N 12 , ..., N t 1 of a node N are exclusive. Thus, if an element satisfies a criterion c lk , associated with a node N lk , it does not satisfy any criterion associated with the sibling nodes.
  • N, and N 1 be two nodes of the characterization tree, then we denote N, - ⁇ N 7 if there exists a path in the characterization tree between the nodes N, and N ; and if N, is an ancestor of N,. In practice, if N, and N j satisfy the partial order relation ⁇ then they belong to the same branch of the characterization tree.
  • N, ⁇ N 7 can also be written N, ⁇ N 11 - ⁇ ... N lk ⁇ ... ⁇ N j where the N, te ⁇ , / j are the set of nodes, satisfying the relation ⁇ , which form the path in the characterization tree between the nodes N, and
  • Each first subset C 11 of criteria corresponds to a first path traversing the hierarchical structure from its root to the last child node whose criterion is satisfied by the corresponding value v, taken by the given parameter P.
  • the plurality of first subsets of criteria form a plurality of first paths.
  • the first subset C v / of criteria associated with a given value V 1 is initially empty.
  • the set of criteria associated with the value v is the union of the criteria satisfied by this value from the root N 0 of the classification tree up to the node N, inclusive, ie C vl ⁇ ⁇ j NkSNa ⁇ N C k . It will be noted that, by construction of the characterization tree, a value v can traverse only one branch.
  • FIG. 4B is a flowchart illustrating the construction of the subset C p of criteria associated with the given parameter P and whose principle is the same as that of FIG. 2B. Indeed, at each value v, of the set V values taken by a given parameter P, is associated a set of criteria C vl according to the flowchart of FIG. 4A.
  • the subset C p of criteria associated with the given parameter corresponds to a common path extracted from a path common to the plurality of first paths.
  • step E9 may comprise steps E91 to E95.
  • Step E92 is a test to check if there is a node N, such that N k - ⁇ N n N 1 - ⁇ N V and N, - ⁇ N r and such that none of the child nodes of N ; does not fulfill this condition.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The invention concerns a method for detecting intrusions and an information system comprising an intrusion detecting probe (5) including an event sensor (5a) among a set of events to be monitored in the information system, an event being associated with at least one parameter taking on a value among a number of values, the probe (5) further comprises an analyzer (5b) designed to associate a subset of criteria among a set of predetermined criteria with a given parameter during a learning phase and to match during a validating phase the value taken by said given parameter to said subset of criteria, such that depending on whether said value fulfils or not said subset of associated criteria, said value is considered as valid or invalid.

Description

Titre de l'inventionTitle of the invention

Procédé et système de détection automatique d'intrusions.Method and system for automatic detection of intrusions.

Arrière-plan de l'invention L'invention concerne un procédé et un système de détection automatique d'intrusions selon un modèle comportemental.BACKGROUND OF THE INVENTION The invention relates to a method and system for automatic detection of intrusions according to a behavioral model.

La sécurité des systèmes d'information passe par le déploiement d'outils de détection d'intrusions comportant des sondes de détection d'intrusions. En effet, les sondes de détection d'intrusions sont des composants actifs qui analysent une ou plusieurs sources de données à la recherche d'événements caractéristiques d'une activité intrusive et émettent des alertes vers un module de gestion d'alertes. Ce dernier centralise les alertes provenant des sondes et effectue éventuellement une analyse de l'ensemble de ces alertes.The security of information systems involves the deployment of intrusion detection tools with intrusion detection probes. Indeed, the intrusion detection probes are active components that analyze one or more data sources in search of events characteristic of an intrusive activity and issue alerts to an alert management module. The latter centralizes the alerts coming from the probes and possibly carries out an analysis of all these alerts.

D'une manière générale, les sondes de détection d'intrusions permettent de mettre à jour des attaques (réussies ou non) contre le système d'information selon une détection d'intrusions par scénario ou par comportement. Les outils de détection d'intrusions par scénarios utilisent des signatures pour reconnaître, et donc caractériser, des attaques parmi un ensemble d'événements. Ces signatures sont principalement composées d'un "principe actif et du nom de la signature qui définit l'alerte à émettre. Le "principe actif consiste en un motif {ou pattern), ou une combinaison de motifs, qui sera recherché parmi les événements à surveiller. Les signatures utilisées par les outils de détection d'intrusions permettent donc d'associer un nom d'alerte à un événement reconnu grâce au "principe actif" de ces signatures. Dans le cadre de la détection d'intrusions par scénarios, ces signatures servent à caractériser des attaques. Par ailleurs, la détection d'intrusions comportementale est un procédé de détection d'intrusions permettant de mettre à jour des comportements intrusifs en comparant l'utilisation des ressources d'un système d'information à un comportement de référence dit modèle de comportement.In general, the intrusion detection probes make it possible to update attacks (successful or not) against the information system according to an intrusion detection by scenario or by behavior. Scenario intrusion detection tools use signatures to recognize, and therefore characterize, attacks among a set of events. These signatures are mainly composed of an "active ingredient and the name of the signature that defines the alert to be issued." The active ingredient consists of a pattern, or a combination of patterns, which will be searched for among the events to monitor. The signatures used by the intrusion detection tools therefore make it possible to associate an alert name with a recognized event by virtue of the "active principle" of these signatures. In the context of scenario-based intrusion detection, these signatures are used to characterize attacks. In addition, behavioral intrusion detection is an intrusion detection method making it possible to update intrusive behaviors by comparing the use of the resources of an information system with a reference behavior known as a behavior model.

Le comportement de référence est créé à partir de l'observation d'un ensemble d'événements considérés comme sains. Cette phase est appelée phase d'apprentissage. Un certain nombre d'informations peuvent être extraites pendant cette phase pour servir à créer le modèle de comportement.The reference behavior is created from the observation of a set of events considered as healthy. This phase is called the learning phase. A certain amount of information can be extracted during this phase to be used to create the behavior model.

Le comportement de référence ainsi que le comportement à surveiller peuvent être constitués de différent types d'événements et, ou de mesures. Un module de détection d'intrusions comportementale peut, par exemple, surveiller la bande passante utilisée, la consommation CPU, ou les commandes exécutées par le système.The reference behavior and the behavior to be monitored may consist of different types of events and / or measures. A behavioral intrusion detection module can, for example, monitor the bandwidth used, CPU consumption, or commands executed by the system.

Dans le domaine de la détection d'intrusions comportementale, il est connu une méthode proposée par C. Kruegel et al. dans une publication de « Proceedings of the 8fh European Symposium on Research in Computer Security pages 326-343, Octobre 2003, Springer-Verlag », intitulée « On the Détection of Anomalous System CaII Arguments ». Cette méthode permet de prendre en compte les valeurs des paramètres des appels systèmes pour la détection d'intrusions comportementale appliquée en particulier aux paramètres des requêtes envoyées à des serveurs web. Plus précisément, l'auteur présente des méthodes permettant de caractériser les valeurs prises par ces paramètres selon la longueur des valeurs du paramètre, la distribution des caractères dans les valeurs du paramètre, la structure des valeurs du paramètre, la reconnaissance de types énumérés, et la présence de la valeur du paramètre.In the field of behavioral intrusion detection, a method proposed by C. Kruegel et al. in a publication "Proceedings of the 8f pm European Symposium on Research in Computer Security 326-343 pages, in October 2003, Springer-Verlag", entitled "On the Detection of Anomalous System CaII Arguments." This method makes it possible to take into account the values of the parameters of the system calls for the behavioral intrusion detection applied in particular to the parameters of the requests sent to web servers. More specifically, the author presents methods for characterizing the values taken by these parameters according to the length of the parameter values, the character distribution in the parameter values, the structure of the parameter values, the recognition of enumerated types, and the presence of the parameter value.

L'inconvénient de cette méthode est qu'elle ne permet pas de caractériser les valeurs prises par des paramètres selon des caractères ou contraintes qualitatives qui ne peuvent pas être quantifiées. Ainsi, elle ne peut être utilisée que pour un nombre limité de critères.The disadvantage of this method is that it does not make it possible to characterize the values taken by parameters according to characters or qualitative constraints that can not be quantified. Thus, it can only be used for a limited number of criteria.

Objet et résumé de l'invention L'invention a pour but de remédier à ces inconvénients, et de fournir un système et un procédé simple de détection automatique d'intrusions avec une grande précision.OBJECT AND SUMMARY OF THE INVENTION The object of the invention is to remedy these drawbacks, and to provide a system and a simple method for automatic detection of intrusions with great precision.

Ces buts sont atteints grâce à un procédé de détection automatique d'intrusions parmi un ensemble d'événements à surveiller, un événement étant associé à au moins un paramètre prenant une valeur parmi une pluralité de valeurs, le procédé comportant : -une phase d'apprentissage comportant une association d'un sous- ensemble de critères à un paramètre donné, ledit sous-ensemble de critères étant choisi parmi un ensemble de critères prédéterminés ; et -une phase de validation comportant la confrontation de la valeur prise par ledit paramètre donné audit sous-ensemble de critères défini lors de la phase d'apprentissage, de sorte que selon que ladite valeur satisfait ou non ledit sous-ensemble de critères associés, alors ladite valeur est considérée comme valide ou non valide. Ainsi, le fait que les critères peuvent être préalablement établis permet d'élaborer un nombre illimité de critères et donc de renforcer la caractérisation des paramètres lors de la phase d'apprentissage afin d'utiliser ces critères lors de la phase de validation pour détecter les intrusions de manière automatique et avec une précision optimale. L'ensemble de critères prédéterminés peut être construit par un opérateur humain de façon à répondre aux problèmes rencontrés dans un système d'information.These goals are achieved by an automatic intrusion detection method among a set of events to be monitored, an event being associated with at least one parameter taking a value among a plurality of values, the method comprising: a phase of learning comprising associating a subset of criteria with a given parameter, said subset of criteria being selected from a set of predetermined criteria; and a validation phase comprising confronting the value taken by said given parameter with said subset of criteria defined during the learning phase, such that whether said value satisfies said subset of associated criteria or not, then said value is considered valid or invalid. Thus, the fact that the criteria can be previously established makes it possible to develop an unlimited number of criteria and therefore to reinforce the characterization of the parameters during the learning phase in order to use these criteria during the validation phase to detect intrusions automatically and with optimal accuracy. The set of predetermined criteria can be constructed by a human operator to respond to problems encountered in an information system.

Ainsi, les critères prédéterminés sont construits d'une manière simple sans faire de calculs probabilistes ou autres et sont complètement dissociés des valeurs prises par les paramètres. Avantageusement, ladite valeur non valide engendre l'émission d'une alerte correspondant à l'événement associé audit paramètre donné ayant cette valeur non valide.Thus, the predetermined criteria are constructed in a simple manner without probabilistic or other calculations and are completely dissociated from the values taken by the parameters. Advantageously, said invalid value generates an alert corresponding to the event associated with said given parameter having this invalid value.

Ainsi, chaque alerte émise est spécifique car elle pointe directement sur le paramètre et sa valeur non valide ainsi que sur le critère invalidant.Thus, each alert issued is specific because it points directly to the parameter and its invalid value as well as to the invalidating criterion.

Selon une particularité de l'invention, la phase d'apprentissage comporte les étapes suivantes :According to one particularity of the invention, the learning phase comprises the following steps:

-associer à ladite pluralité de valeurs une pluralité de premiers sous- ensembles de critères, un premier sous-ensemble de critères étant associé à une valeur correspondante de ladite pluralité de valeurs, et -construire l'ensemble commun à ladite pluralité de premiers sous- ensembles de critères pour former ledit sous-ensemble de critères associés audit paramètre donné. Ainsi, le fait d'associer un ensemble pouvant comprendre un nombre illimité de critères extérieurs à chacune des valeurs permet d'augmenter la précision de la caractérisation des valeurs et donc des paramètres.associating with said plurality of values a plurality of first subsets of criteria, a first subset of criteria being associated with a corresponding value of said plurality of values, and constructing the set common to said plurality of first sub-sets of criteria; sets of criteria for forming said subset of criteria associated with said given parameter. Thus, associating a set that can include an unlimited number of criteria external to each of the values makes it possible to increase the accuracy of the characterization of the values and therefore of the parameters.

Selon un mode de réalisation de l'invention, le procédé comporte l'organisation d'une pluralité de critères déterminés en une structure hiérarchique comportant plusieurs niveaux définis selon une relation d'ordre partiel de sorte que chaque critère correspond à un nœud de ladite structure hiérarchique.According to one embodiment of the invention, the method comprises the organization of a plurality of criteria determined in a hierarchical structure comprising several levels defined according to a partial order relationship so that each criterion corresponds to a node of said structure hierarchical.

Ainsi, la structure hiérarchique permet de ne pas tester l'ensemble des critères de manière systématique et donc d'augmenter la rapidité et l'efficacité de la détection des intrusions ainsi que de la phase d'apprentissage.Thus, the hierarchical structure makes it possible not to test all the criteria in a systematic manner and therefore to increase the speed and effectiveness of the intrusion detection as well as the learning phase.

Un premier sous-ensemble de critères correspond à un premier chemin parcourant la structure hiérarchique depuis sa racine jusqu'au dernier nœud enfant dont le critère est satisfait par ladite valeur correspondante prise par ledit paramètre donné, la pluralité de premiers sous-ensembles de critères formant ainsi une pluralité de premiers chemins.A first subset of criteria corresponds to a first path traversing the hierarchical structure from its root to the last child node whose criterion is satisfied by said value corresponding one taken by said given parameter, the plurality of first subsets of criteria thereby forming a plurality of first paths.

Ainsi, le premier sous-ensemble de critères peut être déterminé en minimisant le nombre de tests.Thus, the first subset of criteria can be determined by minimizing the number of tests.

En outre, Ie sous-ensemble de critères associés audit paramètre donné correspond à un chemin commun extrait d'un parcours commun à ladite pluralité de premiers chemins.In addition, the subset of criteria associated with said given parameter corresponds to a common path extracted from a path common to said plurality of first paths.

Ainsi, le sous-ensemble de critères associés au paramètre donné peut être construit de manière simple et rapide.Thus, the subset of criteria associated with the given parameter can be constructed simply and quickly.

L'invention vise aussi une sonde de détection d'intrusions comportant un capteur d'événements parmi un ensemble d'événements à surveiller dans un système d'information, un événement étant associé à au moins un paramètre prenant une valeur parmi une pluralité de valeurs, la sonde comporte en outre un analyseur destiné à associer lors d'une phase d'apprentissage un sous-ensemble de critères à un paramètre donné, ledit sous-ensemble de critères étant choisi parmi un ensemble de critères prédéterminés, et à confronter lors d'une phase de validation la valeur prise par ledit paramètre donné audit sous-ensemble de critères, de sorte que selon que ladite valeur satisfait ou non ledit sous-ensemble de critères associés, alors ladite valeur est considérée comme valide ou non valide.The invention also relates to an intrusion detection probe comprising an event sensor among a set of events to be monitored in an information system, an event being associated with at least one parameter taking one of a plurality of values the probe further comprises an analyzer for associating, during a learning phase, a subset of criteria to a given parameter, said subset of criteria being chosen from among a set of predetermined criteria, and to be compared when a validation phase the value taken by said given parameter to said subset of criteria, so that whether or not said value satisfies said subset of associated criteria, then said value is considered valid or invalid.

Ainsi, grâce à un renforcement de la caractérisation des paramètres lors de la phase d'apprentissage, la sonde de détection d'intrusions permet une détection automatique des intrusions avec une grande précision et une efficacité optimale.Thus, by strengthening the characterization of the parameters during the learning phase, the intrusion detection probe allows automatic detection of intrusions with great precision and optimal efficiency.

Avantageusement, la sonde est destinée à émettre une alerte à destination d'un module de gestion, ladite alerte correspondant à l'événement associé audit paramètre donné prenant ladite valeur non valide et le critère non validé. Ainsi, chaque alerte émise par la sonde indique le paramètre et sa valeur non valide et le critère non validé.Advantageously, the probe is intended to issue an alert to a management module, said alert corresponding to the event associated with said given parameter taking said invalid value and the criterion not validated. Thus, each alert emitted by the probe indicates the parameter and its invalid value and the non-validated criterion.

L'invention propose aussi un système d'information surveillé comportant une pluralité de sondes de détection d'intrusions selon les caractéristiques ci-dessus et un module de gestion d'alertes comprenant une console de présentation d'alertes.The invention also proposes a monitored information system comprising a plurality of intrusion detection probes according to the above characteristics and an alert management module comprising an alarm presentation console.

Ainsi, une détection automatique efficace et précise des intrusions permet de renforcer la protection du système d'information.Thus, an effective and precise automatic detection of the intrusions makes it possible to reinforce the protection of the information system.

Brève description des dessinsBrief description of the drawings

D'autres particularités et avantages de l'invention ressortiront à la lecture de la description faite, ci-après, à titre indicatif mais non limitatif, en référence aux dessins annexés, sur lesquels :Other features and advantages of the invention will appear on reading the description given below, by way of indication but not limitation, with reference to the accompanying drawings, in which:

-la figure 1 est une vue très schématique d'un système d'information surveillé comportant un système de détection d'intrusions selon l'invention ;FIG 1 is a very schematic view of a monitored information system comprising an intrusion detection system according to the invention;

-les figures 2A et 2B sont des organigrammes pour la construction des sous-ensembles de critères selon un premier mode de réalisation de l'invention ; -la figure 3 montre très schématiquement un exemple d'une structure hiérarchique simplifiée des critères prédéterminés selon l'invention ; etFIGS. 2A and 2B are flow charts for the construction of the subsets of criteria according to a first embodiment of the invention; FIG. 3 very schematically shows an example of a simplified hierarchical structure of the predetermined criteria according to the invention; and

-les figures 4A et 4B sont des organigrammes pour la construction des sous-ensembles de critères selon un second mode de réalisation de l'invention.FIGS. 4A and 4B are flow charts for the construction of the subsets of criteria according to a second embodiment of the invention.

Description détaillée de modes de réalisationDetailed description of embodiments

La figure 1 illustre un exemple d'un système d'information 1 surveillé comportant un système de détection d'intrusions 3 comprenant plusieurs sondes 5 de détection d'intrusions et un module de gestion d'alertes 7.FIG. 1 illustrates an example of a monitored information system 1 comprising an intrusion detection system 3 comprising several intrusion detection probes 5 and an alert management module 7.

Ainsi, les sondes 5 de détection d'intrusions surveillent les événements venant de l'extérieur ou de l'intérieur d'un réseau du système d'information surveillé qui comprend des stations de travail 9 et des serveurs 11 communicant avec des réseaux externes (non représentés).Thus, the intrusion detection probes 5 monitor events from outside or inside a network of the monitored information system which includes workstations 9 and servers 11 communicating with external networks ( not shown).

Le module de gestion d'alerte 7 peut comporter un hôte 7a dédié au traitement des alertes et une console 7b de présentation d'alertes. Conformément à l'invention chaque sonde 5 de détection d'intrusions comporte un capteur 5a d'événements et un analyseur 5b.The alert management module 7 may include a host 7a dedicated to the processing of alerts and a 7b console for presenting alerts. According to the invention, each intrusion detection probe 5 comprises an event sensor 5a and an analyzer 5b.

Le capteur 5a d'événements surveille un ensemble d'événements survenus dans le système d'information 1. D'une manière générale, un événement est une action sur le système d'information 1 qui peut contenir un ou plusieurs paramètres. Ainsi, un événement donné peut être associé à un paramètre donné prenant une valeur parmi une pluralité de valeurs.The event sensor 5a monitors a set of events occurring in the information system 1. In general, an event is an action on the information system 1 which may contain one or more parameters. Thus, a given event may be associated with a given parameter taking one of a plurality of values.

A titre d'exemple, un événement peut correspondre à une requête http qui consiste pour un client à demander une ressource à un serveur 11. On peut retrouver la trace de cet événement dans le fichier log du serveur 11. Une requête http extraite d'une ligne de fichier de log peut être de la forme suivante : GETT /index.php ?identifiant=UPZB7456.For example, an event may correspond to an http request which consists of a client requesting a resource from a server 11. This event can be traced in the log file of the server 11. An http request extracted from a log file line can be of the following form: GETT /index.php? id = UPZB7456.

Selon cet exemple, le client demande la ressource désignée parIn this example, the client requests the resource designated by

« /index.php » en passant le paramètre « identifiant » qui a pour valeur « UPZB7456 »."/Index.php" by passing the parameter "identifier" which has the value "UPZB7456".

En outre, la sonde 5 comporte un analyseur 5b destiné à associer un sous-ensemble de critères parmi un ensemble de critères prédéterminés à un paramètre donné lors d'une phase d'apprentissage.In addition, the probe 5 comprises an analyzer 5b for associating a subset of criteria from a set of predetermined criteria to a given parameter during a learning phase.

A titre d'exemple, un premier critère Cl peut être défini de la façon suivante : « la valeur a une longueur inférieure à six caractères ». Un deuxième critère C2 peut être défini de la façon suivante : « la valeur est composée de quatre lettres majuscules et de quatre chiffres ».By way of example, a first criterion C1 can be defined as follows: "the value has a length of less than six characters". A second criterion C2 can be defined as follows: "the value is composed of four capital letters and four digits".

De plus, l'analyseur 5b de la sonde 5 est destiné à confronter lors d'une phase de validation la valeur prise par le paramètre donné au sous-ensemble de critères, de sorte que selon que la valeur satisfait ou non à ce sous-ensemble de critères associés, alors la valeur est considérée comme valide ou non valide.In addition, the analyzer 5b of the probe 5 is intended to confront, during a validation phase, the value taken by the parameter given to the subset of criteria, so that, depending on whether or not the value satisfies this subset, set of associated criteria, then the value is considered valid or invalid.

Ainsi, suivant les exemples de l'événement et des critères Cl, C2 définis ci-dessus, la valeur du paramètre « identifiant » satisfait le critère C2 mais ne satisfait pas le critère Cl.Thus, according to the examples of the event and the criteria C1, C2 defined above, the value of the parameter "identifier" satisfies criterion C2 but does not satisfy criterion C1.

D'une manière générale, l'alerte correspondant à l'événement associé au paramètre donné prenant la valeur non valide est émise (flèche 13) par la sonde 5 à destination du module de gestion 7.In general, the alert corresponding to the event associated with the given parameter taking the invalid value is sent (arrow 13) by the probe 5 to the management module 7.

Le procédé selon l'invention consiste ainsi à détecter automatiquement toute intrusion parmi un ensemble d'événements à surveiller dans le système d'information 1. Un événement peut être associé à au moins un paramètre prenant une valeur parmi une pluralité de valeurs. En effet, un paramètre donné P peut prendre une valeur v, parmi un ensemble V = {v,,le {l,---/«}} de valeurs. Ce procédé comporte deux phases, une phase d'apprentissage et une phase de validation. La phase d'apprentissage comporte l'association d'un sous-ensemble Cp de critères à un paramètre donné. Le sous-ensemble Cp de critères est choisi parmi un ensemble C de critères prédéterminés, par exemple un ensemble C

Figure imgf000010_0001
{l,-- -rc}} de n critères. Cet ensemble C de critères prédéterminés peut être construit par un opérateur humain, par exemple par l'intermédiaire de la console 7b, de façon à répondre aux problèmes rencontrés dans le système d'information 1. Prenons pour exemple un paramètre qui prend pour valeur du code XML, P = <user name="Elvis Tombini" id="501"> quelques commentaires </user>. Ici, Ia valeur du paramètre P doit être du code XML bien formé c'est-à-dire, la valeur doit se conformer aux standards XML définis par le W3C (par exemple, une balise ouvrante est associée à une balise fermante correspondante, les valeurs de paramètre XML doivent être entre guillemets etc.).The method according to the invention thus consists in automatically detecting any intrusion among a set of events to be monitored in the information system 1. An event may be associated with at least one parameter taking one of a plurality of values. Indeed, a given parameter P can take a value v, from among a set V = {v ,, the {l, --- /}}} of values. This process comprises two phases, a learning phase and a validation phase. The learning phase comprises associating a subset C p of criteria with a given parameter. The subset C p of criteria is chosen from a set C of predetermined criteria, for example a set C
Figure imgf000010_0001
{l, - -rc}} of n criteria. This set C of predetermined criteria can be constructed by a human operator, for example via the console 7b, so as to respond to the problems encountered in the information system 1. Take for example a parameter that takes the value of the XML code, P = <user name = "Elvis Tombini" id = "501"> some comments </ user>. Here, the value of the parameter P must be well-formed XML, that is, the value must conform to the XML standards defined by the W3C (for example, an opening tag is associated with a corresponding closing tag, the XML parameter values must be enclosed in quotation marks etc.).

Selon cet exemple et conformément à l'invention, on peut définir l'ensemble suivant de critères que cette valeur du paramètre P devra satisfaire :According to this example and in accordance with the invention, it is possible to define the following set of criteria that this value of the parameter P must satisfy:

- la valeur commence par le caractère "<" ;- the value starts with the character "<";

- la valeur commence par une balise XML ouvrante ;- the value starts with an opening XML tag;

- la valeur termine par une balise XML fermante ;- the value ends with a closing XML tag;

- la structure hiérarchique des balises XML est respectée ; - les valeurs de paramètre des éléments XML sont entre guillemets.- the hierarchical structure of the XML tags is respected; - The parameter values of XML elements are enclosed in quotation marks.

Tous ces critères peuvent s'exprimer sous forme de "pattern matching" lors de l'association de ces critères au paramètre P .All these criteria can be expressed in the form of "pattern matching" when these criteria are associated with the parameter P.

Les critères prédéterminés peuvent ainsi être construits d'une manière simple et complètement dissociée des valeurs prises par les paramètres.The predetermined criteria can thus be constructed in a simple manner and completely dissociated from the values taken by the parameters.

De plus, grâce au fait que ces critères sont préalablement établis, cela permet d'élaborer un nombre illimité de critères et donc de renforcer la caractérisation des paramètres lors de la phase d'apprentissage. Ceci permet d'utiliser ces caractéristiques, lors de la phase de validation, pour détecter les intrusions de manière automatique et avec une efficacité et une précision optimales.Moreover, thanks to the fact that these criteria are previously established, this makes it possible to develop an unlimited number of criteria and thus to reinforce the characterization of the parameters during the learning phase. This makes it possible to use these characteristics, during the validation phase, to detect the intrusions automatically and with optimum efficiency and accuracy.

En effet, lors de la phase de validation, chaque valeur v, prise par le paramètre donné P est confrontée à un sous-ensemble Cp de critères associés. Si la valeur v, satisfait ce sous-ensemble CP de critères, alors cette valeur v; est considérée comme valide. Si elle ne satisfait pas ce sous-ensemble Cp de critères, elle n'est pas considérée comme valide et une alerte correspondant à l'événement associé au paramètre donné ayant cette valeur non valide est émise (flèche 13) vers le module de gestion 7.Indeed, during the validation phase, each value v, taken by the given parameter P is confronted with a subset C p of associated criteria. If the value v satisfies this subset C P of criteria, then this value v ; is considered valid. If it does not satisfy this subset C p of criteria, it is not considered valid and an alert corresponding to the event associated with the given parameter having this invalid value is sent (arrow 13) to the management module 7.

Conformément à l'invention, les figures 2A à 4B montrent différents modes de réalisation de la phase d'apprentissage.According to the invention, FIGS. 2A to 4B show different embodiments of the learning phase.

D'une manière générale, la phase d'apprentissage comporte une première étape pour associer à la pluralité de valeurs, une pluralité de premiers sous-ensembles de critères. Ainsi, un premier sous-ensembleIn general, the learning phase comprises a first step for associating with the plurality of values, a plurality of first subsets of criteria. So, a first subset

Cvl ={cj,je \[,---l}: cj → v,} de critères peut être associé à chacune des valeurs v, prise par le paramètre donné P pour former la pluralité Cv ={C,,;,/e {l,--m}} de premiers sous-ensembles de critères, où chaque premier sous-ensemble Cv! de critères est associé à une valeur v, correspondante.C vl = {c j , I \ [, --- l}: c j → v,} of criteria can be associated with each of the values v, taken by the given parameter P to form the plurality C v = {C, , ; , / e {l, - m}} of first subsets of criteria, where each first subset C v! of criteria is associated with a corresponding value v.

La phase d'apprentissage comporte en outre une seconde étape pour construire un ensemble commun à la pluralité Cv de premiers sous- ensembles de critères afin de former le sous-ensemble de critères Cp associé au paramètre donné P . Alors, afin de caractériser des paramètres à partir d'un ensemble C de critères prédéterminés, on cherche à construire un premier sous ensemble C1,, pour chaque valeur v, avant de construire le sous-ensemble Cp de critères associé au paramètre donné P .The learning phase further comprises a second step of constructing a set common to the plurality C v of first subsets of criteria in order to form the subset of criteria C p associated with the given parameter P. Then, in order to characterize parameters from a set C of predetermined criteria, we seek to construct a first subset C 1 ,, for each value v, before constructing the subset C p of criteria associated with the given parameter P.

Les figures 2A et 2B comportent des organigrammes très schématiques illustrant un premier mode de réalisation pour la construction des sous-ensembles Cvl et CP respectivement. A l'étape El, on définit un ensemble C = {C, ,Z G {1,- - -R}} de n critères et on considère que le premier sous-ensemble Cvl des critères associés à une valeur v, donnée est initialement vide.2A and 2B comprise very schematic diagrams illustrating a first embodiment for the construction of subsets C and C P vl respectively. In step E1, we define a set C = {C,, ZG {1, - - R}} of n criteria and consider that the first subset C v1 of criteria associated with a given value v is initially empty.

Les étapes E2 à E5 forment une boucle vérifiant pour chaque critère c, avec i = l,---,n si v, satisfaite, , alors Cv/ = CV/ u{c,}.Steps E2 to E5 form a loop satisfying for each criterion c, with i = l, ---, n if v, satisfied, then C v / = C V / u {c,}.

Plus particulièrement, l'étape E2 est un test itératif vérifiant si on a parcouru les n critères prédéterminés de l'ensemble C . Ainsi, si l'indice i désignant le critère c, est inférieur ou égal à n (c'est-à-dire i≤ n) alors on passe à l'étape E3. L'étape E3 est un test destiné à vérifier si la valeur v, satisfait le critère c, . Si le résultat du test est positif, c'est-à-dire si v, satisfait bien le critère c, alors on passe à l'étape E4 où on ajoute le critère c, au premier sous-ensemble Cvl des critères associés à la valeur v, , c'est-à-dire Cv/ = Cv/ u{c,}. En revanche, si le résultat du test E3 est négatif, alors on passe à l'étape E5 où on incrémente l'indice i (/ = / +1 ) avant de reboucler à l'étape E2.More particularly, the step E2 is an iterative test verifying if the n predetermined criteria of the set C have been traversed. Thus, if the index i denoting the criterion c, is less than or equal to n (that is to say i≤n) then step E3 is taken. Step E3 is a test intended to check whether the value v, satisfies the criterion c,. If the result of the test is positive, that is, if v satisfies criterion c, then step E4 where criterion c is added to the first subset C v1 of criteria associated with the value v, that is to say C v / = C v / u {c,}. On the other hand, if the result of the test E3 is negative, then we go to the step E5 where we increment the index i (/ = / +1) before looping back to the step E2.

Finalement, si tous les critères de l'ensemble C ont été parcourus, c'est-à-dire si l'indice / du test E2 n'est pas inférieur ou égal à n , alors on passe à l'étape E6 pour renvoyer le premier sous-ensembleFinally, if all the criteria of the set C have been traveled, that is to say if the index / test E2 is not less than or equal to n, then we go to step E6 to return the first subset

Cw des critères associés à la valeur v, .C w criteria associated with the value v,.

Ainsi, l'organigramme de la figure 2A, montre que chaque premier sous-ensemble Cw de critères comporte les critères satisfaits par la valeur correspondante v, prise par le paramètre donné P . Alors, pour l'ensemble F = {v,,/e {.,•••/«}} des valeurs prises par le paramètre donnéThus, the flow chart of FIG. 2A shows that each first subset C w of criteria comprises the criteria satisfied by the corresponding value v, taken by the given parameter P. Then, for the set F = {v ,, / e {., ••• / "}} of the values taken by the given parameter

P1 l'organigramme de la figure 2A permet d'associer à chaque valeur v, , un premier sous-ensemble de critères Cv! pour former une pluralité Cκ ={Cv/,/e {l,---m}} de premiers sous-ensembles de critères associés aux valeurs de l'ensemble V prises par le paramètre donné P .P 1 the flowchart of Figure 2A allows to associate with each value v, a first subset of criteria C v! to form a plurality C κ = {C v / , / e {l, --- m}} of first subsets of criteria associated with the values of the set V taken by the given parameter P.

La construction du sous-ensemble Cp de critères associé au paramètre donné P est illustrée par l'organigramme de la figure 2B. A l'étape E7, on définit la pluralité Cv ={Cv/,/e {l,- ••?«}} de premiers sous-ensembles de critères construits par l'organigramme précédent et on considère que le sous-ensemble Cp de critères associé au paramètre donné P est initialement égal à Cn (C p = Cvl ) et on commence par l'indice 1 = 2. Les étapes E8 à ElO forment une boucle parcourant la pluralitéThe construction of the subset C p of criteria associated with the given parameter P is illustrated by the flowchart of FIG. 2B. In step E7, we define the plurality C v = {C v / , / e {l, - ••? "}} Of first subsets of criteria constructed by the preceding flowchart and it is considered that the subset set C p of criteria associated with the given parameter P is initially equal to C n (C p = C vl ) and we start with the index 1 = 2. The steps E8 to ElO form a loop traversing the plurality

Cv ={Cvl,le \[,- --m}} de premiers sous-ensembles de critères pour former le sous-ensemble Cp de critères associé au paramètre donné P comme étant l'ensemble des critères communs associés aux valeurs prises par ce paramètre donné P . Plus particulièrement, l'étape E8 est un test itératif vérifiant si on a parcouru les m premiers sous-ensembles de critères Cvl . Ainsi, si l'indice / désignant le premier sous-ensemble de critères Cv, est inférieur ou égal à m (I ≤ m ) alors on passe à l'étape E9.C v = {C vl , the \ [, - ->}} of first subsets of criteria to form the subset C p of criteria associated with the given parameter P as being the set of common criteria associated with the values taken by this given parameter P. More particularly, step E8 is an iterative test verifying whether the first m subsets of criteria C v1 have been traversed. Thus, if the index / designating the first subset of criteria C v , is less than or equal to m (I ≤ m) then step E9 is taken.

A l'étape E9, on construit de manière itérative le sous-ensemble Cp de critères associé au paramètre donné P en formant l'intersection entre les premiers sous-ensembles de critères, c'est-à-dire Cp = n/6{, m}Cvl . Ensuite, on passe à l'étape ElO pour incrémenter l'indiceIn step E9, it is iteratively constructed the subset C p criteria associated with the given parameter P by forming the intersection between the first subsets of criteria, that is to say C p = n / 6 { , m} C vl . Then, we go to step ElO to increment the index

/ (/ = / +1) avant de reboucler à l'étape E8./ (/ = / +1) before looping back to step E8.

Finalement, si tous les m premiers sous-ensembles de critères Cvl ont été parcourus, c'est-à-dire si l'indice / du test E8 n'est pas inférieur ou égal à m , alors on passe à l'étape EIl pour renvoyer le sous- ensemble Cp de critères associé au paramètre donné P . Les figures 3 à 4B illustrent un autre mode de réalisation pour la caractérisation d'un paramètre donné.Finally, if all the first m subsets of criteria C vl have been traversed, that is, if the index / test E8 is not less than or equal to m, then we proceed to step EIl to return the subset C p of criteria associated with the given parameter P. Figures 3 to 4B illustrate another embodiment for the characterization of a given parameter.

En effet, la figure 3 montre qu'une pluralité de critères déterminés C = {cl,ie {θ,---n}} (selon cet exemple simplifié n = 6 ) peuvent être organisés en une structure hiérarchique ou arbre de caractérisation A = [N1Je {θ,---n}} comportant plusieurs niveaux définis selon une relation d'ordre partiel (notée -<) de sorte que chaque critère c, correspond à un nœud N, de cette structure hiérarchique.Indeed, FIG. 3 shows that a plurality of determined criteria C = {c 1 , ie {θ, -n}} (according to this simplified example n = 6) can be organized in a hierarchical structure or characterization tree A = [N 1 I {θ, --- n}} having several levels defined according to a partial order relation (noted - <) so that each criterion c, corresponds to a node N, of this hierarchical structure.

La racine de l'arbre est représentée par le noeud N0 qui par convention est associé à un critère nul et à chaque noeud N, est associé un critère c, -The root of the tree is represented by the node N 0 which conventionally is associated with a null criterion and with each node N, is associated a criterion c, -

En outre, par construction, les critères associés aux noeuds fils Nn,Nl2,...,Ntl d'un noeud N, sont exclusifs. Ainsi, si un élément satisfait un critère clk , associé à un noeud Nlk , il ne satisfait aucun critère associé aux noeuds frères.In addition, by construction, the criteria associated with the child nodes N n , N 12 , ..., N t 1 of a node N, are exclusive. Thus, if an element satisfies a criterion c lk , associated with a node N lk , it does not satisfy any criterion associated with the sibling nodes.

Soient N, et N1 deux noeuds de l'arbre de caractérisation, alors on note N, -< N7 s'il existe un chemin dans l'arbre de caractérisation entre les noeuds N, et N; et si N, est un ancêtre de N, . En pratique, si N, et Nj satisfont la relation d'ordre partiel < alors ils appartiennent à une même branche de l'arbre de caractérisation.Let N, and N 1 be two nodes of the characterization tree, then we denote N, - <N 7 if there exists a path in the characterization tree between the nodes N, and N ; and if N, is an ancestor of N,. In practice, if N, and N j satisfy the partial order relation <then they belong to the same branch of the characterization tree.

La relation N, ^ N7 peut aussi s'écrire N, ^ N11 -< ...Nlk < ... < Nj où les N,te{, /j sont l'ensemble des noeuds, satisfaisant la relation <, qui forment le chemin dans l'arbre de caractérisation entre les noeuds N, etThe relation N, ^ N 7 can also be written N, ^ N 11 - <... N lk <... <N j where the N, te { , / j are the set of nodes, satisfying the relation <, which form the path in the characterization tree between the nodes N, and

Nj . La construction du sous-ensemble Cvl est illustrée par l'organigramme de la figure 4A où pour un paramètre donné P et l'ensemble de ses valeurs V = {vl,le $,---m}}, on parcourt pour chaque valeur V1 , l'arbre de caractérisation depuis la racine en testant le critère associé à chaque noeud.N j . The construction of the subset C v1 is illustrated by the flowchart of FIG. 4A where for a given parameter P and the set of its values V = {v l , the $, --- m}}, one traverses for each value V 1 , the tree of characterization since the root by testing the criterion associated with each node.

Chaque premier sous-ensemble C11, de critères correspond à un premier chemin parcourant la structure hiérarchique depuis sa racine jusqu'au dernier nœud enfant dont le critère est satisfait par la valeur correspondante v, prise par le paramètre donné P . Ainsi, la pluralité de premiers sous-ensembles de critères forment une pluralité de premiers chemins. Plus particulièrement, l'étape E21 est une initialisation où l'on définit l'arbre de caractérisation correspondant à l'ensemble C = {cl,ie {θ,- --n}} de n critères prédéterminé et pour commencer on initialise l'indice / 0 = 0 ). De plus, on considère que le premier sous- ensemble Cv/ de critères associés à une valeur V1 donnée est initialement vide.Each first subset C 11 of criteria corresponds to a first path traversing the hierarchical structure from its root to the last child node whose criterion is satisfied by the corresponding value v, taken by the given parameter P. Thus, the plurality of first subsets of criteria form a plurality of first paths. More particularly, the step E21 is an initialization in which the characterization tree corresponding to the set C = {c 1 , ie {θ, - - n}} of n predetermined criteria is defined and, to begin, one initializes the index / 0 = 0). Moreover, it is considered that the first subset C v / of criteria associated with a given value V 1 is initially empty.

A l'étape E22, si, pour un noeud N,., la valeur v, satisfait le critère c,, alors on ajoute le critère c, au sous-ensemble Cv, de critères associés à la valeur v, (étape E23), c'est-à-dire Cvl = Cvl u{c,} et on passe à l'étape E24. L'étape E24 est un test pour vérifier si le nœud N1 a un nœud fils Nk . Si oui, alors on passe à l'étape E25 où l'on attribue à l'indice / la valeur k (i = k) avant de reboucler à l'étape E22.In step E22, if, for a node N, the value v, satisfies the criterion c ,, then the criterion c is added to the subset C v of criteria associated with the value v, (step E23 ), i.e. C v1 = C v1 u {c,} and proceed to step E24. Step E24 is a test to check if node N 1 has a child node N k . If yes, then step E25 where the index / the value k (i = k) is assigned before looping back to step E22.

Si le résultat du test de l'étape E22 est négatif, c'est-à-dire que la valeur v, ne satisfait pas le critère c;, alors on passe à l'étape E27. L'étape E27 est un test pour vérifier si le nœud N, a un nœud frère Nh . Si oui, c'est-à-dire si le nœud N, a un nœud frère N,, , alors on passe à l'étape E28 où l'on attribue à l'indice / la valeur h (i = h) avant de reboucler à l'étape E22. En revanche si le résultat du test E24 ou celui du test E27 est négatif, alors on passe à l'étape E29 pour renvoyer le premier sous- ensemble Cv/ de critères associés à la valeur v, .If the result of the test of step E22 is negative, that is to say that the value v does not satisfy criterion c ; then go to step E27. Step E27 is a test to check if node N, has a sister node N h . If so, that is to say if the node N has a brother node N ,, then we go to step E28 where the index / the value h (i = h) is assigned to to loop back to step E22. On the other hand, if the result of the test E24 or that of the test E27 is negative, then step E29 is carried out to return the first subset C v / of criteria associated with the value v,.

Ainsi, si pour un noeud N11 la valeur v, satisfait le critère C1 mais ne satisfait aucun des critères de ses noeuds fils ou s'il n'y a pas de noeud fils, le chemin entre N0 et N,. caractérise la valeur v, .Thus, if for a node N 11 the value v satisfies the criterion C 1 but does not satisfy any of the criteria of its child nodes or if there is no child node, the path between N 0 and N 1. characterizes the value v,.

L'ensemble des critères associés à la valeur v, est l'union des critères satisfaits par cette valeur depuis la racine N0 de l'arbre de classification jusqu'au nœud N, inclus, soit Cvl ≈ ^jNkSNa^N Ck . On notera que, par construction de l'arbre de caractérisation, une valeur v, ne peut en parcourir qu'une seule branche.The set of criteria associated with the value v, is the union of the criteria satisfied by this value from the root N 0 of the classification tree up to the node N, inclusive, ie C vl ≈ ^ j NkSNa ^ N C k . It will be noted that, by construction of the characterization tree, a value v can traverse only one branch.

La figure 4B est un organigramme illustrant la construction du sous-ensemble Cp de critères associé au paramètre donné P et dont le principe est le même que celui de la figure 2B. En effet, à chaque valeur v, de l'ensemble V

Figure imgf000017_0001
des valeurs prises par un paramètre donné P , est associé un ensemble de critères Cvl selon l'organigramme de la figure 4A. On noteFIG. 4B is a flowchart illustrating the construction of the subset C p of criteria associated with the given parameter P and whose principle is the same as that of FIG. 2B. Indeed, at each value v, of the set V
Figure imgf000017_0001
values taken by a given parameter P, is associated a set of criteria C vl according to the flowchart of FIG. 4A. We notice

Cy ={Cv/,/e {l,---w}} la pluralité de premiers sous-ensembles de critères associés aux valeurs prises par le paramètre P . Alors, comme précédemment, le sous-ensemble de critères associés au paramètre donnéC y = {C v / , / e {l, --- w}} the plurality of first subsets of criteria associated with the values taken by the parameter P. Then, as before, the subset of criteria associated with the given parameter

P est l'ensemble commun de cette pluralité de sous-ensemblesP is the common set of this plurality of subsets

( Cp = n/e{[ m}Cv/ ).(C p = n / e { [m } C v / ).

Cependant, au vu de la structure arborescente utilisée, on doit considérer deux cas. Si cvm = cv;, c'est-à-dire si les valeurs vm et vn satisfont les mêmes critères et donc donnent lieu à un même parcours dans l'arbre de caractérisation, alors c ncm =cγm . En revanche, si cvm ≠ cvn, c'est-à-dire, si les valeurs vm et vn ne satisfont pas les mêmes critères, et donc ne donnent pas lieu à un même parcours dans l'arbre de caractérisation, alors on peut extraire un sous- ensemble de critères communs à cvm et cm et donc un chemin commun dans l'arbre de caractérisation. Dans ce cas, on extrait un sous-ensemble de critères satisfaisant les deux valeurs vm et v,, à partir de leur parcours commun dans l'arbre de caractérisation.However, in view of the tree structure used, two cases must be considered. If c vm = c v; That is to say if the values v m and w satisfy the same criteria and thus give rise to the same course in the characterization of tree, then c n m c = YM. On the other hand, if c vm ≠ c vn , that is, if the values v m and v n do not satisfy the same criteria, and therefore do not give rise to the same path in the characterization tree, then we can extract a subset of criteria common to c vm and c m and therefore a common path in the characterization tree. In this case, we extract a subset of criteria satisfying the two values v m and v ,, from their common path in the characterization tree.

Autrement dit, le sous-ensemble Cp de critères associés au paramètre donné correspond à un chemin commun extrait d'un parcours commun à la pluralité de premiers chemins.In other words, the subset C p of criteria associated with the given parameter corresponds to a common path extracted from a path common to the plurality of first paths.

En effet, la figure 4B montre que dans le cas non trivial où cvm ≠ cvn, l'étape E9 peut comporter les étapes E91 à E95.Indeed, FIG. 4B shows that in the non-trivial case where c vm ≠ c vn , step E9 may comprise steps E91 to E95.

A l'étape E91, on définit le chemin N0 ~< N; dans l'arbre de caractérisation lié à Q/ ( Cv/ = u^^^ Ck ) ainsi que le chemin N0 -< Nf dans l'arbre de caractérisation lié à Cp (CP = uNkSN^Nr Ck). En outre, on définit un ensemble R de critères initialement vide, correspondant au chemin parcouru dans l'arbre et on commence à parcourir cet arbre à partir de la racine (Nk = N0).In step E91, the path N 0 ~ <N is defined ; in the characterization tree bound to Q / (C v / = u ^^^ C k ) and the path N 0 - <N f in the characterization tree bound to C p (C P = u NkSN ^ Nr C k ). In addition, we define a set R of criteria initially empty, corresponding to the path traveled in the tree and we start to browse this tree from the root (N k = N 0 ).

L'étape E92 est un test pour vérifier s'il existe un nœud N, tel que Nk -< Nn N1 -< NV et N, -< Nr et tel qu'aucun des nœuds fils de N; ne remplisse cette condition.Step E92 is a test to check if there is a node N, such that N k - <N n N 1 - <N V and N, - <N r and such that none of the child nodes of N ; does not fulfill this condition.

Si le résultat du test E92 est positif, alors on passe à l'étape E93 où le chemin Nk -< N1 est ajouté au chemin associé à l'ensemble R , c'est-à-dire R = R u\JNqβNt^m Cq . A l'étape E94 on passe au nœud N, (Nfc = N, ) avant de reboucler à l'étape E92. En revanche, si le résultat du test E92 est négatif, alors on passe à l'étape E95 où l'on renvoie le sous-ensemble Cp de critères associés au paramètre donné qui correspond alors à l'ensemble R(Cp=R). If the result of the test E92 is positive, then proceed to step E93 where the path N k - <N 1 is added to the path associated with the set R, that is to say R = R u \ J NqβNt ^ m C q . At step E94, node N (N fc = N) is passed before looping back to step E92. On the other hand, if the result of the test E92 is negative, then we go to the step E95 where we return the subset C p of criteria associated with the given parameter which then corresponds to the set R (C p = R ).

Claims

REVENDICATIONS 1. Procédé de détection automatique d'intrusions parmi un ensemble d'événements à surveiller, un événement étant associé à au moins un paramètre prenant une valeur parmi une pluralité de valeurs, le procédé étant caractérisé en ce qu'il comporte :A method of automatically detecting intrusions among a set of events to be monitored, an event being associated with at least one parameter taking one of a plurality of values, the method being characterized in that it comprises: -une phase d'apprentissage comportant une association d'un sous- ensemble de critères parmi un ensemble de critères prédéterminés à un paramètre donné ; et -une phase de validation comportant la confrontation de la valeur prise par ledit paramètre donné audit sous-ensemble de critères défini lors de la phase d'apprentissage, de sorte que selon que ladite valeur satisfait ou non ledit sous-ensemble de critères associés, alors ladite valeur est considérée comme valide ou non valide.a learning phase comprising an association of a subset of criteria from a set of predetermined criteria to a given parameter; and a validation phase comprising confronting the value taken by said given parameter with said subset of criteria defined during the learning phase, such that whether said value satisfies said subset of associated criteria or not, then said value is considered valid or invalid. 2. Procédé selon la revendication 1, caractérisé en ce que ladite valeur non valide engendre l'émission d'une alerte correspondant à l'événement associé audit paramètre donné prenant cette valeur non valide.2. Method according to claim 1, characterized in that said invalid value generates the emission of an alert corresponding to the event associated with said given parameter taking this invalid value. 3. Procédé selon la revendication 1, caractérisé en ce que la phase d'apprentissage comporte les étapes suivantes :3. Method according to claim 1, characterized in that the learning phase comprises the following steps: -associer à ladite pluralité des valeurs une pluralité de premiers sous- ensembles de critères, un premier sous-ensemble de critères étant associé à une valeur correspondante de ladite pluralité de valeurs, et -construire l'ensemble commun à ladite pluralité de premiers sous- ensembles de critères pour former ledit sous-ensemble de critères associés audit paramètre donné.associating with said plurality of values a plurality of first subsets of criteria, a first subset of criteria being associated with a corresponding value of said plurality of values, and constructing the set common to said plurality of first sub-sets of criteria; sets of criteria for forming said subset of criteria associated with said given parameter. 4. Procédé selon la revendication 3, caractérisé en ce qu'il comporte l'organisation d'une pluralité de critères déterminés en une structure hiérarchique comportant plusieurs niveaux définis selon une relation d'ordre partiel de sorte que chaque critère correspond à un nœud de ladite structure hiérarchique.4. Method according to claim 3, characterized in that it comprises the organization of a plurality of criteria determined in a structure hierarchical structure comprising several levels defined according to a partial order relationship so that each criterion corresponds to a node of said hierarchical structure. 5. Procédé selon la revendication 4, caractérisé en ce qu'un premier sous- ensemble de critères correspond à un premier chemin parcourant la structure hiérarchique depuis sa racine jusqu'au dernier nœud enfant dont le critère est satisfait par ladite valeur correspondante prise par ledit paramètre donné, la pluralité de premiers sous-ensembles de critères formant ainsi une pluralité de premiers chemins.5. Method according to claim 4, characterized in that a first subset of criteria corresponds to a first path traversing the hierarchical structure from its root to the last child node whose criterion is satisfied by said corresponding value taken by said given parameter, the plurality of first subsets of criteria thus forming a plurality of first paths. 6. Procédé selon la revendication 5, caractérisé en ce que le sous- ensemble de critères associés audit paramètre donné correspond à un chemin commun extrait d'un parcours commun à ladite pluralité de premiers chemins.6. Method according to claim 5, characterized in that the subset of criteria associated with said given parameter corresponds to a common path extracted from a path common to said plurality of first paths. 7. Sonde (5) de détection d'intrusions comportant un capteur d'événements (5a) parmi un ensemble d'événements à surveiller dans un système d'information, un événement étant associé à au moins un paramètre prenant une valeur parmi une pluralité de valeurs, la sonde étant caractérisée en ce qu'elle comporte en outre un analyseur (5b) destiné à associer un sous-ensemble de critères parmi un ensemble de critères prédéterminés à un paramètre donné lors d'une phase d'apprentissage et à confronter lors d'une phase de validation la valeur prise par ledit paramètre donné audit sous-ensemble de critères, de sorte que selon que ladite valeur satisfait ou non ledit sous-ensemble de critères associés, alors ladite valeur est considérée comme valide ou non valide.7. Intrusion detection probe (5) having an event sensor (5a) among a set of events to be monitored in an information system, an event being associated with at least one parameter taking a value among a plurality of values, the probe being characterized in that it further comprises an analyzer (5b) intended to associate a subset of criteria from a set of predetermined criteria to a given parameter during a learning phase and to confront during a validation phase, the value taken by said given parameter to said subset of criteria, such that whether or not said value satisfies said subset of associated criteria, then said value is considered valid or invalid. 8. Sonde (5) selon la revendication 7, caractérisée en ce qu'elle est destinée à émettre une alerte à destination d'un module de gestion (7), l'alerte correspondant à l'événement associé audit paramètre donné prenant ladite valeur non valide.8. Probe (5) according to claim 7, characterized in that it is intended to issue an alert to a management module (7), the alert corresponding to the event associated with said given parameter taking said invalid value. 9. Système d'information surveillé comportant un module de gestion d'alertes (7) comprenant une console de présentation d'alertes (7B), caractérisé en ce que le système d'information comporte en outre une pluralité de sondes de détection d'intrusions selon l'une quelconque des revendications 7 et 8. A monitored information system comprising an alert management module (7) comprising an alert presentation console (7B), characterized in that the information system further comprises a plurality of detection probes (7B). intrusions according to any one of claims 7 and 8.
PCT/FR2006/050087 2005-02-01 2006-02-01 Method and system for automatically detecting intrusions Ceased WO2006082342A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0500972 2005-02-01
FR0500972A FR2881597A1 (en) 2005-02-01 2005-02-01 Intrusions detecting method for monitored information system, involves confronting value taken by parameter so as to consider value as valid or non valid, where parameter is associated to sub-assembly of criterions during learning phase

Publications (1)

Publication Number Publication Date
WO2006082342A1 true WO2006082342A1 (en) 2006-08-10

Family

ID=35447202

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2006/050087 Ceased WO2006082342A1 (en) 2005-02-01 2006-02-01 Method and system for automatically detecting intrusions

Country Status (2)

Country Link
FR (1) FR2881597A1 (en)
WO (1) WO2006082342A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015186662A1 (en) 2014-06-06 2015-12-10 日本電信電話株式会社 Log analysis device, attack detection device, attack detection method and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015719A1 (en) * 2002-07-16 2004-01-22 Dae-Hyung Lee Intelligent security engine and intelligent and integrated security system using the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040015719A1 (en) * 2002-07-16 2004-01-22 Dae-Hyung Lee Intelligent security engine and intelligent and integrated security system using the same

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KRUEGEL C ET AL: "On the Detection of Anomalous System Call Arguments", COMPUTER SECURITY - ESORICS 2003. 8TH EUROPEAN SYMPOSIUM ON RESEARCH IN COMPUTER SECURITY. PROCEEDINGS (LECTURE NOTES IN COMPUT. SCI. VOL.2808) SPRINGER-VERLAG BERLIN, GERMANY, 2003, pages 101 - 118, XP002358951, ISBN: 3-540-20300-1 *
MARRAKCHI Z ET AL: "Flexible Intrusion Detection Using Variable-Length Behavior Modeling in Distributed Environment: Application to CORBA Objects", RECENT ADVANCES IN INTRUSION DETECTION. THIRD INTERNATIONAL WORKSHOP, RAID 2000. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.1907) SPRINGER-VERLAG BERLIN, GERMANY, 2000, pages 130 - 144, XP002358950, ISBN: 3-540-41085-6 *
TANDON G, CHAN P: "Learning Rules from System Call Arguments and Sequences for Anomaly Detection", PROCEEDINGS OF ICDM WORKSHOP ON DATA MINING FOR COMPUTER SECURITY (DMSEC), 2003, pages 20 - 29, XP002358949, Retrieved from the Internet <URL:http://www.cs.fit.edu/~pkc/papers/dmsec03tandon.pdf> [retrieved on 20051213] *

Also Published As

Publication number Publication date
FR2881597A1 (en) 2006-08-04

Similar Documents

Publication Publication Date Title
EP3479285B1 (en) Method and device for monitoring the security of an information system
AU2017274576B2 (en) Classification of log data
FR3018620A3 (en) CREATING RULES FOR USE IN THIRD PARTY MANAGEMENT SYSTEMS
US8589328B1 (en) Method and apparatus for examining computer user activity to assess user psychology
EP3053320B1 (en) Method for detecting anomalies in network traffic
US12450348B2 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US20250030704A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
Robertson et al. Effective Anomaly Detection with Scarce Training Data.
EP3399720A1 (en) Method and electronic device for monitoring an avionics software application, associated computer program and avionics system
US20140012973A1 (en) User identification using multifaceted footprints
US20250028826A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
US12470568B2 (en) Tree-based learning of application programming interface specification
EP4535164A1 (en) Method and device for generating a recommendation for correcting a configuration file of a computer environment
Azodi et al. A new approach to building a multi-tier direct access knowledgebase for IDS/SIEM systems
EP3365829B1 (en) Method of aiding the detection of infection of a terminal by malware
WO2006082342A1 (en) Method and system for automatically detecting intrusions
WO2019122241A1 (en) Method for automatically constructing computer attack scenarios, computer program product and associated construction system
FR2902954A1 (en) Entity e.g. web server, inventory storage system for e.g. firewall, has child/terminal nodes linked to parent node by relation so that entity versions and group of versions of child or terminal nodes form part of parent node version group
Alata et al. An automated approach to generate web applications attack scenarios
Barredo-Valenzuela et al. Snorkeling in dark waters: A longitudinal surface exploration of unique Tor Hidden Services (Extended Version)
US20260030355A1 (en) Cyber threat information processing apparatus, cyber threat information processing method, and storage medium storing cyber threat information processing program
EP2225853B1 (en) Improved message-based communication system monitor
Massimo et al. Onion under Microscope: An in-depth analysis of the Tor Web
Rodriguez Barredo-Valenzuela et al. Snorkeling in dark waters: A longitudinal surface exploration of unique Tor Hidden Services (Extended Version)
Shen et al. Social Proof is in the Pudding: The (Non)-Impact of Social Proof on Software Downloads

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06726187

Country of ref document: EP

Kind code of ref document: A1

WWW Wipo information: withdrawn in national office

Ref document number: 6726187

Country of ref document: EP