WO2006123036A1 - Procede de representation en structure arborescente d'un groupe de flots de donnees numeriques. structure arborescente, procede et systeme de detection d'une attaque par inondation - Google Patents
Procede de representation en structure arborescente d'un groupe de flots de donnees numeriques. structure arborescente, procede et systeme de detection d'une attaque par inondation Download PDFInfo
- Publication number
- WO2006123036A1 WO2006123036A1 PCT/FR2006/001059 FR2006001059W WO2006123036A1 WO 2006123036 A1 WO2006123036 A1 WO 2006123036A1 FR 2006001059 W FR2006001059 W FR 2006001059W WO 2006123036 A1 WO2006123036 A1 WO 2006123036A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- address
- data structure
- group
- stream
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 126
- 238000001514 detection method Methods 0.000 title claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 claims abstract description 37
- 230000006399 behavior Effects 0.000 claims description 64
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000012544 monitoring process Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 7
- 230000003936 working memory Effects 0.000 claims description 7
- 238000011897 real-time detection Methods 0.000 claims description 6
- 206010000117 Abnormal behaviour Diseases 0.000 claims description 5
- 230000006378 damage Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 230000008034 disappearance Effects 0.000 claims 4
- 230000036626 alertness Effects 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 14
- 230000004044 response Effects 0.000 description 13
- 230000015654 memory Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000007418 data mining Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101100186820 Drosophila melanogaster sicily gene Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000000547 structure data Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000000207 volumetry Methods 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/74591—Address table lookup; Address filtering using content-addressable memories [CAM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1458—Denial of Service
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/604—Address structures or formats
Definitions
- the invention relates to the control and technical management of broadband packet data transmission networks, and the flood attack detection of a set of addresses, IP addresses for example, which have a common part of address.
- IP addresses for IP addresses satisfying the IPV4 format, the addresses having their first n identical bits comprise a common part of address, condensed noted bits b 1 b 2 ... b n 0 ... 0 / n the first n bits b; being specified and the remaining 32-n bits being equal to zero, and masked, when considering the only common part of address.
- the address prefix is a familiar term for network operators or routing operators. Indeed, the aforementioned IP addresses may have first bits in common, but without forming a prefix. It is necessary to have a prior knowledge of the address prefix to conclude that the IP addresses have the same prefix.
- Such a prefix is based on a notion of routing, the same router processes a number of IP addresses because the routing protocol implies that data packets that have a common address prefix pass through this router, or on a notion an address allocator, an operator that can assign a number of addresses contiguous to client devices, which constitutes a pool or set of addresses having a common address prefix.
- the common address prefix therefore has a semantic value.
- a client equipment, a router, or even an autonomous system with a set of addresses is likely to be the victim of a distributed attack, still referred to as a flood attack.
- the detection of such an attack on a specific address of such a set of addresses can be almost impossible to perform, while the detection of abnormally high traffic to this set of addresses is likely to be performed.
- most of the techniques rely on the occasional observation of the traffic on a link, by duplication of the traffic by means of an optical coupler installed as a bypass of a link network, or with specific functions directly implemented on the router's interface card. The observations are made over time intervals, observation windows, successive.
- the different flows observed during these time intervals are then classified according to certain criteria such as data volume, number of connection establishment signals for the connected protocols, etc.
- the aforementioned classification then makes it possible to determine the most important flows, with respect to a given criterion.
- data mining techniques can be implemented to detect flows that represent the strong contributions over time.
- deltoid techniques consist, on the contrary, in comparing, between two consecutive windows, the different waves which have been observed and in noting the larger contributors but those with the largest differences in behavior between these two periods.
- a technique of the aforementioned deltoid type reference may be made to the article entitled “What's new: Finding Significant Differences in Network Data Streams" IEEE Infocom 2004 published by Graham Cormode, S. Muthukrishnan.
- Another common technique is to execute a learning phase, more or less long, followed by a phase in which we classify the different streams that were observed during the learning phase in several classes, each class being characterized by a typical behavior. Subsequently, if a stream comes out of its class, then it is likely that it is an anomaly.
- the aforementioned technique is in particular implemented in the product designated "Peak Flow” marketed by Arbor Networks. A more detailed description of the above product can be found on the company's website at http://www.arbornetworks.com.
- micro-streams All the abovementioned techniques essentially concern the detection of anomalies of individual flows, designated micro-streams.
- the proposed technique consists in representing the traffic by a binary tree constructed from the addresses of the observed packets.
- Each node of the tree corresponds to a group of flows that share certain common characteristics in terms of addressing.
- the latter comprises a first node, root node, whose traffic volume is zero.
- a left child node is created respectively one son nodes to the right otherwise and one associates with the thus created node the volume of measured traffic, as long as this volume does not exceed the weight P.
- the traffic volume value of the node represented in the binary tree by its address equal to the common address part is updated.
- a stream relating to an address having the same prefix as a node of the network is detected and its traffic volume added to the traffic volume of this node is greater than the weight threshold value P, of this node, then a child node is created to which the traffic volume is assigned, the traffic volume of the node, becoming a parent node, being unchanged.
- the binary tree traversal search makes it possible to check, for each node, whether the volume of traffic allocated to it is greater than the value of P. If so, the group of flows passing through the node in question is a big contributor, otherwise the aforementioned group of waves is not considered a big contributor.
- this operating mode does not appear well suited to the flood attack monitoring of a network or a set of addresses insofar as the observation windows are fixed and the threshold value of Comparison of the volume variable must be low to detect changes in the behavior of the flows.
- the aforementioned prior art all have the major disadvantage of requiring the accumulation of a large amount of information over successive time intervals. It is then necessary to sort this information and reconstruct the flows, to calculate the value of certain variables.
- the aforementioned sorting and calculation operation is very expensive in terms of computation time because of the gigantic number of streams, several million, which can coexist simultaneously on one or more transmission links of a broadband packet transmission network.
- the present invention aims to overcome the aforementioned drawbacks of the techniques of the prior art.
- An object of the present invention is, in particular, the implementation of a method and a tree structure of adaptive representation of a group of digital data streams transmitted through a network to a set of destination addresses. by exploiting the common address parts, this making it possible to assign to each node of the tree structure, an average behavior, vis-à-vis at least one observation criterion.
- a so-called normal behavior is calculated over water and depends only on a number of N sheets and associated state variables.
- Another object of the present invention is, furthermore, the implementation of a method and a tree structure of fully adaptive representation of a group of digital data streams transmitted to a set of destination addresses, exempt any constraint related to the existence of an observation window, the tree structure and the representation of a corresponding group of streams being updated over time, substantially in real time, depending on the arrival of recordings of flows, on criteria of rules of insertion and expulsion of the nodes and leaves of the tree structure and the representation making it possible to favor the taking into account of the common parts of addresses, important from the point of view of the notion of large contributors, following at least one specific criterion.
- Another object of the present invention is furthermore the implementation of a method of real-time detection of a flood attack of a set of addresses of a network from the method and the tree structure of the network.
- adaptive representation, objects of the present invention, from a plurality of observation points, each observation point may correspond to a node of the network to be monitored.
- the representation method is such that each candidate stream and / or the group of flows is associated with a state variable representative of the activity of this candidate stream and / or of this group of flows in terms of occupation of the network.
- a representation of this candidate stream and / or the group of flows is established according to a tree data structure, from the destination address of each candidate stream and / or this group of streams by traversing the existing nodes of this structure.
- the method also controls the creation of a node or sheet, the update of a node and the number of sheets attached thereto or an existing sheet in the tree data structure and the behavior variable. average in terms of network occupancy associated with the latter on criterion of discrimination of the destination address of each flow candidate and / or said common portion of address of this group of flows vis-à-vis the nodes respectively sheets of the tree structure data.
- the invention furthermore relates to a method for real-time detection of a flood attack of a broadband packet data digital data transmission network, this network being constituted by a plurality of nodes and leaves. at least one digital data candidate stream constituting a group of candidate streams comprising a destination address, each node and / or sheet of this network being identified by a network address corresponding to all or part of this destination address. It is remarkable in that it consists at least in establishing an adaptive tree data structure representative of at least one group of streams and / or a candidate stream of this network, in accordance with the representation method which is the subject of the invention.
- the flood attack detection method consists in declaring the node or the leaf of the tree data structure suspect and the group of flows or the candidate stream represented by the latter and to be launched. a tracking procedure of the node or sheet and the group of streams or candidate stream represented by them. Otherwise, on a comparison of unverified superiority to the true value, the process of real-time monitoring of at least one node or leaf of the tree data structure is continued.
- the procedure for tracking a node or a sheet consists at least in repeating the monitoring operation of the node or sheet whose the behavior is declared suspect.
- the procedure for tracking a node or a sheet consists at least in repeating the monitoring operation of the node or sheet whose the behavior is declared suspect.
- vis-à-vis a threshold value over successive time intervals, it also consists in declaring this node or this sheet suspicious behavior as the seat of abnormal behavior and to memorize all the parameters associated with the node or the leaf, in particular the common part of address associated with them, designated common part of abnormal address, then to perform a semantic analysis of the common part of abnormal address, vis-à-vis a set of specific address prefixes to be protected, and, finally, to initiate a hazard flood attack procedure on coincidence of the common part of abnormal address and at least one of the prefixes of specific addresses to protect.
- the real-time detection system for a flood attack of a broadband digital packet data transmission network which is the subject of the invention, relates to a network consisting of a plurality of nodes and leaves. seats of at least one candidate stream of digital data and / or a group of streams having a destination address.
- the detection system, object of the invention comprises at least input-output devices connected to the network, a central processing unit and a working memory.
- a module for creating and dynamically controlling an adaptive tree data structure according to the method of representation that is the subject of the invention, a module for detecting the suspicious behavior of at least one node or a leaf of the adaptive tree data structure and network according to the flood attack detection method, object of the invention, a database of specific address prefixes to protect and a launch module of a tracking procedure of at least one node of suspect behavior and alert, according to the flood attack detection method, object of the invention.
- FIG. 1a represents, by way of illustration, a specific non-limiting bit-tree structure, in this case PATRICIA's tree. , allowing the implementation of the representation method according to an adaptive tree data structure of a group of digital data streams transiting in network, according to the object of the present invention
- FIG. 1b represents, by way of illustration, a flowchart for implementing the representation method, according to an adaptive tree data structure, of a group of digital data streams transiting in a network towards a set of destination addresses comprising a common part of address, object of the present invention
- FIG. 1C represents, by way of illustration, a nonlimiting preferential embodiment of the representation method that is the subject of the invention illustrated in FIG.
- FIG. 1d represents, by way of illustration, a preferred implementation detail of the expulsion / reconstruction step of an out-of-date node of the tree data structure obtained thanks to the implementation of the object representation method of the invention, illustrated in Figure Ib;
- FIG. 2a represents, by way of illustration, a state vector associated with any candidate stream represented by the tree data structure obtained by implementing the object representation method of the invention illustrated in FIG. 1b
- FIG. 2b represents, by way of illustration, a state vector associated with any node of the tree data structure obtained by virtue of the implementation of the object representation method of the invention illustrated in FIG. 1b;
- FIG. 2c represents, by way of illustration, a state vector associated with any sheet of the tree data structure obtained by virtue of the implementation of the object representation method of the invention illustrated in FIG. 1b;
- FIG. 3 represents, by way of illustration, a dynamic tree data structure obtained thanks to the implementation of the representation method that is the subject of the invention illustrated in FIG. 1b;
- FIG. 4a represents, by way of illustration, a flowchart of the steps for implementing a flood attack detection method of a network or a set of addresses of this network, from a tree data structure according to the object of the present invention as shown in Figure 3, the method shown in Figure 4a for detecting suspicious behavior of a node or a leaf and any group of streams or candidate stream transiting through them;
- FIG. 4b represents, by way of illustration, a flowchart of the steps for implementing a procedure for tracking a node or a sheet whose behavior has been declared suspect, in order to allow, in the event of abnormal behavior, specific address prefixes, protecting them by launching an alert procedure;
- FIG. 5 represents, by way of illustration, a block diagram of a system for detecting a flood attack of a network or set of addresses of this network from a tree data structure, as shown in FIG. 3, in accordance with the method of detecting a flooding attack that is the subject of the invention, as illustrated in FIGS. 4a and 4b.
- FIGS. 1a and 1b A more detailed description of the method of representation according to a suitable tree data structure of a group of digital data streams transiting in a network, in accordance with the subject of the present invention, will now be given in connection with FIGS. 1a and 1b and the following figures.
- the notion of representation according to a tree data structure corresponds to that of constructing this tree data structure and using it as an adaptive data structure in a process or a computer system.
- various indications will be given in relation to FIG. 1a, with respect to the notation used to represent a tree data structure allowing the implementation of the method that is the subject of the present invention. invention from a tree structure.
- N R denotes a root node of the aforementioned tree structure represented by a binary tree, the root node being denoted N R [R].
- N R designates the aforementioned root node and that R represents a relative or absolute address of the root node according to whether the aforementioned root node represents a subnet of a broadband packet data network. for example.
- the tree structure is a tree structure with respect to the root node N R and that this tree structure consists of successive child nodes in the tree structure of which
- the address differs from the address of the parent node by the value of a bit equal to 0 or 1.
- the address of each L-level node differs from that of the node. parent of level k, less than L by bit of rank k of value 0 or 1.
- the child node whose bit different from the address of the parent node is 0 is conventionally located on the left and the child node whose bit different the address of the parent node is 1 is located on the right.
- any node of level L and address A of the tree structure as represented in FIG. 1a is located to the right of its direct k-level direct node, if the kth bit of its address A is 1 and left if the latter is 0
- Any node / leaf of the tree structure can be represented in the form of an address A, a level L and a right son and a left son which are themselves characterized respectively by addresses A 'and A "and levels L 'and L".
- L 1118x is the maximum value of the level of a node, equal for example for a leaf to the number of bits in the destination address field, ie 32, for example, plus 1, ie 33.
- a sheet is characterized by the fact that its level L is equal to L max and by right and left wires pointing to empty nodes.
- the tree structure requires that for an internal node of level L, which is not a leaf, the Lth bits of the addresses A 'and A "of the right and left wires are respectively equal to 1 and 0. More generally, all descending from an internal node situated to the right, respectively to the left, of an internal node of the level tree L has its Lth bit equal to 1, respectively its Lth bit equal to 0.
- any node of the tree structure represented in FIG. 1a and in particular in the context of the implementation of the method that is the subject of the present invention can thus be represented by the data of the value of the level L, of an A address and left and right wires. It is abbreviated as N L [A, A ', L' A ", L"].
- FIG. 1a and by convention, arbitrary nonlimiting representation is shown of any leaf of the tree structure as a node connected to a parent node by a dotted line, any sheet being able to be considered as a specific node. that is, as a terminating node that does not have a child node.
- a sheet is then characterized by an address A and a level L equal to L max ; a sheet is abbreviated N [A].
- AFL A 5 V
- a group of digital data streams is constituted for example by a plurality of candidate digital data streams, each candidate stream being noted CFk [Ak 5 Vk].
- An AFL [A 5 V] flow group is attached in the structure NL node tree [A, A ', L', A ", L"], indicating that the flows of the AF group L [A 9 V L ] have the first (LI) address bits in common.
- Each node is then enriched with a variable V representing the cumulative sum of the variables V k of the candidate streams passing through this node.
- N L [A 5 A 1 ,!; A ", L";V]; a leaf of the tree is denoted N [A; V].
- a group of digital data streams is constituted by a plurality of candidate streams and each digital data stream is networked to a set of destination addresses, each having a common address portion.
- the group of flows flowing in a network at the node N 2 [48.0.0.0.64.0.0.0,33,48.0.0.0, 33; V 2] transits to the destination addresses such that the first bit is 0 and the flow candidate CFK [48.0.0.0 5 V k] transits to the sheet represented as a node N [48.OOO; Vo] in figure the.
- the corresponding right node is node N [64.0.0.0; Vi],
- any candidate stream or any group of digital data streams transits to a set of destination addresses each having a common address portion, the previously described stream group having the common address portion indicating the first equal bit. at 0.
- Each candidate flow passes to a sheet, such as the sheet N [48.OOO; Vo] of FIG. 1a, having the address of the aforementioned sheet as the destination address.
- each candidate stream and / or the group of flows is associated with a state variable V k respectively V representative of the activity of the candidate stream and / or the group of flows in terms of network occupation.
- the candidate stream CF k [48.0.0.0, V k ] for example is available. It is understood, in particular, that the tree structure of the figure allows it to establish a representation according to a tree data structure of each of the candidate streams CF k [A k5 V k ] and / or the group of flows AFL [ A, V] from the destination address of each candidate stream.
- the streams belonging to the group AF L [A 5 V] have the (LI) first bits in common.
- the aforementioned representation is established by traversing existing nodes of the tree structure and finally of the tree data structure whose address corresponds to all or part of the common address portion of the address. of destination. This path is executed from the root node NR, then, by creation or update of at least one sheet or in any case of child nodes for any destination address part of a candidate stream distinct from the common part of address.
- This operation may consist, as shown in FIG. 1b, during the course of each node of the tree structure to be executed, for any candidate stream CF k [A k5 V k ], a destination address candidate stream A k , a step B verification node N L [A 5 A 1 L 1 J J J A 11 L 11 JV] equal (LI) first bits of the addresses A and A k
- ⁇ roj (A, L) proj (A k , L)
- Step B on positive response is then followed by a step C consisting in associating with the node in question or on the corresponding leaf of the tree data structure and the network the previously mentioned behavior variable which is denoted MB (MV N , SVN ).
- the aforementioned average behavior variable in terms of network occupancy, is a function of the state variable in terms of network occupation and the number of leaves connected to the node of the tree data structure by a link branch. .
- MV N denotes the average of this state variable taking into account the number of sheets N connected to the considered node
- SV N denotes the variance of this variable of state, taking into account the number of sheets N connected to the node N L [A, A ', L', A ", L"; V] considered.
- step D the leaf numbers of the nodes visited by the candidate stream are updated (incrementing by 1), step D '.
- step C is then followed by a return to step A if the node
- the method of representation according to an adaptive tree data structure of a group of digital data streams transiting in a network towards a set of destination addresses each comprising a common part address object of the invention consists, in the absence of a node and in particular a terminal node or leaf whose address corresponds to the destination address of a stream candidate, to perform in one step D a creation of an internal node of the tree and a sheet.
- Step D allows, in accordance with the method of the present invention, to control the creation of the intermediate node and the corresponding sheet, as well as the updating of a node and its number of attached sheets or a sheet existing in the tree data structure as well as the average behavior variable in terms of occupation of the network associated therewith on a criterion of discrimination of the destination address of each candidate stream and / or the common part of address of the group of flows vis-à-vis the nodes respectively sheets of the tree data structure.
- step D thereof the creation and control operation of the creation of a node and a sheet on the criterion of discrimination of the destination address of each candidate stream and / or the common part of address of the group of flows vis-à-vis the nodes respectively leaves of the tree data structure is represented by the symbolic relation:
- MB (MV N , SV N ).
- the control of updating an existing node or sheet in the tree data structure comprises prior to this setting. the expulsion of the tree data structure of an existing node on the expiration criterion of the node or the sheet vis-à-vis the group of streams respectively of a candidate stream.
- FIG. 1c Such a procedure is shown in FIG. 1c where, advantageously, the process of expelling a node or a leaf from the tree data structure is executed at step A of each node N L [ A, A ', I ⁇ A "L" V].
- the step A of the path may comprise an initialization step A 0 for the node N L [A, A ', L', A ", L"; V] given a group of AF L [A, V] flows and, if appropriate, a candidate stream CF k [A k , VJ.
- Step A 0 can then be advantageously followed by a test step A 1 of detecting the expiration of the node.
- N L [A, A ', L', A ", L", V] is defined on criterion of absence of occurrence of a new candidate stream CF k [A k , VJ, in a determined time interval noted ⁇ whose destination address A k has the common (LI) bits of the address in the tree data structure of the considered node N L [AA ', I ⁇ A ", L"; V].
- segment Ak is actually segmented from the candidate stream CFk [A k5 V k ], this address A k being segmented, by way of non-limiting example, into a header.
- step A 1 of FIG. 1c is followed by the sequence B of FIG. 1b for continuing the process of travel and representation illustrated in the above-mentioned figure.
- the destination address head HR k of any candidate stream CF k does not correspond to the beginning of the address A of the node N L [A, A ', For, at least ⁇ seconds, then we conclude at the expiry of the aforementioned node N L [A, A ', L', A ", L"; V].
- Step A 2 is then followed by a step A 3 of passage to the next node and back to step Ao of initialization.
- step A 2 of FIG. 1c it is indicated that the destruction of the aforementioned node corresponds to an expulsion of the latter from the tree data structure accompanied by a reconstruction of the tree structure considered, under the conditions described below. in connection with Figure Id.
- step A 21 The corresponding operation in step A 21 is designated DESTRUCTION OF THE FATHER NODE.
- the parent node of the expired node being destroyed, it is then proceeded to an operation of connecting the other non-expired child node of the deleted parent node to the grandfather node not expired, thereby to perform the aforementioned reconstruction operation.
- N K - [B", ...; ]: NK- [B 1 , ...;.] Designates the non-expired child node whose address is necessarily (K-1) bits in common with the expired node N L [A, A ', L' , A ", L"; V]
- the candidate stream CF k [A k5 V k ] is inserted into the tree as modified above, so as to create a new child node for the modified grandfather node Nj [C 5 Cy 5 C 5 J 11 JU] in the following way bit (A k5 J)? (Wt (Ak 5 I)?
- the representation method, object of the present invention can advantageously be implemented from a binary tree structure.
- the tree structure used to carry out the implementation of the tree structure representation method of a digital data stream group according to the subject of the present invention was the PATRICIA system for "Practical Algorithm to Retrieve Information Coded in Alphanumeric" published in the Journal of the ACM, volume 15 page 514 to 534 1968 by DR MORRISON.
- This binary tree creation process is particularly advantageous in that such a process can significantly reduce the number of nodes and the depth of the tree, while maintaining a binary tree structure, to represent the data structure. in accordance with the subject of the present invention.
- FIGS. 2a to 2c Various indications relating to the implementation of the representation method, object of the present invention, will now be given in connection with FIGS. 2a to 2c.
- the average behavior variable is a function of the average and the variance of the state variable in terms of network occupation, referred to the unit of time.
- the state variable in terms of the occupation of the network relative to the unit of time is the volume flow of data V k of each candidate stream or of each group of streams V and / or the flow rate in number of messages of a specific type of message conveyed by the AFL flow group OR by the candidate stream CFk.
- a group of flows is attached to a node of the binary tree whose level L is equal to the number of first bits in common of the addresses of the group of flows plus 1.
- each candidate stream CF k is detected and represented by stream recordings in a conventional manner.
- Each stream record forms a stream descriptor which comprises at least, as represented in FIG. 2a, a stream identifier denoted by FID k this stream identifier that can be calculated from the destination address of the candidate stream, the date of beginning of flow, denoted FSD k , the end date of the flow FTD k , the volume of the flow V k constituting the state variable representative of the activity of the candidate stream in terms of network occupation, the number of packets of the candidate stream CF k observed during the creation of the record and finally at least one flag whose value at 0 or 1 indicates, for example, the presence or absence of a message of a certain type in the candidate stream, the position of the bit [MT 1511 MTi 5 -MT 1 ] considered in the aforementioned flag corresponding to the designation of a particular type of message for example.
- FID k this stream identifier that can be calculated from the destination address of the candidate stream
- FSD k the date of beginning of flow
- FTD k the end date of the
- V a state vector, denoted V 1N , comprising at least, as shown in FIG.
- the state vector associated with each node N L [A 5 A 1 J U 5 A ", L"; V] comprises the level variable denoted by L this variable defining, advantageously, the rank of the first bit of the address of all the child nodes which is different from the address formed by the common part of address of this node, c ' that is, the parent node of the aforementioned child node.
- the aforementioned state vector finally comprises a count value of the number of sheets, designated by N, attached to the node by the branches of the tree data structure formed by the child nodes and descendants of this node.
- N of leaves or termination nodes attached to the corresponding node N L [A, A ', L' A 5 ", L"; V] is absolutely one.
- a leaf or termination node can be considered as a node for which the number N of sheets attached to the latter is equal to 0.
- each sheet of the tree data structure implemented by means of the method that is the subject of the present invention, and taking into account the assimilation of such a sheet to a particular node, each sheet of the tree data structure is advantageously associated a simplified state vector, noted V 2 Fk 5 as shown in Figure 2c, vis-à-vis that shown in Figure 2b relative to any node.
- the state vector represented in FIG. 2c associated with each sheet of the tree data structure comprises, as an indication, at least one identifier of the destination address A k of least one candidate stream for the sheet, the start date of the destination address, denoted LSD, that is to say the creation date of the sheet considered during the first occurrence of the candidate stream CF k , the the end date of the destination address, denoted LTD, the date of the last candidate stream whose destination address is the address in the tree data structure of the sheet and finally the state variable in terms of network occupation associated with the destination address, which can be noted V k for example.
- LSD start date of the destination address
- LTD the end date of the destination address
- V k the state variable in terms of network occupation associated with the destination address
- FIG. 1a A more detailed description of an adaptive tree data structure representative of a group of digital data streams transiting in a network to a set of destination addresses each having a common address portion, obtained through the implementation of the representation method object of the present invention as described in connection with Figures la, Ib, Ic, Id and 2a, 2b, 2c previously in the description, will now be given in connection with Figure 3.
- the structure of The data, object of the present invention comprises a bit-tree structure corresponding to FIG. 1a, in which each candidate stream of the group of flows and the group of flows is associated with a variable of state the representative state variable V the activity of the flow in terms of network occupation.
- FIG. 1a A more detailed description of an adaptive tree data structure representative of a group of digital data streams transiting in a network to a set of destination addresses each having a common address portion
- 3 is established and also constitutes a representation of the aforementioned flows, in particular of each of the candidate flows and of the group of flows from the destination address of each candidate stream by existing node path of the tree data structure and whose address corresponds to all or part of the common address portion of the destination address and by creating successive child node or sheet, for any destination address part of the Candidate stream distinct from the common part of address.
- each sheet of the seat data structure of the stream group or the candidate stream is assigned the aforementioned state variable and at each node respectively to each sheet of the tree data structure and the aforementioned network is assigned the variable of average behavior denoted MB (MV N , SVN) for the node N L [A, A ', L', A ", L"; V], this average behavior depends only on the volume and the elapsed time.
- MV N , SVN variable of average behavior for the node N L [A, A ', L', A ", L”; V]
- this average behavior depends only on the volume and the elapsed time.
- At each node N L [A 5 A 1 J L 1 J A 11 J L 11 JV] is also associated the state vector V 1N previously described in the description in connection with FIG. 2b and to each sheet is also associated the state vector, as shown in FIG. 2c.
- the tree data structure denoted TS R is obtained by virtue of the implementation of the representation method which is the subject of the present invention and constitutes then a means allowing to maintaining an array of mean and variance relative to the state variable considered for each of the nodes N L [A, A ', L', A ", L"; V] above.
- These MVN averages and SVN variances are calculated on the basis of the number of sheets N attached to any node via the child nodes of the latter, that is to say by corresponding branches.
- step D In negative response to test B, in the absence of the aforementioned identity, when the destination address is not referenced in the data structure tree, the browse operation is continued in step D, with the creation of a new intermediate node, with calculation of the average behavior variable MB (MVN, SVN) and initialization of the components of the state vector associated with the new node.
- the updating of the components of the state vector associated with each intermediate node between the created or updated sheet is executed in step C of FIG.
- the start and end dates of the node are updated, that is, the AFSD and AFTD parameters shown in Figure 2b.
- the normal behavior variable and in particular the mean and variance values previously mentioned in the description associated with the nodes having N sheets are also updated, as will be described hereinafter.
- the average behavior variable MB assigned to each node N L [A, A ', L ', A', L "; V] of the tree data structure is advantageously defined as a weighted linear combination of the bit rate of the state variable and the average of the bit rate of the aforementioned state variable taking into account the number of termination related to the considered node.
- v is the value of the state variable V of the node N L [A, A ', L', A ", L”; V].
- the update is performed by the first aforementioned linear combination of the form m N -a * m N + (la) * r and by a second weighted linear combination of the difference between the bit rate of the state variable and the weighted average of the state variable and the SN variance of the state variable bit rate, taking into account the number of endings attached to the considered node.
- the first linear combination defines a weighted average of the bit rate of the state variable and that the second linear combination defines a weighted variance of the bit rate of the state variable.
- the aforementioned transmission network is constituted by a plurality of nodes and seat sheets of at least one candidate stream of digital data constituting a group of flows.
- each group of streams or each candidate stream has a destination address, each node or sheet of this network being identified by a network address corresponding to all or part of the destination address of each candidate stream.
- the method which is the subject of the invention consists in establishing an adaptive tree data structure TS R , such as illustrated in Figure 3, this structure being of course representative of at least one group of streams and / or a candidate stream of the network as well as group of streams or this candidate stream.
- the creation operation is performed in step E of FIG. 4a. It includes, of course, either the direct creation or the call of a permanently stored and adaptively updated permanent tree structure TSR, as previously described in the description.
- Step E is followed, for example, by a step F consisting in calculating the rate r ratio of the state variable V for the group of flows considered transiting at the node N L [A, A ', L', A ", L"; V] and the duration of the node between the AFTD end dates and AFSD node start dates considered.
- the method which is the subject of the invention then consists in monitoring, in real time, the behavior in terms of the occupation of the network of at least one node or one leaf of the adaptive tree data structure by comparison of superiority, at the same time.
- step G of the state variable referred to the unit of time associated with the node N L [A, A ', L', A ", L"; V] which has N sheets aforesaid or a sheet thereof last, vis-à-vis the normal behavior variable associated with the nodes that have N leaves respectively to the aforementioned sheet.
- step G of FIG. 4a the superiority comparison operation satisfies the relation: r> m N + K N x VS N.
- m ⁇ designates the adaptive average of the flow rate for the nodes which have N leaves and SN designates the adaptive variance of the flow rate for the same nodes and in the identical conditions of existence of leaves attached to this last.
- the method that is the subject of the invention in a step J then consists in declaring the behavior suspect. of the knot NL [A 5 A 1 J U 5 A 1 ⁇ L 11 JV] OR the leaf of the tree data structure, and also to declare suspicious the group of flows respectively the candidate flow represented by these and passing through the node of the corresponding address network.
- the method which is the subject of the invention also consists in launching a procedure for tracking the node or sheet declared suspect and the group of flows or the candidate stream represented by them.
- This operation of launching a follow-up procedure can consist in counting the number of occurrences of declaration of suspicious behavior of the node N L [A, A ', L', A ", L”; V]. Otherwise, on a comparison of the superiority of the unverified step G to the true value, the negative branch of the aforementioned step G, the method which is the subject of the invention consists in continuing the process of real-time monitoring of at least one node or a leaf of the tree data structure by a step H, which may consist, for example, of zeroing the occurrence counter of the suspicious behavior declaration of the node N L [A, A ', L', A "L” V].
- ON 0
- ON denotes the number of occurrences of declaration of suspicious behavior of the node N L [A, A ', L', A ", L"; V] considered. If ON> 0, ON is decremented by 1.
- step H can then be followed by a step I consisting of going on to explore a next node according to the candidate stream CF k [A k5 Vk].
- Step I is then followed by a return to step E for continuation of the real-time monitoring process.
- the tracking procedure for the node N L [A, A ', L', A ", L”; V] consists at least, when the latter has been declared suspect in step J, to repeat the monitoring operation of the node or the considered sheet whose behavior is declared suspect by calling a step K checking the number of occurrences of repetition of detection of suspicious behavior of this node or this sheet vis-à-vis a threshold value SO.
- step K the value of the number of ON occurrences for the node N L [A, A ', L', A ", L", V] considered by comparison of superiority with the threshold value SO is thus compared.
- step L which consists of calculating a number of repetitions of suspicious behavior declaration ⁇ L by incrementing a repetition rate ⁇ L ⁇ ⁇ L + I. Step L is then followed by a return to step E for continuation of the tracking process.
- the method which is the subject of the invention consists in declaring, in a step M, the node respectively the leaf with suspicious behavior as the seat of abnormal behavior, and storing all the parameters associated with the node or sheet considered N L3 and in particular the common part of abnormal address written A a .
- step N consisting in calling the parameters of the abnormal node N L3 followed by a step O consisting in calling a set of specific address prefixes to be protected. this step being itself followed by a step P of comparing the equality of each PFA address prefix x address specific to protect and the abnormal address A a .
- step P On a negative response to the test P of FIG.
- the abnormal address node A 3 does not correspond to a PFA address prefix x to be protected and the negative response to the aforementioned test can be followed by the transition to step Q at a next suspect node and then a return to step N in the case where several nodes are simultaneously monitored as part of the implementation of the method for detecting a real-time flood attack of a transmission network object of the invention.
- IP traffic can, however, give rise to this type of phenomenon. This is why, and in accordance with a remarkable aspect of the method of detecting a flood attack object of the present invention, it is essential to use a database containing the PFA address prefix x which have a semantic meaning, such as an address prefix corresponding to a specific client address to be monitored, for the manager of the broadband data transmission network.
- the aforementioned semantic analysis process makes it possible to avoid raising false alarms.
- the number of times that a candidate flow and / or a flow group has been declared abnormal is then used to perform the filtering of the anomalies and consequently to eliminate the false anomalies.
- This parameter is used to correlate the different events between them. It is recalled, in fact, that for a flood attack to succeed, it is certainly necessary to send a very large number of packets of a given type, for example, data packets or SYN messages as part of the TCP / IP protocol. Such an operation may be spread over durations of the order of at least 5 minutes; for this reason the duration T can be chosen equal to 1 to 2 minutes only.
- the table of prefixes and abnormal sheets contains the same fields as the original data ie the address or prefix identifier the start date the end date and the volume in bytes plus a new field , a counter of the number of anomalies. This number of anomalies being given by the ON parameter of FIG. 4a.
- the corresponding box in the anomalies table is empty and the latter is then filled with the values of the corresponding fields of the abnormal node Nu;
- the table of anomalies can be traversed every T units of time, T being equal to 60 seconds for example.
- T being equal to 60 seconds for example.
- the prefixes or part of the common address or the sheets which have been declared abnormal during the aforementioned period T are highlighted and the field corresponding to the number of anomalies is set to zero. From one period to another if a node that was abnormal did not evolve, that is to say if there was no update of this box in the table of anomalies, then the field corresponding to the type of anomalies is equal to zero and therefore the corresponding memory box can be cleared. This is the end of the anomaly for the considered node. Thus, from one period to the next, only the anomalies that are still active or new are highlighted.
- the system that is the subject of the invention comprises at least input / output devices IO connected to the network to be monitored, a central processing unit CPU and a storage memory.
- RAM work. - SS ⁇
- It also comprises, connected to the central processing unit CPU and the RAM working memory, a record receiving module Mi containing the candidate stream descriptors and extraction of the parameters contained in the stream descriptors.
- a record receiving module Mi containing the candidate stream descriptors and extraction of the parameters contained in the stream descriptors.
- the parameters contained in the stream descriptors when they have been extracted can be stored in an internal database HDD for example and formed by a hard disk of large capacity or other.
- It furthermore comprises a module M 2 for creating and dynamically controlling an adaptive tree data structure, as described in connection with FIG. 3.
- the module for creating and dynamically controlling the adaptive tree data structure, object of the invention may advantageously be constituted by a computer program module implementing the representation method that is the subject of the present invention as described with reference to FIGS. 1a, 1b, 1c, 1d and 2a, 2b 2c previously mentioned in FIG. description.
- the module M 2 for creating and dynamically controlling the adaptive tree data structure which is the subject of the invention, is advantageously associated with a programmable memory of large capacity, for example a non-volatile memory, which makes it possible to memorize all the parameters and connecting elements representing the structure of tree data TS R as shown in Figure 3, and the real-time updating of the latter.
- the system which is the subject of the present invention, as represented in FIG. 5, also comprises a module M 3 for detecting suspicious behavior of at least one node or leaf of the adaptive tree data structure and the network of this module.
- M 3 detection advantageously corresponding to a computer program module directly executable by the central processing unit after call RAM working memory for example, as described in connection with Figures 4a and 4b.
- an EDB database is provided for implementing the detection system that is the subject of the present invention, this database corresponding to a database of PFA specific address prefixes x to be protected.
- the aforesaid database can be implemented either on the internal HDD database, provided that the storage capabilities of the latter are sufficient, but preferably, without limitation, by any external database connected by network to IO input devices of the system object of the present invention.
- the system of the invention also comprises a module M 4 for launching a procedure for monitoring at least one node of suspicious behavior and alert, this module corresponding to a computer program module, as described above in connection with Figure 4b.
- the invention also covers a computer program product recorded on a storage medium for execution by a computer, which is remarkable in that when executed by a computer, this program allows the execution of a representation method according to an adaptive tree data structure of a group of digital data streams as previously described in the description in conjunction with Figs. 1a, 1b, 1c, 1d and 2a, 2b, 2c, the execution of this computer program further enabling the obtaining and updating of an adaptive tree data structure representative of a group of digital data streams as described in connection with Figure 3.
- the invention also covers a computer program product saved on a storage medium for execution by a computer, remarkable in that when executed by a computer this program allows the execution of a die process detecting, in real time, a flood attack of a broadband packet digital data transmission network, as previously described in the description with reference to FIGS. 4a and 4b, this program product performing these operations from an adaptive tree data structure representative of a group of digital data streams as previously described in the description with reference to FIG.
- the aforementioned program products may constitute a common program product recorded on a storage medium for execution by a computer, this common program product being remarkable in that it is implanted in modular form, as described previously in the description, in a system for detecting, in real time, a flood attack of a network of broadband packet digital data transmission as described with reference to FIG. 5 previously in the description.
- the implementation in modular form is then performed in the previously described modules and in particular the modules Ml, M2, M3 and M4.
- the data structure as represented in FIG. 3 is then implemented in the memory E EPROM represented in FIG. 5 above and can, of course, be the subject of backups and / or calls in or from the hard disk HDD. .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
L'invention concerne un procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques (AFL[AJ,VL]) formé par au moins un flot candidat (CFk[AkVk]). On parcourt (A) chaque nœud (NL[A,A',L',A',L',V]) d'une structure en arbre dont l'adresse correspond à tout ou partie d'une partie commune d'adresse de l'adresse de destination (Ak) d'un flot candidat ou d'un groupe de flots et l'on crée au moins une feuille pour toute partie d'adresse de destination d'un flot candidat distincte de cette partie commune d'adresse (B), à chaque nœud ou feuille étant associée une variable d'état (V), (Vk) représentative du flot candidat ou d'un groupe de flots en termes d'occupation du réseau. On affecte à chaque nœud (NL[A,A',L',A',L',V]) ou feuille parcourue ou créée (C), (D) une variable de comportement moyen (MB(MVNSVN)) en termes d'occupation du réseau, en fonction de la variable d'état et on contrôle (C), (D) au moins la création d'un nœud ou d'une feuille et la mise à jour de la variable de comportement moyen sur critère de discrimination de la partie commune d'adresse ou de l'adresse du groupe de flots ou du flot candidat vis-à-vis des nœuds et feuilles et on compare le comportement du nœud avec le comportement normal qui dépend du nombre de feuilles N associées à ce noeud. Application à la gestion technique des réseaux IP, réseau d'entreprise ou autres et à la détection d'attaque par inondation.
Description
PROCÉDÉ DE REPRÉSENTATION EN STRUCTURE ARBORESCENTE D'UN
GROUPE DE FLOTS DE DONNÉES NUMÉRIQUES. STRUCTURE ARBORESCENTE, PROCÉDÉ ET SYSTÈME DE DÉTECTION D'UNE
ATTAQUE PAR INONDATION
L'invention concerne le contrôle et la gestion technique des réseaux de transmission de données par paquets à large bande, et la détection d'attaque par inondation d'un ensemble d'adresses, adresses IP par exemple, qui possèdent une partie commune d'adresse. En effet, pour des adresses IP satisfaisant le format IPV4, les adresses qui présentent leurs n premiers bits identiques comportent une partie commune d'adresse, notée de manière condensée bits b1b2... bn 0 ...0/n, les n premiers bits b; étant spécifiés et les 32-n bits restants étant égaux à zéro, et masqués, lorsque l'on considère la seule partie commune d'adresse.
Le préfixe d'adresse est une notion familière aux opérateurs de réseaux ou aux opérateurs de routage. En effet, les adresses IP précitées peuvent présenter des premiers bits en commun, sans toutefois former un préfixe. Il est nécessaire de disposer d'une connaissance a priori du préfixe d'adresse pour conclure que les adresses IP comportent un même préfixe. Un tel préfixe est basé sur une notion de routage, un même routeur traite un certain nombre d'adresses IP car le protocole de routage implique que des paquets de données qui ont un préfixe commun d'adresse transitent par ce routeur, ou sur une notion d'attribution d'adresses, un opérateur pouvant attribuer un certain nombre d'adresses contiguës à des équipements clients, ce qui constitue un pool ou ensemble d'adresses présentant un préfixe d'adresse commun. Le préfixe d'adresse commun présente donc une valeur sémantique. Dès lors que la notion de préfixe est établie, un équipement client, un routeur, voire un système autonome disposant d'un ensemble d'adresses est susceptible d'être la victime d'une attaque distribuée, encore désignée attaque par inondation.
La détection d'une telle attaque sur une adresse précise d'un tel ensemble d'adresses peut être quasi-impossible à effectuer, alors que la mise en évidence d'un trafic anormalement élevé vers cet ensemble d'adresses est susceptible d'être effectuée. Parmi les techniques de détection d'attaque distribuée des réseaux de transmission de données, la plupart des techniques reposent sur l'observation ponctuelle du trafic sur un lien, par duplication du trafic au moyen d'un coupleur optique installé en dérivation d'un lien du réseau, ou grâce à des fonctions spécifiques directement implantées sur la carte d'interface du routeur. Les observations sont effectuées sur des intervalles de temps, fenêtres d'observation, successifs.
Les différents flots observés, pendant ces intervalles de temps, sont ensuite classés suivant certains critères tels que volume de données, nombre de signaux d'établissement de connexions pour les protocoles connectés, etc. Le classement précité permet ensuite de déterminer les flots les plus importants, vis-à-vis d'un critère donné.
Dans ce but, des techniques de traitement de données, "data mining" en anglais, peuvent être mises en œuvre pour détecter les flots qui représentent les fortes contributions au cours du temps.
A titre d'exemple, les techniques dites de "heavy hitters" en anglais, pour gros contributeurs, donnent au cours du temps les M plus gros flots sur une période de temps, selon un certain critère, volumétrie, nombre de paquets, etc. Par la suite, on compare les deux listes de gros contributeurs obtenues dans deux périodes de temps consécutives. Un comportement est déclaré suspect lors de l'arrivée brusque d'un nouveau flot. Pour une description plus détaillée des techniques précitées, on pourra utilement se reporter à l'article intitulé : "Finding Hierarchical Heavy Hitters in Data Streams" in Proc. VLDB Conférence, Berlin 2003 publié par Graham Cormode, Flip Korn, S. Muthukrishnan.
Les techniques deltoïdes consistent, au contraire, à comparer entre deux fenêtres consécutives les différents flots qui ont été observés et à relever non pas les plus gros contributeurs mais ceux qui présentent les plus grosses différences de
comportement entre ces deux périodes. Pour une description plus détaillée d'une technique du type deltoïde précité, on pourra utilement se reporter à l'article intitulé "What's new: Finding significant Différences in Network Data Streams" IEEE Infocom 2004 publié par Graham Cormode, S. Muthukrishnan. Une autre technique décrite dans l'article intitulé "Application of Anomaly
Détection Algorithms for detecting SYN Flooding Attacks "In Proc. Globecom 2004, Dallas, December 2004, publié par Vasilios A. Siris, Fobini Papagalou propose d'évaluer la déviation par rapport aux intervalles de mesure précédents et permet de déterminer les flots, sièges d'un comportement anormal. D'autres méthodes sont fondées sur l'interrogation des bases de données de gestion technique des réseaux, bases MIB pour Management Information Bases en anglais, via le protocole SNMP pour Simple Network Management Protocol en anglais. Dans l'article intitulé "Proactive Détection of Distributed Déniai of Service Attacks using MIB Traffic Variables A Feasibility Study" In Proc. TFIP/IEEE, Seattle, Mai 2001, publié par Joao B. D. Cabrera, Lundy Lewis, Xinzhou Qin, Wenke Lee, Ravi K. Prasanthe, B. Ravichandran, Raman K. Mehra, la méthode proposée consiste à chercher et trouver des signes précurseurs de DDoS, Distributed Déniai of .Service en anglais, pour attaque distribuée, à partir de variables contenues dans les bases MIB, variables telles que le nombre de messages Echo du protocole ICMP, Internet Çontrol Message Protocol en anglais, (messages Ping) lors d'une attaque de type "Ping flood". En fait une étude statistique compare tous les couples de variables d'entrée et de sortie vers une victime potentielle et cherche à déterminer les causes d'augmentation d'une variable cible, cause pouvant par exemple être imputable à une attaque. Une autre technique décrite dans l'article intitulé "Detecting Floodbased
Denial-of-service Attacks with SNMP/RMON" publié par William W. Streilein, David J. Fried, Robert K. Cunningham, Workshop on Statistical and Machine Learning in Computer Intrusion Détection, George Mason University, 24-26 Septembre 2003, consiste à utiliser des compteurs de paquets et de volumétrie, en
étudiant les variations de la quantité taille des paquets divisée par le nombre total de paquets, en tenant compte des heures de la journée.
Une autre technique répandue consiste à exécuter une phase d'apprentissage, plus ou moins longue, suivie d'une phase dans laquelle on procède au classement des différents flots qui ont été observés au cours de la phase d'apprentissage dans plusieurs classes, chaque classe étant caractérisée par un comportement type. Par la suite, si un flot sort de sa classe, il est alors probable qu'il s'agit d'une anomalie. La technique précitée est notamment mise en œuvre dans le produit désigné "Peak Flow" commercialisé par la société Arbor Networks. Une description plus détaillée du produit précité peut être consultée sur le site Internet de cette société, à l'adresse http://www.arbornetworks.com.
Toutes les techniques précitées concernent essentiellement la détection d'anomalie de flots individuels, désignés micro-flots.
Pour détecter des anomalies dans les groupes de flots, transmis vers un ensemble d'adresses de destination comportant une partie commune, des méthodes d'agrégation de flots individuels à partir d'arbres binaires ont été proposées. Ce type de méthode est décrit dans le document "Online Identification of Hiearachichal
Heavy Hitters: Algorithms, Evaluation, and Applications" publié par Yin Zhan,
Sameet Singh, Subhabrata Sen, Nick Duffield, Carsten Lund, édité par IMC'04, Taormina, Sicily, Italy, 25-27 Octobre 2004, et sera résumé ci-après.
A priori, la méthode précitée a pour objet de trouver tous les gros contributeurs qui représentent plus d'un certain pourcentage ε du volume total de trafic. Pour ε=2 % du volume total de trafic V total calculé sur une fenêtre de temps d'observation fixée, on cherche les flots qui présentent un volume supérieur à ε. Il existe, au maximum, 1/ε de ces flots, soit 50 dans l'exemple donné.
La technique proposée consiste à représenter le trafic par un arbre binaire construit à partir des adresses des paquets observés. Chaque nœud de l'arbre correspond à un groupe de flots qui partagent certaines caractéristiques communes en termes d'adressage. A chaque nœud de l'arbre est associée une valeur de poids fixe P,
P=IO par exemple, chaque volume de trafic associé à un nœud, siège d'un groupe de flots, ne devant pas dépasser la valeur de seuil de poids fixe P.
A l'initialisation de l'arbre binaire, ce dernier comprend un premier nœud, nœud racine, dont le volume de trafic est nul. Dès l'obtention des premières mesures de volume de trafic pour un ensemble d'adresses de destination, comportant une partie commune d'adresse, si la partie commune d'adresse précitée commence par la valeur zéro on crée un nœud fils à gauche respectivement un nœuds fils à droite sinon et l'on associe au nœud fils ainsi créé le volume de trafic mesuré, tant que ce volume ne dépasse pas le poids P. Si pour un même préfixe, au cours de mesures ultérieures, le volume de trafic courant ajouté au volume de trafic précédant ne dépasse pas la valeur de seuil de poids P, la valeur de volume de trafic du nœud représenté dans l'arbre binaire par son adresse égale à la partie commune d'adresse est actualisée. Si, un flot relatif à une adresse comportant le même préfixe qu'un nœud du réseau est détecté et que son volume de trafic ajouté au volume de trafic de ce nœud est supérieur à la valeur de seuil de poids P, de ce nœud, alors un nœud fils est créé auquel est affecté le volume de trafic, le volume de trafic du nœud, devenant un nœud parent, étant inchangé.
L'exploration par parcours de l'arbre binaire permet de vérifier, pour chaque nœud, si le volume de trafic qui lui est attribué est supérieur à la valeur de P. Dans l'affirmative le groupe de flots transitant par le nœud considéré est un gros contributeur, sinon le groupe de flots précité n'est pas considéré comme un gros contributeur.
Pour mettre en évidence une ou plusieurs anomalies, il est en outre nécessaire de relier les événements mis en évidence pour un ou plusieurs nœuds du réseau.
En particulier, ce mode opératoire n'apparaît pas bien adapté à la surveillance d'attaque par inondation d'un réseau ou d'un ensemble d'adresses dans la mesure où les fenêtres d'observations sont fixes et où la valeur de seuil de comparaison de la variable de volume doit être faible pour effectuer une détection de changement de comportement des flots.
Les techniques antérieures précitées présentent toutes l'inconvénient majeur de nécessiter l'accumulation d'une quantité importante d'information sur des intervalles de temps successifs. Il est ensuite nécessaire de procéder à un tri de cette information et de reconstituer les flots, pour calculer la valeur de certaines variables. L'opération de tri et de calcul précitées sont très coûteuses en temps de calcul en raison du nombre gigantesque de flots, plusieurs millions, qui peuvent coexister simultanément sur un ou plusieurs liens de transmission d'un réseau de transmission par paquets à large bande.
En effet, une fois un comportement moyen défini, il faut ensuite identifier les flots qui excèdent ce comportement moyen.
La présente invention a pour objet de remédier aux inconvénients précités des techniques de l'art antérieur.
Un objet de la présente invention est, en particulier, la mise en œuvre d'un procédé et d'une structure arborescente de représentation adaptative d'un groupe de flots de données numériques transmis à travers un réseau vers un ensemble d'adresses de destination en exploitant les parties communes d'adresse, ceci permettant d'assigner à chaque nœud de la structure arborescente, un comportement moyen, vis- à-vis d'au moins un critère d'observation. De plus, un comportement dit normal est calculé au fil de l'eau et ne dépend que d'un nombre de feuilles N et des variables d'état associés.
Un autre objet de la présente invention est, en outre, la mise en œuvre d'un procédé et d'une structure arborescente de représentation totalement adaptative d'un groupe de flots de données numériques transmis vers un ensemble d'adresses de destination, exempts de toute contrainte liée à l'existence d'une fenêtre d'observation, la structure arborescente et la représentation d'un groupe de flots correspondante étant réactualisée au fil de l'eau, sensiblement en temps réel, en fonction de l'arrivée des enregistrements de flots, sur critères de règles d'insertion et d'expulsion des nœuds et feuilles de la structure arborescente et de la représentation permettant de favoriser la prise en compte de parties communes d'adresses, importantes du point de vue de la notion de gros contributeurs, suivant au moins un critère spécifique.
Un autre objet de la présente invention est en outre la mise en œuvre d'un procédé de détection en temps réel d'une attaque par inondation d'un ensemble d'adresses d'un réseau à partir du procédé et de la structure arborescente de représentation adaptative, objets de la présente invention, à partir d'une pluralité de points d'observation, chaque point d'observation pouvant correspondre à un nœud du réseau à surveiller.
Le procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques transitant en réseau vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, objet de l'invention, est tel qu'on associe à chaque flot candidat et/ou au groupe de flots une variable d'état représentative de l'activité de ce flot candidat et/ou de ce groupe de flots en termes d'occupation du réseau. On établit une représentation de ce flot candidat et/ou du groupe de flots selon une structure de données arborescente, à partir de l'adresse de destination de chaque flot candidat et/ou de ce groupe de flots par parcours des nœuds existants de cette structure de données arborescente dont l'adresse correspond à tout ou partie de la partie commune d'adresse de cette adresse de destination et par création d'au moins une feuille pour toute adresse de destination d'un flot candidat et l'on affecte à chaque nœud respectivement à chaque feuille siège de ce groupe de flots et/ou de ce flot candidat cette variable d'état.
Il est remarquable en ce qu'il consiste, en outre, à affecter à chaque nœud respectivement à chaque feuille de la structure arborescente une variable de comportement moyen en termes d'occupation du réseau par le groupe de flots et/ou le flot candidat, cette variable de comportement moyen en termes d'occupation de réseau étant fonction de la variable d'état en termes d'occupation du réseau et du nombre de feuilles rattachées au nœud. Le procédé contrôle également la création d'un nœud ou d'une feuille, la mise à jour d'un nœud et du nombre de feuilles qui lui sont rattachées ou d'une feuille existant dans la structure de données arborescente et la variable de comportement moyen en termes d'occupation du réseau associée à ces derniers sur critère de discrimination de l'adresse de destination de chaque flot
candidat et/ou de ladite partie commune d'adresse de ce groupe de flots vis-à-vis des nœuds respectivement des feuilles de la structure de données arborescente.
L'invention a en outre pour objet un procédé de détection en temps réel d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, ce réseau étant constitué par une pluralité de nœuds et de feuilles sièges d'au moins un flot candidat de données numériques constitutif d'un groupe de flots candidats comportant une adresse de destination, chaque nœud et/ou feuille de ce réseau étant repéré par une adresse réseau correspondant à tout ou partie de cette adresse de destination. II est remarquable en ce qu'il consiste au moins à établir une structure de données arborescente adaptative représentative d'au moins un groupe de flots et/ou d'un flot candidat de ce réseau, conformément au procédé de représentation objet de l'invention, surveiller en temps réel le comportement en termes d'occupation du réseau d'au moins un nœud respectivement d'une feuille de la structure de données arborescente adaptative, par comparaison de supériorité de la variable d'état rapportée à l'unité de temps associée à ce nœud ou à cette feuille vis-à-vis de la variable de comportement normal associée au nombre de feuilles N que ce nœud ou cette feuille comporte. Sur comparaison de supériorité vérifiée à la valeur vraie, le procédé de détection d'attaque par inondation consiste à déclarer suspect le nœud ou la feuille de la structure de donnés arborescente et le groupe de flots ou le flot candidat représentés par ces derniers et à lancer une procédure de suivi du nœud ou de la feuille et du groupe de flots ou du flot candidat représentés par ces derniers. Sinon, sur comparaison de supériorité non vérifiée à la valeur vraie, le processus de surveillance en temps réel d'au moins un nœud ou d'une feuille de la structure de données arborescente est poursuivi.
Selon un autre aspect remarquable du procédé de détection d'attaque par inondation objet de la présente invention, la procédure de suivi d'un nœud ou d'une feuille consiste au moins à répéter l'opération de surveillance du nœud ou de la feuille dont le comportement est déclaré suspect. Sur critère d'un nombre d'occurrences d'une répétition de détection de comportement suspect du nœud ou de
Ia feuille, vis-à-vis d'une valeur de seuil sur des intervalles de temps successifs, il consiste en outre à déclarer ce nœud ou cette feuille au comportement suspect comme siège d'un comportement anormal et à mémoriser tous les paramètres associés au nœud ou à la feuille, en particulier la partie commune d'adresse associée à ces derniers, désignée partie commune d'adresse anormale, puis à effectuer une analyse sémantique de la partie commune d'adresse anormale, vis-à-vis d'un ensemble de préfixes d'adresses spécifiques à protéger, et, enfin, à lancer une procédure d'alerte de risque d'attaque par inondation sur coïncidence de la partie commune d'adresse anormale et d'au moins l'un des préfixes d'adresses spécifiques à protéger. Le système de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, objet de l'invention, est relatif à un réseau constitué par une pluralité de nœuds et de feuilles sièges d'au moins un flot candidat de données numériques et/ou d'un groupe de flots comportant une adresse de destination. Le système de détection, objet de l'invention, comporte au moins des organes d'entrée-sortie connectés au réseau, une unité centrale de traitement et une mémoire de travail.
Il est remarquable en ce qu'il comporte au moins, interconnectés à cette unité centrale de traitement et à cette mémoire de travail, un module de réception d'enregistrements contenant des descripteurs de flots candidats et d'extraction de paramètres contenus dans ces descripteurs de flots, un module de création et de contrôle dynamique d'une structure de données arborescente adaptative, selon le procédé de représentation objet de l'invention, un module de détection du comportement suspect d'au moins un nœud ou d'une feuille de la structure de données arborescente adaptative et du réseau selon le procédé de détection d'attaque par inondation, objet de l'invention, une base de données de préfixes d'adresses spécifiques à protéger et un module de lancement d'une procédure de suivi d'au moins un nœud de comportement suspect et d'alerte, selon le procédé de détection d'attaque par inondation, objet de l'invention.
Le procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques, le procédé et le système de
détection d'une attaque par inondation d'un réseau, objets de l'invention, trouvent application à la gestion technique des réseau IP, réseau d'entreprise ou autres.
Ils seront mieux compris à la lecture de la description ci-après et à l'observation des dessins dans lesquels : - la figure la représente, à titre illustratif, une structure d'arbre binaire spécifique non limitative, en l'occurrence arbre de PATRICIA, permettant la mise en œuvre du procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques transitant en réseau, conforme à l'objet de la présente invention ; — la figure Ib représente, à titre illustratif, un organigramme de mise en œuvre du procédé de représentation, selon une structure de données arborescente adaptative, d'un groupe de flots de données numériques transitant en réseau vers un ensemble d'adresses de destination comportant une partie commune d'adresse, objet de la présente invention ; - la figure Ic représente, à titre illustratif, un mode de mise en œuvre préférentiel non limitatif du procédé de représentation objet de l'invention illustré en figure Ib, dans lequel une vérification de la péremption de tout nœud de la structure de données arborescente et d'expulsion de tout nœud périmé est introduite, afin d'assurer un contrôle dynamique de la structure de données arborescente représentant tout groupe de flots de données conformément au procédé de représentation objet de l'invention illustré en figure Ib ;
- la figure Id représente, à titre illustratif, un détail de mise en œuvre préférentiel de l'étape d'expulsion/reconstruction d'un nœud périmé de la structure de données arborescente obtenue grâce à la mise en œuvre du procédé de représentation objet de l'invention, illustré en figure Ib ;
- la figure 2a représente, à titre illustratif, un vecteur d'état associé à tout flot candidat représenté par la structure de données arborescente obtenue grâce à la mise en œuvre du procédé de représentation objet de l'invention illustré en figure Ib ;
- la figure 2b représente, à titre illustratif, un vecteur d'état associé à tout nœud de la structure de données arborescente obtenue grâce à la mise en œuvre du procédé de représentation objet de l'invention illustré en figure Ib ;
- la figure 2c représente, à titre illustratif, un vecteur d'état associé à toute feuille de la structure de données arborescente obtenue grâce à la mise en œuvre du procédé de représentation objet de l'invention illustré en figure Ib ;
- la figure 3 représente, à titre illustratif, une structure de données arborescente dynamique obtenue grâce à la mise en œuvre du procédé de représentation objet de l'invention illustré en figure Ib ; — la figure 4a représente, à titre illustratif, un organigramme des étapes de mise en œuvre d'un procédé de détection d'attaque par inondation d'un réseau ou d'un ensemble d'adresses de ce réseau, à partir d'une structure de données arborescente conforme à l'objet de la présente invention telle que représentée en figure 3, le procédé représenté en figure 4a permettant de détecter le comportement suspect d'un nœud ou d'une feuille et de tout groupe de flots ou flot candidat transitant par ces derniers ;
- la figure 4b représente, à titre illustratif, un organigramme des étapes de mise en œuvre d'une procédure de suivi d'un nœud ou d'une feuille dont le comportement a été déclaré suspect, afin de permettre en cas de comportement anormal de préfixes d'adresses spécifiques, la protection de ces dernières par lancement d'une procédure d'alerte ;
- la figure 5 représente, à titre illustratif, un schéma fonctionnel d'un système de détection d'une attaque par inondation d'un réseau ou d'un ensemble d'adresses de ce réseau à partir d'une structure de données arborescente, telle que représentée en figure 3, conformément au procédé de détection d'une attaque par inondation objet de l'invention, tel qu'illustré en figures 4a et 4b.
Une description plus détaillée du procédé de représentation selon une structure de données arborescente adaptée d'un groupe de flots de données numériques transitant en réseau, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec les figures la et Ib et les figures suivantes.
D'une manière générale, la notion de représentation selon une structure de données arborescente correspond à celle de construction de cette structure de données arborescente et d'utilisation de cette dernière comme structure de données adaptative dans un processus ou un système informatique. Préalablement à la description proprement dite du procédé de représentation objet de la présente invention, différentes indications seront données en relation avec la figure la, relativement à la notation utilisée pour représenter une structure de données arborescente permettant la mise en oeuvre du procédé objet de la présente invention à partir d'une structure d'arbre. En référence à la figure la précitée on désigne par NR un nœud racine de la structure d'arbre précitée, représentée par un arbre binaire, le nœud racine étant noté NR[R].
Dans la notation précédente, on indique que NR désigne le nœud racine précité et que R représente une adresse relative ou absolue du nœud racine selon que le nœud racine précité représente un sous réseau d'un réseau de transmission de données par paquets à large bandes par exemple.
En référence à la figure la, on indique que la structure d'arbre est une structure d'arbre par rapport au nœud racine NR et que cette structure d'arbre est constituée par des nœuds fils successifs dans la structure d'arbre dont l'adresse diffère de l'adresse du nœud parent par la valeur d'un bit égale à 0 ou à 1. Par convention, ainsi que représenté sur la figure la, l'adresse de chaque nœud de niveau L, diffère de celle du nœud parent de niveau k, inférieur à L par le bit de rang k de valeur 0 ou 1. Le nœud fils dont le bit différent de l'adresse du nœud parent est 0 est par convention situé à gauche et le nœud fils dont le bit différent de l'adresse du noeud parent est 1 est situé à droite.
Ainsi, on comprend que tout nœud de niveau L et d'adresse A de la structure d'arbre telle que représentée en figure la est situé à droite de son nœud parent direct de niveau k inférieur à L, si le kième bit de son adresse A est égal à 1 et à gauche si ce dernier est égal à 0
Tout nœud/feuille de la structure arborescente peut se représenter sous la forme d'une adresse A, d'un niveau L et d'un fils droit et d'un fils gauche qui sont eux même caractérisés respectivement par des adresses A' et A" et des niveaux L' et L". Ces deux dernières quantités sont des entiers supérieurs à L et prennent des valeurs dans l'ensemble {1,2, ..., Lraax}, où L1118x est la valeur maximum du niveau d'un nœud, égal par exemple pour une feuille au nombre de bits dans le champ d'adresse de destination, soit 32 par exemple, plus 1, soit 33. Une feuille se caractérise par le fait que son niveau L est égal à Lmax et par des fils droit et gauche pointant sur des nœuds vides. La structure arborescente impose que pour un nœud interne de niveau L, qui n'est pas une feuille, les Lième bits des adresses A' et A" des fils droits et gauches sont respectivement égaux à 1 et 0. De manière plus générale, tout descendant d'un nœud interne situé à droite, respectivement à gauche, d'un nœud interne de l'arbre de niveau L a son Lième bit égal à 1, respectivement son Lième bit égal à 0.
En définitive, tout nœud de la structure d'arbre représenté en figure la et en particulier dans le cadre de la mise en oeuvre du procédé objet de la présente invention, peut ainsi être représenté par la donnée de la valeur du niveau L, d'une adresse A et des fils gauche et droit. Il est noté de manière abrégée par NL[A,A',L' A",L"].
En outre, sur la figure la et par convention, on a représenté de manière arbitraire non limitative toute feuille de la structure d'arbre comme un nœud relié à un noeud parent par un trait pointillé, toute feuille pouvant être considérée comme un nœud spécifique, c'est-à-dire comme un nœud de terminaison qui ne comporte pas de nœud fils. Une feuille est alors caractérisée par une adresse A et un niveau L égal à Lmax ; une feuille est notée en abrégé N[A]. Le procédé objet de la présente invention sera maintenant décrit en liaison avec les figures la et Ib. D'une manière générale, on considère un groupe de flots de données numériques ou un agrégat de flots, noté AFL[A5V]. On considère en particulier qu'un groupe de flots de données numériques est constitué par exemple par une pluralité de flots de données numériques candidats, chaque flot candidat étant noté CFk[Ak5Vk]. Un groupe de flots AFL[A5V] est rattaché dans la structure
arborescente à un nœud NL[A,A',L',A",L"], indiquant que les flots du groupe AFL[A9VL] ont les (L-I) premiers bits d'adresse en commun. Chaque nœud est alors enrichi d'une variable V représentant la somme cumulée des variables Vk des flots candidats transitant par ce nœud. Un tel nœud est donc noté de manière abrégée NL[A5A1,!; A",L";V] ; une feuille de l'arbre est notée N[A; V].
Ainsi, un groupe de flots de données numériques est constitué par une pluralité de flots candidats et chaque flot de données numériques transite en réseau vers un ensemble d'adresses de destination, comportant chacune une partie commune d'adresse. En référence à la figure la, pour Lmax = 32 et en adoptant la notation standard des adresses IPv4, le groupe de flots transitant en réseau au niveau du nœud N2[48.0.0.0,64.0.0.0,33,48.0.0.0,33;V2] transite vers les adresses de destination telles que le premier bit est égal à 0 et le flot candidat CFk[48.0.0.05Vk] transite vers la feuille représentée comme un nœud N[48.O.O.O;Vo] en figure la. Le nœud droit correspondant est le nœud N[64.0.0.0;Vi],
En conséquence, tout flot candidat respectivement tout groupe de flots de données numériques transite vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, le groupe de flots précédemment décrit comportant la partie commune d'adresse indiquant le premier bit égal à 0. Chaque flot candidat transite vers une feuille, telle que la feuille N[48.O.O.O;Vo] de la figure la, comportant pour adresse de destination l'adresse de la feuille précitée.
Dans les définitions précédentes, on associe à chaque flot candidat et/ou au groupe de flots une variable d'état Vk respectivement V représentative de l'activité du flot candidat et/ou du groupe de flots en termes d'occupation du réseau. Ainsi, en référence à la figure 1 a :
- pour le nœud N2[48.0.0.0,64.0.0.0,33,48.0.0.0,33;V2] on dispose du groupe de flots AF2[48.0.0.0,V] groupe de flot transitant sur le nœud précité et
- pour la feuille N[48.0.0.05V0] de la figure la, on dispose du flot candidat CFk[48.0.0.0,Vk] par exemple.
On comprend, en particulier, que la structure d'arbre de la figure la permet d'établir une représentation selon une structure de données arborescente de chacun des flots candidats CFk[Ak5Vk] et/ou du groupe de flots AFL[A, V] à partir de l'adresse de destination de chaque flot candidat. Les flots appartenant au groupe AFL[A5V] ont les (L-I) premiers bits en commun.
On comprend, ainsi, que la représentation précitée est établie par parcours de nœuds existants de la structure d'arbre et finalement de la structure de données arborescente dont l'adresse correspond à tout ou partie de la partie commune d'adresse de l'adresse de destination. Ce parcours est exécuté à partir du noeud racine NR, puis, ensuite, par création ou mise à jour d'au moins une feuille ou en tout cas de nœuds fils pour toute partie d'adresse de destination d'un flot candidat distincte de la partie commune d'adresse.
On comprend, en particulier, que pour un groupe de flots d'adresse A AF33[A5V] c'est-à-dire pour le nœud N[48.O.O.O;Vo] de la figure la précitée, ce nœud étant considéré comme une feuille, à un instant donné sur occurrence d'un flot candidat supplémentaire CFk[64.0.0.0,Vi]9 le flot candidat d'adresse de destination 64.0.0.0 apparaît et le nœud intermédiaire N2[48.0.0.0,64.0.0.0,33,48.0.0.0,33;V2] est alors créé. Ce nœud a pour fils gauche la feuille N[48.0.0.05V0] et pour fils droit la feuille N[64.0.0.0;Vi] . Pour assurer une représentation selon la structure de données arborescente adaptative d'un groupe de flots de données numériques et/ou d'un flot candidat, à partir de la structure d'arbre telle que représentée en figure la, conformément au procédé objet de l'invention, celui-ci consiste, en référence à la figure Ib, lors du parcours des nœuds existants du réseau, c'est-à-dire à partir du noeud racine NR précité, le parcours étant noté à l'étape A pour tout nœud existant NL[A,A',L',A",L";V] quelque soit L appartenant à {1,2, ..., Lmax}, à affecter à chaque nœud respectivement à chaque feuille de la structure de données arborescente et du réseau une variable de comportement moyen, en termes d'occupation du réseau par le groupe de flot et/ou par le flot candidat et à le comparer au comportement normal associé à son nombre N de feuilles.
Cette opération peut consister, ainsi que représenté sur la figure Ib, lors du parcours de chaque nœud de la structure arborescente à exécuter, pour tout flot candidat CFk[Ak5Vk], flot candidat d'adresse de destination Ak, une étape B de vérification au nœud NL[A5A1 JL1 JA11 JL11JV] de l'égalité des (L-I) premiers bits des adresses A et Ak
A l'étape B de la figure Ib cette opération est représentée par la relation : ρroj(A,L)=proj(Ak,L) où pour une adresse quelconque A, ρroj(A,L) est le motif d'adresse composé par les L-I premiers bits de l'adresse A. Sur réponse positive au test de l'étape B de la figure précitée, il existe donc un nœud ou une feuille dont les (L-I) premiers bits d'adresse correspondent à ceux de l'adresse de destination du flot candidat.
L'étape B sur réponse positive est alors suivie d'une étape C consistant à associer au nœud considéré ou à la feuille correspondante de la structure de données arborescente et du réseau la variable de comportement précédemment mentionnée laquelle est notée MB(MVN, SVN).
La variable de comportement moyen précitée, en termes d'occupation du réseau, est fonction de la variable d'état en termes d'occupation du réseau et du nombre de feuilles relié au nœud considéré de la structure de données arborescente par une branche de liaison. Dans la notation de cette variable, à l'étape C de la figure Ib, MVN désigne la moyenne de cette variable d'état compte tenu du nombre de feuilles N reliées au nœud considéré et SVN désigne la variance de cette variable d'état, compte tenu du nombre de feuilles N reliées au nœud NL[A,A',L',A",L";V] considéré. On indique en outre qu'à l'étape C de la figure Ib on procède à une mise à jour des valeurs de la variable d'état, mise à jour symbolisée par la relation : v=v+vk
Quand le flot candidat implique la création d'une nouvelle feuille dans la structure arborescente, les nombres de feuilles des nœuds visités par le flot candidat sont mis à jour (incrémentation de 1), étape D'.
Bien entendu l'étape C est alors suivie d'un retour à l'étape A si le nœud
NL[A,A',L',A",L";V] n'est pas une feuille, c'est-à-dire de retour au parcours soit du nœud NL-[A',...] si bit(Ak,L)=l, soit du nœud NL-[A11,...] si Wt(Ai0L)=O, où bit(Ak,L) est la valeur du bit L dans l'adresse Ak, pour assurer le parcours complet de l'arbre existant jusqu'à une feuille terminale.
Au contraire sur réponse négative à l'étape de test B de la figure Ib le procédé de représentation selon une structure de données arborescentes adaptative d'un groupe de flots de données numériques transitant en réseau vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, objet de l'invention, consiste, en l'absence d'existence d'un nœud et en particulier d'un nœud terminal ou feuille dont l'adresse correspond à l'adresse de destination d'un flot candidat, à exécuter en une étape D une création d'un nœud interne de l'arbre et d'une feuille.
L'étape D permet, conformément au procédé objet de la présente invention, de contrôler la création du nœud intermédiaire et de la feuille correspondante, ainsi que la mise à jour d'un nœud et de son nombre de feuilles rattachées ou d'une feuille existant dans la structure de données arborescente ainsi que de la variable de comportement moyen en termes d'occupation du réseau associé à ces derniers sur un critère de discrimination de l'adresse de destination de chaque flot candidat et/ou de la partie commune d'adresse du groupe de flots vis-à-vis des nœuds respectivement des feuilles de la structure de données arborescente.
Sur la figure Ib, à l'étape D de celle-ci, l'opération de création et de contrôle de la création d'un nœud et d'une feuille sur critère de discrimination de l'adresse de destination de chaque flot candidat et/ou de la partie commune d'adresse du groupe de flots vis-à-vis des nœuds respectivement des feuilles de la structure de données arborescente est représentée par la relation symbolique :
Wt(Ak9K) ? Nκ[Ak,Ak,33,A,L;V+Vk] : Nκ[Ak,A,L,Ak,33;V+Vk] où K = max(j <L : proj(Aj) proj(Ak,j)) et bit(Ak,K) est la valeur du kième bit dans l'adresse Ak.
Par la relation symbolique précitée, on comprend bien entendu qu'à partir du noeud courant NL[A,A',L',A",L";V] on crée le nœud parent d'adresse Ak et de niveau K dont le nœud courant est le fils droit ou le fils gauche suivant la valeur prise par bit(Ak,K), le flot candidat donne naissance à une feuille N[Ak; Vk] placée à droite ou à gauche du nœud créé suivant la valeur de bit(Ak,K). Le nombre de feuilles du noeud nouvellement créé est égal à N+l où N est le nombre de feuilles du noeud courant NL[A,A',L!,A",L";V], étape D1 de mise à jour.
En outre au nœud nouvellement créé on associe la variable de comportement moyen en termes d'occupation du réseau, laquelle est notée à l'étape D de la figure Ib :
MB(MVN, SVN).
D'une manière plus particulière, et selon un aspect remarquable du procédé de représentation objet de la présente invention, le contrôle de la mise à jour d'un nœud ou d'une feuille existant dans la structure de donnée arborescente comprend préalablement à cette mise à jour l'expulsion de la structure de données arborescente d'un nœud existant sur critère de péremption du nœud ou de la feuille vis-à-vis du groupe de flots respectivement d'un flot candidat.
Un tel mode opératoire est représenté en figure Ic où, avantageusement, le processus d'expulsion d'un nœud ou d'une feuille de la structure de données arborescente est exécuté au niveau de l'étape A de parcours de chaque nœud NL[A,A',IΛA",L";V].
Dans ce but, ainsi que représenté sur la figure Ic, l'étape A de parcours peut comprendre une étape A0 d'initialisation pour le nœud NL[A,A',L',A",L";V] compte tenu d'un groupe de flots AFL[A, V] et le cas échéant d'un flot candidat CFk[Ak, VJ. L'étape A0 peut alors être avantageusement suivie d'une étape de test A1 consistant à détecter la péremption du nœud.
En référence à la figure Ic précitée, la péremption d'un nœud
NL[A,A',L',A",L";V] est définie sur critère d'absence d'occurrence d'un nouveau flot candidat CFk[Ak, VJ, dans un intervalle temporel déterminé noté τ, dont l'adresse de destination Ak, comporte comme partie commune d'adresse les (L-I) premiers bits de
l' adresse dans la structure de données arborescente du nœud considéré NL[AA',IΛA",L";V].
Sur la figure Ic le test de péremption est noté : Péremption? [ρroj(Ak,L) = proj(A,L)]τ
Par cette relation, on comprend que l'on procède en fait à une segmentation de l'adresse Ak du flux candidat CFk[Ak5Vk], cette adresse Ak étant segmentée, à titre d'exemple non limitatif en une tête d'adresse HRk de longueur (en nombre de bits) égale à (L-I) où L est le niveau du nœud courant NL[A,A',L',A",L";V], la queue d'adresse de destination étant notée de façon non limitative TRk.
La comparaison de l'identité de la tête d'adresse HRk de tout flux candidat CFk[Ak, Vk] et de l'adresse A du noeud NL[A,A',LΑ",L";V] limitée aux (L-I) premier bits pendant la durée τ permet, sur détection de l'identité de ces deux adresses ou parties d'adresse, de conclure à l'absence de péremption du nœud. La branche positive de l'étape A1 de la figure Ic est suivie de la suite B de la figure Ib pour poursuite du processus de parcours et de représentation illustrée à la figure précitée.
Au contraire, sur réponse négative au test A1 de la figure Ic, la tête d'adresse de destination HRk de tout flot candidat CFk ne correspondant pas au début de l'adresse A du noeud NL[A,A',L',A",L";V] pendant au moins τ secondes, alors on conclut à la péremption du nœud précité NL[A,A',L',A",L";V].
L'étape A2 est alors suivie d'une étape A3 de passage au nœud suivant et de retour à l'étape Ao d'initialisation.
Dans ces conditions, la réponse négative au test A1 correspondant est alors suivie d'une étape A2 consistant à détruire le nœud NL[A,A',L',A",L";V]
A l'étape A2 de la figure Ic, on indique que la destruction du nœud précité correspond à une expulsion de ce dernier de la structure de données arborescente assortie d'une reconstruction de la structure arborescente considérée, dans les conditions ci-après décrites en liaison avec la figure Id.
L'expulsion du nœud périmé NL[A,A',L',A",L";V] ayant été introduite à l'étape A20, la procédure de reconstruction peut consister avantageusement, sur destruction de tout nœud périmé NL[A,A',L',A",L";V], à détruire à l'étape A21 le nœud père Nκ[B,B',K',B",K";W] du nœud périmé, ce nœud vérifiant les relations : proj(A,K) = proj(B,K) bit(A,K) ? NK.[B',...;.] - NL[A,A',L',A",L";V] : NR-[B",...;.] =NL[A,A',L',A",L";V]
L'opération correspondante à l'étape A21 est désignée DESTRUCTION DU NOEUD PÈRE. Le nœud père du nœud périmé étant détruit, on procède ensuite à une opération consistant à relier l'autre nœud fils non périmé du nœud père supprimé au nœud grand père non périmé, pour exécuter ainsi l'opération de reconstruction précitée.
On comprend, en particulier, qu'à partir de l'adresse C et du niveau J du noeud grand père non périmé Nj[C,C',J',C",J";U], vérifiant proj(B,J) = proj(C,J) et bit(B,J) ? NJ-[C',...;.] = NK[B,B',K',B",K";W] : Nj-[C",...;.] = NK[B,B',K',B",K";W], on puisse alors procéder à la reconstruction par liaison de tout noeud fils non périmé du nœud père supprimé au nœud grand père.
A l'étape A22 de la figure Id cette opération, désignée RATTACHEMENT AU NOEUD GRAND-PÈRE, est notée par la relation : bit(A,K) ? (bit(B,J) ? Nj1[C',...;.] = NK"[B",...;.] : Nj-[C",...;.] = NK-[B",...;.]) : (Mt(B5J) ? Nj{C',...;.] = NK-[B',...;.] : Nj-[C",...;.] = NK[B1,...;.]) Dans la relation précédente, on comprend bien entendu que bit(A,K) ? NK-[B",...;.] : NK-[B1,...;.] désigne en fait le nœud fils non périmé dont l'adresse a nécessairement (K- 1) bits en commun avec le nœud périmé NL[A,A',L',A",L";V]
Le flot candidat CFk[Ak5Vk] est inséré dans l'arbre comme modifié ci-dessus, de telle sorte à créer un nouveau nœud fils pour le nœud grand père modifié Nj[C5Cy5C5J11JU] de la manière suivante bit(Ak5J) ? (Wt(Ak5I) ? Nj1[C5...;.] = N1[Ak5A^ 3 ,C5P5UM-Vk] : N1[Ak5C5J1Ak5SSjUM-Vk]) : (bit(AkjI) 7 Nj-[C1,...;.] = N1[Ak5Ak5SS5CV5U1H-Vk] : N1[Ak5C5J11Ak5SSjU11Wk]) où
I = Wt(Ak5J) ? max(j : proj(C,j>proj(Ak,j)) : maxQ : ρroj(C",j)=ρroj(Akj)) et U' et U" sont les variables d'occupation du réseau des fils respectivement droit et gauche du nœud Nj[C5C5J'5C"5J";U]
D'une manière générale on indique que le procédé de représentation, objet de la présente invention, peut avantageusement être mis en oeuvre à partir d'une structure d'arbre binaire.
Dans un mode de mise en oeuvre préférentiel non limitatif, la structure d'arbre utilisée pour exécuter la mise en oeuvre du procédé de représentation en structure arborescente d'un groupe de flot de données numériques conformément à l'objet de la présente invention était le système PATRICIA pour "Practical Algorithm to Retrieve Information Coded In Alphanumeric" publié au Journal of the ACM, volume 15 page 514 à 534 1968 par D.R MORRISON. Ce processus de création d'arbre binaire est particulièrement avantageux dans la mesure où un tel processus permet de réduire considérablement le nombre de nœuds et la profondeur de l'arbre, tout en conservant une structure d'arbre binaire, pour représenter la structure de données arborescentes conforme à l'objet de la présente invention. Différentes indications relatives à la mise en oeuvre du procédé de représentation, objet de la présente invention, seront maintenant données en liaison avec les figures 2a à 2c.
D'une manière plus spécifique, on indique que la variable de comportement moyen est une fonction de la moyenne et de la variance de la variable d'état en termes d'occupation du réseau, rapportée à l'unité de temps.
De préférence, la variable d'état en termes d'occupation du réseau rapportée à l'unité de temps est le débit en volume de données Vk de chaque flot candidat ou de chaque groupe de flots V et/ou le débit en nombre de messages d'un type spécifique de message véhiculé par le groupe de flots AFL OU par le flot candidat CFk. Un groupe de flots est rattaché à un nœud de l'arbre binaire qui a pour niveau L égal au nombre de premiers bits en commun des adresses du groupe de flots plus 1.
Ainsi, en référence à la figure 2a chaque flot candidat CFk est détecté et représenté par des enregistrements de flots de manière classique.
Chaque enregistrement de flot forme un descripteur de flot lequel comporte au moins, ainsi que représenté en figure 2a, un identifiant de flot noté FIDk cet identifiant de flot pouvant être calculé à partir de l'adresse de destination du flot candidat, la date de début de flot, notée FSDk, la date de fin du flot FTDk, le volume du flot Vk constituant la variable d'état représentative de l'activité du flot candidat en termes d'occupation du réseau, le nombre de paquets du flot candidat CFk observé pendant la création de l'enregistrement et enfin au moins un drapeau dont la valeur à 0 ou 1 indique, par exemple, la présence ou l'absence d'un message d'un type déterminé dans le flot candidat, la position du bit [MT1511MTi5-MT1] considéré dans le drapeau précité correspondant à la désignation d'un type de message déterminé par exemple. En outre, pour réaliser la mise en oeuvre du procédé de représentation objet de la présente invention, à chaque nœud NL[A,A',L',A",L";V] de la structure de données arborescente est associé un vecteur d'état, noté V1N, comportant au moins, ainsi que représenté en figure 2b, une partie commune d'adresse A, la date de début de la partie commune d'adresse, notée AFSD, cette date correspondant à la date de création du nœud lors de la première occurrence du groupe de flots AFL[A5V] OU au moins d'un flot candidat correspondant de ce groupe de flots transitant par le nœud considéré, la date de fin de la partie commune d'adresse AFTD, cette date correspondant à la date de passage du dernier flot candidat de ce groupe de flots, dont l'adresse de destination inclut la partie commune d'adresse composée par les (L-I) premiers bit de l'adresse A, la variable d'état en termes d'occupation du réseau V
associée au nœud NL[A,A',L'5A",L";V] et au groupe de flots transitant par le nœud considéré,
Le vecteur d'état associé à chaque nœud NL[A5A1 JU5A", L"; V] comporte la variable de niveau notée L cette variable définissant, avantageusement, le rang du premier bit de l'adresse de tous les nœuds fils qui est différent de l'adresse formée par la partie commune d'adresse de ce nœud, c'est-à-dire du nœud père du nœud fils précité. Le vecteur d'état précité comporte enfin une valeur de comptage du nombre de feuilles, désigné par N, rattachées au nœud par les branches de la structure de données arborescente formée par les nœuds fils et descendants de ce nœud. On comprend, en particulier, que dans le cadre de la mise en oeuvre du procédé de représentation, objet de la présente invention, le nombre N de feuilles ou de nœuds de terminaison rattachés au nœud correspondant NL[A,A',L'5A",L";V] est absolument quelconque. En particulier pour la mise en oeuvre du procédé de représentation objet de l'invention une feuille ou nœud de terminaison peut être considéré comme un nœud pour lequel le nombre N de feuilles rattaché à ce dernier est égal à 0.
Enfin, pour chaque feuille de la structure de données arborescente mise en oeuvre grâce au procédé objet de la présente invention, et compte tenu de l'assimilation d'une telle feuille à un nœud particulier, à chaque feuille de la structure de données arborescente est avantageusement associé un vecteur d'état simplifié, noté V2Fk5 tel que représenté en figure 2c, vis-à-vis de celui représenté en figure 2b relativement à un nœud quelconque.
Le vecteur d'état représenté en figure 2c associé à chaque feuille de la structure de données arborescente, conformément au procédé de représentation objet de l'invention, comporte à titre indicatif au moins un identifiant de l'adresse Ak de destination d'au moins un flot candidat destiné à la feuille, la date de début de l'adresse de destination, notée LSD, c'est-à-dire la date de création de la feuille considérée lors de la première occurrence du flot candidat CFk, la date de fin de l'adresse de destination, notée LTD, date de passage du dernier flot candidat dont l'adresse de destination est l'adresse dans la structure de données arborescente de la
feuille et enfin la variable d'état en termes d'occupation du réseau associée à l'adresse de destination, laquelle peut être notée Vk par exemple.
Une description plus détaillée d'une structure de données arborescente adaptative représentative d'un groupe de flots de données numériques transitant en réseau vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, obtenue grâce à la mise en oeuvre du procédé de représentation objet de la présente invention tel que décrit en liaison avec des figures la, Ib, Ic, Id et 2a, 2b, 2c précédemment dans la description, sera maintenant donnée en liaison avec la figure 3. Bien entendu, la structure de données, objet de la présente invention, comporte une structure d'arbre binaire correspondant à la figure la, dans laquelle à chaque flot candidat du groupe de flots et au groupe de flots est associée une variable d'état la variable d'état V représentative de l'activité du flot en termes d'occupation du réseau. La structure de données représentée en figure 3 est établie et constitue en outre une représentation des flots précités, en particulier de chacun des flots candidats et du groupe de flots à partir de l'adresse de destination de chaque flot candidat par parcours de nœud existant de la structure de données arborescente et dont l'adresse correspond à tout ou partie de la partie commune d'adresse de l'adresse de destination et par création de nœud fils successifs ou d'une feuille, pour toute partie d'adresse de destination du flot candidat distincte de la partie commune d'adresse.
A chaque nœud respectivement chaque feuille de la structure de données siège du groupe de flots ou du flot candidat est affectée la variable d'état précitée et à chaque nœud respectivement à chaque feuille de la structure de données arborescente et du réseau précité est affectée la variable de comportement moyen notée MB(MVN, SVN) pour le nœud NL[A,A',L',A",L";V], ce comportement moyen ne dépend que du volume et du temps écoulé.
A chaque nœud NL[A5A1 JL1 JA11 JL11JV] est en outre associé le vecteur d'état V1N précédemment décrit dans la description en liaison avec la figure 2b et à chaque feuille est également associé le vecteur d'état, tel que représenté en figure 2c.
La structure de données arborescente notée TSR, telle que représentée en figure 3, conforme à l'objet de la présente invention, est obtenue grâce à la mise en oeuvre du procédé de représentation objet de la présente invention et constitue alors un moyen permettant de maintenir un tableau de moyenne et de variance relative à la variable d'état considérée pour chacun des nœuds NL[A,A',L',A",L";V] précités. Ces moyennes MVN et variances SVN sont calculées sur la base du nombre de feuilles N rattaché à tout nœud par l'intermédiaire des nœuds fils de ce dernier, c'est-à-dire par des branches correspondantes.
Une valeur de moyenne et une valeur de variance sont alors calculées pour chaque nombre de feuille. N désignant le nombre de feuilles, la moyenne et la variance de la variable d'état sont alors notées MVN=HIN et
SVN=SN
Lors de l'apparition d'un flot candidat CFk[Ak5Vk], les opérations de mise à jour de la structure arborescente représentée en figure 3 tant du point de vue de la création et/ou la suppression de nœuds existants que de la variable de comportement moyen de tout nœud concerné par le trajet du flot candidat vers son adresse de destination, opérations telles que décrites en liaison avec la figure Ib5 sont exécutées pour tout nœud NL[A5A5U5A", L"; V] atteint de la structure arborescente à l'étape A, discrimination B de l'identité entre l'adresse de destination du flot candidat CFk et l'adresse d'une feuille ou d'un nœud de la structure de données arborescente. Sur réponse positive au test B, de manière concomitante au parcours, l'étape
C de mise à jour est appelée et en particulier de la mise à jour du vecteur d'état de la feuille par les valeurs de la variable d'état V=VH-Vk ainsi bien entendu que la variable de comportement moyen MB(MVN5 SVN).
En réponse négative au test B, en l'absence de l'identité précitée, lorsque l'adresse de destination n'est pas référencée dans la structure de données
arborescente, l'opération de parcours est poursuivie à l'étape D, avec la création d'un nouveau nœud intermédiaire, avec calcul de la variable de comportement moyen MB(MVN, SVN) et initialisation des composantes du vecteur d'état associé au nouveau nœud. La mise à jour des composantes du vecteur d'état associé à chaque nœud intermédiaire entre la feuille créée ou mise à jour est exécutée à l'étape C de la figure Ib.
Ainsi, pour tout flot candidat révélé par un enregistrement de flot, tous les champs des nœuds pour lesquels l'adresse de destination de ce flot candidat comporte au moins une partie d'adresse commune sont mis à jour ou détruits ainsi que décrit précédemment dans la description.
Si le nœud considéré n'est pas détruit, les dates de début et de fin du nœud sont mises à jour, c'est-à-dire les paramètres AFSD et AFTD représentés en figure 2b. En outre, bien entendu, la variable de comportement normal et en particulier les valeurs de moyenne et de variance précédemment mentionnées dans la description associées aux nœuds qui comportent N feuilles sont également mises à jour, ainsi qu'il sera décrit ci après.
La variable d'état V en tenues d'occupation du réseau étant le volume de données ou le nombre de messages d'un type de message déterminé, la variable de comportement moyen MB affectée à chaque nœud NL[A,A',L',A",L";V] de la structure de données arborescente est définie avantageusement comme une combinaison linéaire pondérée du débit de la variable d'état et de la moyenne du débit de la variable d'état précitée compte tenu du nombre de terminaison rattachées au nœud considéré.
Ainsi si la valeur de la date de fin FTD du nœud NL[A,A',L',A",L";V] considéré est strictement supérieure à la valeur de date de début AFSD du nœud précité, alors le débit r du nœud est estimé par la relation : r=v/(AFTD-AFSD) si AFTD>AFSD.
Dans la relation précédente, v est la valeur de la variable d'état V du nœud NL[A,A',L',A",L";V].
Les valeurs de moyennes MN et de SN adaptatives définissant la variable de comportement normal sont alors mises à jour, compte tenu du nombre N de feuilles considéré.
La mise à jour est effectuée par la première combinaison linéaire précitée de la forme mN-a*mN+(l-a)*r et par une deuxième combinaison linéaire pondérée de l'écart entre le débit de la variable d'état et la moyenne pondérée de la variable d'état et de la variance SN du débit de la variable d'état, compte tenu du nombre de terminaison rattachées au nœud considéré.
La deuxième combinaison linéaire précitée est de la forme
SN=b*SN+(l-b)*(r-mN)*2.
Dans les relations de combinaison linéaire précédentes a et b sont deux coefficients de lissage appartenant à l'intervalle ouvert ]0, 1 [.
On comprend, en particulier, que la première combinaison linéaire définit une moyenne pondérée du débit de la variable d'état et que la deuxième combinaison linéaire définit une variance pondérée du débit de la variable d'état.
Un procédé de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, conforme à l'objet de la présente invention, sera maintenant décrit en liaison avec les figures 4a et 4b.
Bien entendu, le réseau de transmission précité est constitué par une pluralité de nœuds et de feuilles sièges d'au moins un flot candidat de données numériques constitutifs d'un groupe de flots. En outre chaque groupe de flots ou chaque flot candidat comporte une adresse de destination, chaque nœud ou feuille de ce réseau étant repéré par une adresse réseau correspondant à tout ou partie de l'adresse de destination de chaque flot candidat.
En référence à la figure 4a on indique que le procédé objet de l'invention consiste à établir une structure de données arborescente adaptative TSR, telle
qu'illustrée en figure 3, cette structure étant bien entendu représentative d'au moins un groupe de flots et/ou un flot candidat de ce réseau ainsi que de groupe de flots ou de ce flot candidat.
L'opération de création est réalisée à l'étape E de la figure 4a. Elle comprend bien entendu, soit la création directe, soit l'appel d'une structure de données arborescente permanente TSR mémorisée et mise à jour de manière adaptative, ainsi que décrit précédemment dans la description.
L'étape E est suivie, par exemple, d'une étape F consistant à calculer le débit r rapport de la variable d'état V pour le groupe de flots considérés transitant au nœud NL[A,A',L',A",L";V] et de la durée du nœud comprise entre les dates de fin AFTD et dates de début du nœud AFSD considérées.
Le procédé objet de l'invention consiste ensuite à surveiller, en temps réel, le comportement en termes d'occupation du réseau d'au moins un nœud respectivement d'une feuille de la structure de données arborescente adaptative par comparaison de supériorité, à l'étape G, de la variable d'état rapportée à l'unité de temps associée au nœud NL[A,A',L',A",L";V] qui a N feuilles précité ou à une feuille de ce dernier, vis- à-vis de la variable de comportement normal associée aux nœuds qui ont N feuilles respectivement à la feuille précitée.
A l'étape G de la figure 4a, l'opération de comparaison de supériorité vérifie la relation : r > mN + KN x VSN.
Dans cette relation mπ désigne la moyenne adaptative du débit pour les nœuds qui ont N feuilles et SN désigne la variance adaptative du débit pour les mêmes nœuds et dans les conditions identiques d'existence de feuilles rattachées à ce dernier.
KN est une constante expérimentale, laquelle peut typiquement être prise égale à KN = 5.
Sur comparaison de supériorité vérifiée à la valeur vraie, c'est-à-dire sur réponse positive au test de l'étape G de le figure 4a, le procédé objet de l'invention en une étape J consiste alors à déclarer suspect le comportement du nœud
NL[A5A1 JU5A1^L11JV] OU de la feuille de la structure de données arborescente, et également à déclarer suspect le groupe de flots respectivement le flot candidat représentés par ces derniers et transitant par le nœud du réseau d'adresse correspondante. A l'étape J, le procédé objet de l'invention consiste également à lancer une procédure de suivi du nœud ou de la feuille déclaré suspect et du groupe de flots ou du flot candidat représentés par ces derniers. Cette opération de lancement d'une procédure de suivi peut consister à effectuer un décompte du nombre d'occurrences de déclaration de comportement suspect du nœud NL[A,A',L',A",L";V]. Sinon, sur comparaison de supériorité de l'étape G non vérifiée à la valeur vraie, branche négative de l'étape G précitée, le procédé objet de l'invention consiste à poursuivre le processus de surveillance en temps réel d'au moins un nœud ou d'une feuille de la structure de données arborescente par une étape H, laquelle peut consister, par exemple, à mettre à zéro le compteur d'occurrence de déclaration de comportement suspect du noeud NL[A,A',L',A",L";V]. Cette opération est symbolisée par la relation ON = 0 où ON désigne le nombre d'occurrences de déclaration de comportement suspect du nœud NL[A,A',L',A",L";V] considéré. Si ON>0, ON est décrémenté de 1.
Bien entendu, l'étape H peut alors être suivie d'une étape I consistant à passer à l'exploration d'un nœud suivant en fonction du flot candidat CFk[Ak5Vk]. L'étape I est alors suivie d'un retour à l'étape E pour poursuite du processus de surveillance en temps réel.
Ainsi qu'on l'a en outre représenté en figure 4a, la procédure de suivi pour le nœud NL[A,A',L',A",L";V] consiste au moins, lorsque ce dernier a été déclaré suspect à l'étape J, à répéter l'opération de surveillance du nœud ou de la feuille considéré dont le comportement est déclaré suspect par appel d'une étape K vérifiant le nombre d'occurrences de répétition de détection de comportement suspect de ce nœud ou de cette feuille vis-à-vis d'une valeur de seuil SO.
A l'étape K, on compare ainsi la valeur du nombre d'occurrences ON pour le nœud NL[A,A',L',A",L";V] considéré par comparaison de supériorité à la valeur de seuil SO.
Sur réponse négative au test K de la figure 4a, le procédé objet de l'invention est poursuivi par une étape L laquelle consiste à calculer un nombre de répétition de déclaration de comportement suspect ΓL par incrémentation d'un taux de répétition ΓL≈ΓL+I. L'étape L est alors suivie par un retour à l'étape E pour poursuite du processus de suivi.
Au contraire sur réponse positive au test de l'étape K de la figure 4a, le procédé, objet de l'invention, consiste à déclarer en une étape M le nœud respectivement la feuille au comportement suspect comme siège d'un comportement anormal et à mémoriser tous les paramètres associés au nœud ou à la feuille considéré NL3 et en particulier la partie commune d'adresse anormale notée Aa.
Ces opérations sont réalisées et représentées à la figure 4b par l'étape N consistant à appeler les paramètres du nœud anormal NL3 suivie d'une étape O consistant à appeler un ensemble de préfixes d'adresse spécifique à protéger
cette étape étant elle-même suivie d'une étape P de comparaison d'égalité de chaque préfixe d'adresse PFAx spécifique d'adresse à protéger et de l'adresse anormale Aa. Sur réponse négative au test P de la figure 4b, le nœud d'adresse anormal A3 ne correspond pas à un préfixe d'adresse PFAx à protéger et la réponse négative au test précité peut être suivi du passage à l'étape Q à un nœud suspect suivant puis d'un retour à l'étape N dans le cas où plusieurs nœuds sont simultanément surveillés dans le cadre de la mise en oeuvre du procédé de détection d'une attaque par inondation en temps réel d'un réseau de transmission, objet de l'invention.
Au contraire, sur réponse positive au test P de la figure 4b, l'un des préfixes d'adresse PFAx correspondant à l'une des adresse anormale A3 alors une procédure d'alerte R est déclenchée cette alerte étant relative à un risque d'attaque par inondation sur coïncidence de la partie commune d'adresse anormale A3 et d'au moins l'un des préfixes d'adresse spécifiques à protéger.
Ainsi, conformément à la mise en oeuvre du procédé objet de l'invention tel que représenté en figure 4a et 4b, lorsqu'un nœud est détecté comme anormal plus de SO fois il est alors déclaré en alerte et conservé dans un tableau avec toutes les informations et paramètres relatifs. Selon un aspect remarquable du procédé objet de l'invention, ce dernier permet la détection des anomalies sur des préfixes d'adresse de destination. Toutefois ces préfixes peuvent très bien ne correspondre à aucune adresse de client routeur ou de système autonome particulier.
La variabilité intrinsèque du trafic IP peut toutefois donner naissance à ce type de phénomène. C'est la raison pour laquelle, et conformément à un aspect remarquable du procédé de détection d'une attaque par inondation objet de la présente invention, il est essentiel de faire appel à une base de données contenant les préfixes d'adresse PFAx qui présentent une signification sémantique, tel préfixe d'adresse correspondant à telle adresse client spécifique à surveiller, pour le gestionnaire du réseau de transmission de données à large bandes.
Le processus d'analyse sémantique précité permet d'éviter de remonter de fausses alertes. Le nombre de fois où un flot candidat et/ou un groupe de flot à été déclaré anormal sert alors à réaliser le filtrage des anomalies et par conséquent à supprimer les fausses anomalies. Ce paramètre permet de corréler les différents événements entre eux. On rappelle, en effet, que pour qu'une attaque par inondation réussisse, il faut certainement envoyer un nombre très important de paquets de type donné par exemple, des paquets de données ou des messages SYN dans le cadre du protocole TCP/IP. Une telle opération peut s'étaler sur des durées de l'ordre de 5 minutes au moins ; pour cette raison la durée T peut être choisie égale à 1 à 2 minutes seulement.
Le tableau des préfixes et feuilles anormales contient les même champs que les données d'origine c'est-à-dire l'identifiant d'adresse ou de préfixes la date de début la date de fin et le volume en octets plus un nouveau champ, un compteur du nombre d'anomalies. Ce nombre d'anomalies étant donné par le paramètre ON de la figure 4a.
Lorsqu'à un niveau j un nœud est détecté comme anormal, c'est-à-dire à l'étape M de la figure 4a, deux cas peuvent alors se présenter :
- la case correspondante dans le tableau des anomalies est vide et cette dernière est alors remplie avec les valeurs des champs correspondant du nœud anormal Nu ;
- il existe déjà des données dans la case : soit il s'agit du même nœud même adresse relative auquel cas les différents champs sont mis à jour avec les nouvelles données et le champ correspondant au nombre d'anomalies est incrémenté de l, - soit c'est un nœud différent : dans ce cas le nouveau nœud anormal remplace l'ancien et les différents champs sont mis à jour avec les nouvelles données.
Le tableau des anomalies peut être parcouru toutes les T unités de temps, T étant égal à 60 secondes par exemple. Les préfixes ou partie d'adresse commune ou les feuilles qui ont été déclarés anormaux pendant la période T précitée sont mis en évidence et le champ correspondant au nombre d'anomalies est mis à zéro. D'une période à l'autre si un nœud qui était anormal n'a pas évolué, c'est-à-dire si il n'y a pas eu de mise à jour de cette case dans le tableau des anomalies, alors le champ correspondant au type d'anomalies est égal à zéro et par conséquent la case mémoire correspondante peut être effacée. C'est la fin de l'anomalie pour le nœud considéré. Ainsi d'une période à l'autre on ne met en évidence que les anomalies qui sont encore actives ou nouvelles.
Une description plus détaillée d'un système de détection en temps réel d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, conforme à l'objet de la présente invention, sera maintenant donnée en liaison avec la figure 5.
Ainsi que représenté sur la figure précitée, on indique que, de manière classique, le système objet de l'invention comprend au moins des organes d'entrée/sortie IO connectés au réseau à surveiller, une unité centrale de traitement CPU et une mémoire de travail RAM.
- SS ¬
II comporte également, connectés à l'unité centrale de traitement CPU et à la mémoire de travail RAM, un module Mi de réception d'enregistrement contenant les descripteurs de flots candidat et d'extraction des paramètres contenus dans les descripteurs de flots. Bien entendu les paramètres contenus dans les descripteurs de flot lorsqu'ils ont été extraits peuvent être mémorisés dans une base de données interne HDD par exemple et formée par un disque dur de grande capacité ou autre. Il comporte en outre un module M2 de création et contrôle dynamique d'une structure de données arborescente adaptative, telle que décrite en liaison avec la figure 3. le module de création et de contrôle dynamique de la structure de données arborescente adaptative, objet de l'invention, peut avantageusement être constitué par un module de programme informatique mettant en oeuvre le procédé de représentation objet de la présente invention tel que décrit en liaison avec les figures la, Ib, Ic, Id et 2a, 2b 2c précédemment mentionnées dans la description.
Au module M2 de création et de contrôle dynamique de la structure de données arborescente adaptative, objet de l'invention, est avantageusement associée une mémoire programmable de grande capacité, mémoire non volatile par exemple, laquelle permet de mémoriser l'ensemble des paramètres et éléments constitutifs de lien représentant la structure de données arborescentes TSR telle que représenté en figure 3, ainsi que l'actualisation en temps réel de cette dernière. Le système objet de la présente invention, ainsi que représenté en figure 5, comporte également un module M3 de détection de comportement suspect d'au moins un nœud ou d'une feuille de la structure de données arborescente adaptative et du réseau ce module de détection M3 correspondant avantageusement à un module de programme informatique directement exécutable par l'unité centrale de traitement après appel en mémoire de travail RAM par exemple, ainsi que décrit en liaison avec les figures 4a et 4b.
En outre une base de données EDB est prévue pour la mise en oeuvre du système de détection, objet de la présente invention, cette base de données correspondant à une base de données de préfixes d'adresses spécifiques PFAx à protéger.
La base de données précitée peut être mise en oeuvre soit sur la base de données interne HDD, pourvu que les capacités de mémorisation de cette dernière soient suffisantes, mais de préférence, de manière non limitative, par toute base de données externe connectée par réseau aux organes d'entrée sortie IO du système objet de la présente invention.
Enfin, connecté à l'unité centrale de traitement CPU et à la mémoire de travail RAM, le système objet de l'invention comporte également un module M4 de lancement d'une procédure de suivi d'au moins un nœud de comportement suspect et d'alerte, ce module correspondant à un module de programme informatique, tel que décrit précédemment en liaison avec la figure 4b.
L'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation pour exécution par un ordinateur, remarquable en ce que lors de l'exécution par un ordinateur, ce programme permet l'exécution d'un procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques tel que décrit précédemment dans la description en liaison avec les figures la, Ib, Ic, Id et 2a, 2b, 2c, l'exécution de ce programme d'ordinateur permettant en outre l'obtention et l'actualisation d'une structure de données arborescente adaptative représentative d'un groupe de flots de données numériques telle que décrite en liaison avec la figure 3. L'invention couvre également un produit de programme d'ordinateur enregistré sur un support de mémorisation pour exécution par un ordinateur, remarquable en ce que lors de l'exécution par un ordinateur ce programme permet l'exécution d'un procédé de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, tel que décrit précédemment dans la description en liaison avec les figures 4a et 4b, ce produit de programme exécutant ces opérations à partir d'une structure de données arborescente adaptative représentative d'un groupe de flots de données numériques telle que décrite précédemment dans la description en liaison avec la figure 3.
Enfin, les produits de programme précités peuvent constituer un produit de programme commun enregistré sur un support de mémorisation pour exécution par
un ordinateur, ce produit de programme commun étant remarquable en ce qu'il est implanté sous forme modulaire, ainsi que décrit précédemment dans la description, dans un système de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, tel que décrit en liaison avec la figure 5 précédemment dans la description. On comprend en particulier que l'implantation sous forme modulaire est alors exécutée dans les modules précédemment décrits et notamment les modules Ml, M2, M3 et M4. La structure de données telle que représentée en figure 3 est alors implantée dans la mémoire E EPROM représentée à la figure 5 précitée et peut, bien entendu, faire l'objet de sauvegardes et/ou d'appel dans ou à partir le disque dur HDD.
Claims
1. Procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques formé par au moins un flot candidat transitant en réseau vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, dans lequel on associe à chaque flot candidat et/ou au groupe de flots une variable d'état représentative de l'activité dudit flot candidat et/ou dudit groupe de flots en termes d'occupation du réseau, on établit une représentation de chacun des flots candidats et/ou du groupe de flots selon une structure d'arbre binaire, à partir de l'adresse de destination de chaque flot candidat et/ou de ce groupe de flots, par parcours de nœuds existants de ladite structure de données arborescente dont l'adresse correspond à tout ou partie de ladite partie commune d'adresse de ladite adresse de destination et par création d'au moins une feuille pour toute partie d'adresse de destination d'un flot candidat distincte de ladite partie commune d'adresse, on affecte à chaque nœud respectivement à chaque feuille siège dudit groupe de flot et/ou d'un flot candidat ladite variable d'état, caractérisé en ce que celui-ci consiste en outre à :
— affecter à chaque nœud respectivement à chaque feuille de ladite structure de données arborescente et du réseau une variable de comportement moyen en termes d'occupation du réseau par ledit groupe de flots et/ou ledit flot candidat, ladite variable du comportement moyen en termes d'occupation du réseau étant fonction de ladite variable d'état en termes d'occupation du réseau et du nombre de feuilles reliées audit nœud de ladite structure de données arborescente par une branche de liaison ; - contrôler la création d'un nœud fils ou d'une feuille, la mise à jour d'un nœud ou d'une feuille existants dans ladite structure de données arborescente et de ladite variable de comportement moyen en termes d'occupation du réseau associée à ces derniers, sur critère de discrimination de l'adresse de destination de chaque flot candidat et/ou de ladite partie commune d'adresse dudit groupe de flots vis-à-vis desdits nœuds respectivement des feuilles de ladite structure de données arborescente.
2. Procédé selon la revendication 1, caractérisé en ce que le contrôle de la mise à jour d'un nœud ou d'une feuille existants dans ladite structure de données arborescente comprend préalablement l'expulsion, de ladite structure de données arborescente, d'un nœud existant sur critère de péremption dudit noeud ou de ladite feuille vis-à-vis dudit groupe de flots respectivement d'un flot candidat.
3. Procédé selon la revendication 1, caractérisé en ce que ladite variable de comportement moyen est une fonction de la moyenne et de la variance de ladite variable d'état en termes d'occupation du réseau rapportée à l'unité de temps.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que ladite variable d'état en termes d'occupation du réseau rapportée à l'unité de temps est le débit en volume de données et/ou le débit en nombre de messages d'un type spécifique de message véhiculés par ledit groupe de flot ou ledit flot candidat.
5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que chaque flot candidat est détecté et représenté par des enregistrements de flots, chaque enregistrement de flots formant un descripteur de flot comportant au moins :
- un identifiant de flot ;
- la date de début du flot ; - la date de fin du flot ;
- le volume du flot, constituant ladite variable d'état représentative de l'activité du flot en termes d'occupation du réseau ;
- le nombre de paquets du flot observés pendant la création de l'enregistrement ; — au moins un drapeau indiquant la présence ou l'absence de messages d'un type déterminé dans ledit flot.
6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que à chaque nœud de ladite structure de données arborescente est associé un vecteur d'état comportant au moins : - une partie commune d'adresse, adresse relative dudit nœud vis-à- vis d'un nœud racine de ladite structure de données arborescente ;
- la date de début de ladite partie commune d'adresse, date de création dudit nœud lors de la première occurrence du groupe de flot ou d'au moins un flot candidat de ce groupe de flots transitant par ledit nœud ;
- la date de fin de ladite partie commune d'adresse, date de disparition du dernier flot candidat de ce groupe de flots dont l'adresse de destination inclut ladite partie commune d'adresse ;
- la variable d'état en termes d'occupation du réseau associée audit nœud et audit groupe de flots transitant par ledit nœud ;
- un champ codé d'adresse relative d'un nœud fils gauche respectivement droit vis-à-vis dudit nœud, constitutif d'un nœud père vis-à-vis desdits nœud fils ;
- une variable de niveau définissant le rang du premier bit de l'adresse d'un nœud fils qui est différent de l'adresse formée par la partie commune d'adresse dudit nœud, nœud père dudit nœud fils ;
- une valeur de comptage du nombre de feuilles rattachées audit nœud par les branches de la structure de données arborescente formées par les nœuds fils et descendants dudit nœud.
7. Procédé selon l'une des revendications 1 à 6, caractérisé en ce que à chaque feuille de ladite structure de données arborescente est associé un vecteur d'état comportant au moins :
- un identifiant de l'adresse de destination d'au moins un flot candidat destiné à ladite feuille ; - la date de début de ladite adresse de destination, date de création de ladite feuille lors de la première occurrence dudit flot candidat ;
- la date de fin de ladite adresse de destination, date de disparition du dernier flot candidat dont l'adresse de destination est l'adresse dans ladite structure de données arborescente de ladite feuille ; - la variable d'état en termes d'occupation réseau associée à ladite adresse de destination.
8. Procédé selon l'une des revendications 1 à 7, caractérisé en ce que ladite variable d'état en termes d'occupation du réseau étant le volume de données ou le nombre de messages d'un type de message déterminé, ladite variable de comportement moyen affectée à chaque nœud de ladite structure de données arborescente est définie comme, d'une part, une première combinaison linéaire pondérée dudit débit de ladite variable d'état et de la moyenne du débit de ladite variable d'état, compte tenu du nombre de terminaisons rattachées dudit nœud, ladite première combinaison linéaire définissant une moyenne pondérée du débit de ladite variable d'état, et, d'autre part, une deuxième combinaison linéaire pondérée de l'écart entre le débit de ladite variable d'état et ladite moyenne pondérée de ladite variable d'état et de la variance du débit de ladite variable d'état, compte tenu du nombre de terminaisons rattachées audit nœud, ladite deuxième combinaison linéaire définissant une variance pondérée du débit de ladite variable d'état.
9. Procédé selon l'une des revendications 7 ou 8, caractérisé en ce que, sur occurrence d'un flot candidat, ledit procédé consiste au mois à :
- discriminer l'identité entre l'adresse de destination dudit flot candidat et l'adresse d'une feuille dans ladite structure de données arborescente ; et, sur existence d'une telle identité,
- parcourir ladite structure de données arborescente et mettre à jour ledit vecteur d'état de ladite terminaison ; sinon, en l'absence d'une telle identité, ladite adresse de destination n'étant pas référencée dans ladite structure de données arborescente, — parcourir ladite structure de données arborescente pour créer un nouveau nœud fils, vis-à-vis d'un nœud père, tel que l'adresse dudit nœud fils dans ladite structure de données arborescente corresponde à ladite partie commune d'adresse de ladite adresse de destination et initialiser les composantes du vecteur d'état associé audit nouveau nœud fils ; - mettre à jour les composantes du vecteur d'état associé à chaque nœud intermédiaire entre ladite feuille mise à jour ou créée et ledit nœud père.
10. Procédé selon l'une des revendications 2 à 9, caractérisé en ce que, sur parcours et exploration de chaque nœud de ladite structure de données arborescente, celui-ci consiste en outre à :
- détecter la péremption dudit nœud, la péremption d'un nœud étant définie sur critère d'absence d'occurrence d'un nouveau flot candidat dans un intervalle temporel déterminé dont l'adresse de destination comporte comme partie commune d'adresse, l'adresse dans la structure de données arborescente dudit nœud ; et sur péremption dudit nœud,
- détruire ledit nœud dans ladite structure arborescente.
11. Procédé selon la revendication 10, caractérisé en ce que, sur destruction de tout nœud périmé, celui-ci consiste en outre à :
- détruire ledit nœud père dudit nœud périmé ; et à - relier tout autre nœud fils non périmé dudit nœud père supprimé au nœud grand-père, non périmé, ce qui permet de conserver la symétrie de ladite structure de données arborescente.
12. Structure de données arborescente adaptative représentative d'un groupe de flots de données numériques transitant en réseau vers un ensemble d'adresses de destination comportant chacune une partie commune d'adresse, à chaque flot candidat de ce groupe de flots et audit groupe de flots étant associée une variable d'état représentative de l'activité du flot ou du groupe de flots en termes d'occupation du réseau, ladite structure de données étant établie et constituant une représentation de chacun des flots candidats et du groupe de flots candidats, à partir de l'adresse de destination de chaque flot candidat, par parcours de nœuds existants de ladite structure de données arborescente dont l'adresse correspond à tout ou partie de ladite partie commune d'adresse de ladite adresse de destination et par création de nœuds fils successifs ou d'une feuille pour toute partie d'adresse de destination dudit flot candidat distincte de ladite partie commune d'adresse, à chaque nœud respectivement chaque feuille de ladite structure de données siège dudit groupe de flots ou du flot candidat étant affectée ladite variable d'état, caractérisé en ce que à chaque nœud respectivement chaque feuille de ladite structure de données arborescente et du réseau est affectée une variable de comportement moyen en termes d'occupation du réseau par ledit groupe de flots et/ou ledit flot candidat, ladite variable de comportement moyen étant fonction de ladite variable d'état en termes d'occupation du réseau et du nombre de feuilles reliées audit nœud de ladite structure de données arborescente par une branche de liaison, la création, la mise à jour ou l'expulsion d'un nœud fils ou d'une feuille de ladite structure de données arborescent et de ladite variable de comportement moyen en termes d'occupation du réseau étant contrôlées dynamiquement sur critère de discrimination de l'adresse de destination dudit flot candidat vis-à-vis de ladite partie commune d'adresse respectivement de péremption de tout nœud existant vis-à-vis dudit groupe de flots ou du flot candidat.
13. Structure de données selon la revendication 11, caractérisé en ce que ladite variable de comportement moyen est une fonction de la moyenne et de la variance de ladite variable d'état en termes d'occupation du réseau rapportée à l'unité de temps.
14. Structure de données selon la revendication 12 ou 13, caractérisé en ce que à chaque nœud de ladite structure de données arborescente est affecté un vecteur d'état comportant au moins : - une partie commune d'adresse, adresse relative dudit nœud vis-à- vis d'un nœud racine de ladite structure de données arborescente ;
- la date de début de ladite partie commune d'adresse, date de création dudit nœud lors de la première occurrence du groupe de flot ou d'au moins un flot candidat de ce groupe de flots transitant par ledit nœud ; - la date de fin de ladite partie commune d'adresse, date de disparition du dernier flot candidat de ce groupe de flots dont l'adresse de destination inclut ladite partie commune d'adresse ;
- la variable d'état en termes d'occupation du réseau associée audit nœud et audit groupe de flots transitant par ledit nœud ; - un champ codé d'adresse relative d'un nœud fils gauche respectivement droit vis-à-vis dudit nœud, constitutif d'un nœud père vis-à-vis desdits nœud fils ;
- une variable de niveau définissant le rang du premier bit de l'adresse d'un nœud fils qui est différent de l'adresse formée par la partie commune d'adresse dudit nœud, nœud dudit nœud fils ;
- une valeur de comptage du nombre de feuilles rattachées audit nœud par les branches de la structure de données arborescente formées par les nœuds fils et descendants dudit nœud.
15. Structure de données selon l'une des revendications 12 à 14, caractérisé en ce que à chaque feuille de ladite structure de données arborescente est associé un vecteur d'état comportant au moins :
- un identifiant de l'adresse de destination d'au moins un flot candidat destiné à ladite feuille ; - la date de début de ladite adresse de destination, date de création de ladite feuille lors de la première occurrence dudit flot candidat ;
- la date de fin de ladite adresse de destination, date de disparition du dernier flot candidat dont l'adresse de destination est l'adresse dans ladite structure de données arborescente de ladite feuille ; - la variable d'état en termes d'occupation réseau associée à ladite adresse de destination.
16. Procédé de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, ledit réseau étant constitué par une pluralité de nœuds et de feuilles sièges d'au moins un flot candidat de données numériques constitutif d'un groupe de flots, chaque groupe de flots respectivement chaque flot candidat comportant une adresse de destination, chaque nœud et/ou feuille dudit réseau étant repéré par une adresse réseau correspondant à tout ou partie de ladite adresse de destination, caractérisé en ce qu'il consiste au moins à : - établir une structure de données arborescente adaptative représentative d'au moins un groupe de flots et/ou d'un flot candidat de ce réseau, selon l'une des revendications 12 à 15 ;
- surveiller en temps réel le comportement en termes d'occupation dudit réseau d'au moins un nœud respectivement d'une feuille de ladite structure de données arborescente adaptative par comparaison de supériorité de ladite variable d'état rapportée à l'unité de temps associée audit nœud respectivement à ladite feuille vis-à-vis de ladite variable de comportement moyen associée audit nœud respectivement à ladite feuille ; et, sur comparaison de supériorité vérifiée à la valeur vraie,
- déclarer suspect le comportement dudit nœud respectivement de ladite feuille de ladite structure de données arborescente et le groupe de flots respectivement le flot candidat représentés par ces derniers ; et
- lancer une procédure de suivi dudit nœud respectivement de ladite feuille et du groupe de flots respectivement du flot candidat représentés par ces derniers ; sinon, sur comparaison de supériorité non vérifiée à la valeur vraie,
- poursuivre le processus de surveillance en temps réel d'au moins un nœud respectivement d'une feuille de ladite structure de données arborescente.
17. Procédé selon la revendication 16, caractérisé en ce que ladite procédure de suivi consiste au moins à :
- répéter l'opération de surveillance dudit nœud respectivement de ladite feuille dont le comportement est déclaré suspect ; et sur critère d'un nombre d'occurrences de répétition de détection de comportement suspect dudit nœud respectivement de ladite feuille vis-à-vis d'une valeur de seuil, dans un intervalle de temps déterminé,
- déclarer ledit nœud respectivement ladite feuille au comportement suspect comme siège d'un comportement anormal et mémoriser tous les paramètres associés audit nœud respectivement à ladite feuille, en particulier ladite partie commune d'adresse associée à ces derniers désignés partie commune d'adresse anormale ; - effectuer une analyse sémantique de ladite partie commune d'adresse anormale, vis-à-vis d'un exemple de préfixes d'adresses spécifiques à protéger ;
- lancer une procédure d'alerte de risque d'attaque par inondation sur coïncidence de ladite partie commune d'adresse anormale et d'au moins l'un desdits préfixes d'adresses spécifiques à protéger.
18. Système de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, ledit réseau étant constitué par une pluralité de nœuds et de feuilles sièges d'au moins un flot candidat de données numériques et/ou d'un groupe de flots comportant une adresse de destination, chaque nœud respectivement chaque feuille dudit réseau étant repéré par une adresse réseau correspondant à tout ou partie de ladite adresse de destination, ledit système de détection comprenant au moins des organes d'entrée/sortie, connectés audit réseau, une unité centrale de traitement et une mémoire de travail, caractérisé en ce qu'il comporte au moins, interconnectés à ladite unité centrale de traitement et à ladite mémoire de travail :
- un module de réception d'enregistrements, contenant des descripteurs de flots candidat, et d'extraction de paramètres contenus dans les descripteurs de flots ; - un module de création et de contrôle dynamique d'une structure de données arborescente adaptative, selon l'une des revendications 12 à 15 ;
- un module de détection de comportement suspect d'au moins un nœud respectivement d'une feuille de ladite structure de données arborescente adaptative et du réseau selon le procédé de la revendication 16 ; - une base de données de préfixes d'adresses spécifiques à protéger ;
- un module de lancement d'une procédure de suivi d'au moins un nœud de comportement suspect et d'alerte, selon le procédé de la revendication 17.
19. Produit de programme d'ordinateur enregistré sur un support de mémorisation pour exécution par un ordinateur, caractérisé en ce que lors de l'exécution par un ordinateur, ledit programme d'ordinateur permet l'exécution d'un procédé de représentation selon une structure de données arborescente adaptative d'un groupe de flots de données numériques selon l'une des revendications 1 à 11 et l'obtention et l'actualisation d'une structure de données arborescente adaptative représentative d'un groupe de flots de données numériques selon l'une des revendications 12 à 15.
20. Produit de programme d'ordinateur enregistré sur un support de mémorisation pour exécution par un ordinateur, caractérisé en ce que lors de l'exécution par un ordinateur ledit programme d'ordinateur permet l'exécution d'un procédé de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques à large bande, selon l'une des revendications 16 à 17, à partir d'une structure de données arborescente adaptative représentative d'un groupe de flots de données numériques selon l'une des revendications 12 à 15.
21. Produit de programme d'ordinateur enregistré sur un support de mémorisation pour exécution par un ordinateur selon l'une des revendications 19 ou 20, caractérisé en ce que ledit produit de programme est implanté sous forme modulaire dans un système de détection, en temps réel, d'une attaque par inondation d'un réseau de transmission de données numériques par paquets à large bande, selon la revendication 18.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0505038 | 2005-05-19 | ||
| FR0505038 | 2005-05-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2006123036A1 true WO2006123036A1 (fr) | 2006-11-23 |
Family
ID=35539691
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/FR2006/001059 WO2006123036A1 (fr) | 2005-05-19 | 2006-05-11 | Procede de representation en structure arborescente d'un groupe de flots de donnees numeriques. structure arborescente, procede et systeme de detection d'une attaque par inondation |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2006123036A1 (fr) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110868388A (zh) * | 2018-08-27 | 2020-03-06 | Ovh公司 | 用于操作联网设备的系统和方法 |
-
2006
- 2006-05-11 WO PCT/FR2006/001059 patent/WO2006123036A1/fr active Application Filing
Non-Patent Citations (2)
| Title |
|---|
| CHO K ET AL: "An aggregation technique for traffic monitoring", APPLICATIONS AND THE INTERNET (SAINT) WORKSHOPS, 2002. PROCEEDINGS. 2002 SYMPOSIUM ON NARA, JAPAN 28 JAN.-1 FEB. 2002, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 28 January 2002 (2002-01-28), pages 74 - 81, XP010587865, ISBN: 0-7695-1450-2 * |
| YIN ZHANG, SUMEET SINGH, SUBHABRATA SEN, NICK DUFFIELD, CARSTEN LUND: "Online Identification of Hierarchical Heavy Hitters: Algorithms, Evaluation, and Applications", UNIVERSITY OF CLAIFORNIA, AT & T LABS, 25 October 2004 (2004-10-25) - 27 October 2004 (2004-10-27), USA, pages 1 - 14, XP002363463 * |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110868388A (zh) * | 2018-08-27 | 2020-03-06 | Ovh公司 | 用于操作联网设备的系统和方法 |
| US11627110B2 (en) | 2018-08-27 | 2023-04-11 | Ovh | Systems and methods for operating a networking device |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Smys | DDOS attack detection in telecommunication network using machine learning | |
| US8682812B1 (en) | Machine learning based botnet detection using real-time extracted traffic features | |
| EP2023533B1 (fr) | Procédé et installation de classification de trafics dans les réseaux IP | |
| CN111277570A (zh) | 数据的安全监测方法和装置、电子设备、可读介质 | |
| US8280968B1 (en) | Method of detecting compromised computers in a network | |
| US20090168645A1 (en) | Automated Network Congestion and Trouble Locator and Corrector | |
| EP1695485A2 (fr) | Procede de classification automatique d un ensemble d a lertes issues de sondes de detection d intrusions d un systeme de securite d information | |
| US20230216746A1 (en) | Method for detecting anomalies in communications, and corresponding device and computer program product | |
| Aiello et al. | Profiling DNS tunneling attacks with PCA and mutual information | |
| EP2548337A2 (fr) | Procédé d'identification d'un protocole à l'origine d'un flux de données | |
| FR2902954A1 (fr) | Systeme et procede de stockage d'un inventaire des systemes et/ou services presents sur un reseau de communication | |
| WO2006123036A1 (fr) | Procede de representation en structure arborescente d'un groupe de flots de donnees numeriques. structure arborescente, procede et systeme de detection d'une attaque par inondation | |
| WO2007006994A2 (fr) | Detection statique d'anomalies dans le trafic relatif a une entite de service | |
| US20060018262A1 (en) | Method, system and program for automatically detecting distributed port scans in computer networks | |
| WO2010037955A1 (fr) | Procede de caracterisation d'entites a l'origine de variations dans un trafic reseau | |
| WO2006008307A1 (fr) | Procede, systeme et programme informatique pour detecter un balayage non autorise sur un reseau | |
| EP3598330B1 (fr) | Procédé et dispositif de détection d'anomalie | |
| WO2007006995A2 (fr) | Detection dynamique d'anomalies dans le trafic relatif a une entite de service | |
| EP4009584A1 (fr) | Procédé de détermination de classifieurs pour la détection d'attaques dans un réseau de communication, dispositif de détermination associé | |
| EP2625830B1 (fr) | Procédé et dispositif de transfert sécurisé de données | |
| Zhanikeev et al. | Anomaly identification based on flow analysis | |
| FR2806503A1 (fr) | Procede et dispositif d'analyse de trafic d'une pluralite de systemes informatiques pare-feu | |
| Taveira et al. | A monitor tool for anti-spam mechanisms and spammers behavior | |
| EP3035639B1 (fr) | Procédé de détection de balayage de ports non-autorisé dans un réseau informatique, produit programme d'ordinateur et dispositif associés | |
| EP2790355B1 (fr) | Procédé de caractérisation d'un réseau informatique |
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 |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: DE |
|
| NENP | Non-entry into the national phase |
Ref country code: RU |
|
| WWW | Wipo information: withdrawn in national office |
Country of ref document: RU |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 06764604 Country of ref document: EP Kind code of ref document: A1 |