Brevet FR3025040A1 — publié le 20160226

Procédé et dispositif de détection d'évènements suspects parmi un ensemble d'évènements relatifs à une session d'exécution d'un système La présente invention concerne un procédé et un dispositif de détection d'évènements suspects parmi un ensemble mémorisé d'évènements relatifs à une session d'exécution d'un système composé d'une pluralité de composants matériels et/ou logiciels qui interagissent. Un des domaines d'application de l'invention se situe dans la securité des systèmes. L'invention trouve une application particulière dans le domaine de la sécurité des réseaux de communication par exemple des réseaux de communication IP (Internet Protocol), tels qu'un réseau local d'entreprise, l'invention ayant pour but de détecter d'éventuelles attaques ou tentatives d'intrusion. Dans un tel réseau de communication, des machines, identifiées chacune par une adresse IP et un port, échangent des paquets de données durant une session de communication, selon un protocole de communication (FTP, HTTP, etc). Un paquet de données est un datagramme comprenant une partie d'entête, comprenant des données d'acheminement du paquet, et une partie utile, contenant des données d'application. Dans le domaine de la sécurité réseau, on connait des composants logiciels de surveillance du réseau, tels que des systèmes de détection d'intrusion, aussi dénommés systèmes IDS (selon l'acronyme anglais « Intrusion Detection System »). Un tel composant est paramétré par l'éditeur, qui y incorpore un certain nombre de règles d'alerte de base, ainsi que par l'opérateur, qui définit des règles d'alerte spécifiques. Lorsque le composant détecte qu'un évènement capturé sur le réseau surveillé satisfait à l'ensemble des critères d'une règle d'alerte, il consigne l'évènement suspect dans une table d'une base de données. Un exemple d'un tel composant de surveillance est donné par le logiciel libre SNORT. Cependant, de tels composants logiciels de surveillance sont limités par les règles d'alerte pré-établies, et ne peuvent pas détecter n'importe quel type d'évènements suspects. On connait également des composants logiciels de collecte d'informations relatives au flux de données circulant sur le réseau de communication surveillé. Un tel composant de collecte génère périodiquement un fichier, appelé également journal d'exécution, dont chaque ligne correspond à un évènement. Pour chaque paire de machines ayant échangé au moins un paquet de données au cours de la période correspondant au fichier, un évènement représente le flux 3025040 2 élémentaire d'une session de communication entre ces deux machines, au cours de cette période. Ainsi, un évènement correspond à l'agrégation des paquets transmis, selon un même protocole, entre deux machines au cours d'une même session d'échange. Il est utile de chercher à déterminer de manière automatique, à partir d'un 5 ensemble d'évènements mémorisés dans un journal d'exécution, si un des évènements mémorises est suspect et de lui associer une alerte. Par définition, un évènement suspect est un évènement rare, caché dans un volume massif d'évènements dit normaux correspondant à un fonctionnement normal. On peut en effet montrer que chercher des évènements relatifs à des attaques qui 10 ont une faible probabilité de survenir revient à considérer les évènements suspects comme étant des évènements rares. Il est particulièrement difficile de déterminer automatiquement de tels évènements suspects par des méthodes supervisées, car il est difficile d'obtenir un jeu de données d'apprentissage pour des évènements rares. 15 L'invention a pour but de remédier aux inconvénients de l'art antérieur, en proposant un procédé permettant, sur la base d'un ensemble d'évènements mémorisé, de détecter, de manière non supervisée, si un évènement est suspect et de lui associer une alerte. 20 Pour cela, l'invention a pour objet un procédé de détection d'évènements suspects parmi un ensemble d'évènements mémorisés relatifs à une session d'exécution d'un système composé d'une pluralité de composants matériels et/ou logiciels qui interagissent, un évènement étant caractérisé par une pluralité de paramètres, caractérisé en ce qu'il comporte les étapes suivantes, mises en oeuvre en utilisant un 25 échantillon de l'ensemble d'évènements mémorisés comportant au moins un évènement mémorisé : -pour chaque paramètre, estimation d'une probabilité individuelle d'occurrence dudit paramètre, - estimation d'une fonction de répartion d'une variable aléatoire représentative d'un 30 évènelent en utilisant une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des paramètres, - estimation d'une probabilité d'occurrence d'un évènement dudit ensemble d'évènement à partir de ladite copule estimée, 3025040 3 - association d'une alerte à un évènement particulier du fichier lorsque la valeur de la probabilité d'occurrence estimée dudit évènement particulier est inférieure à un seuil d'alerte prédéterminé, la copule choisie permettant d'optimiser le compromis entre taux de détection et 5 taux de faux positifs par la comparaison de la probabilité d'occurrence estimée audit seuil d'alerte. Suivant des modes particuliers de réalisation, le procédé comporte une ou plusieurs des caractéristiques suivantes, prise(s) isolément ou suivant toutes les combinaisons techniquement possibles : 10 - la copule choisie est définie, pour un évènement à L paramètres IX01 5_ i chaque paramètre étant assimilié à une variable aléatoire monovariée, par : L))=11F j(X i)-HF,(X i) j#1 j#i i=1 Où Fi est la fonction de répartition de la variable aléatoire X. ; - lorsque ledit paramètre est assimilable à une variable aléatoire quantitative, 15 l'estimation de la probabilité individuelle dudit paramètre met en oeuvre un estimateur à noyau ; - l'estimateur à noyau mis en oeuvre est un estimateur de Parzen-Rozenblatt ; - l'estimation d'une probabilité d'occurrence d'un évènement est réalisée de manière incrémentale, en mettant à jour une estimation courante de ladite probabilité en 20 tenant compte d'un nouvel évènement du fichier ; - l'étape d'association d'une alerte à un évènement particulier du fichier, le seuil d'alerte est déterminé dynamiquement à partir de l'ensemble d'évènements mémorisé ; - ledit ensemble d'évènements est généré par un composant logiciel de collecte d'informations relatives à un flux de données circulant sur un réseau de communications ; 25 et - ledit ensemble d'évènements mémorisés est mémorisé dans un fichier NETFLOW. L'invention a également pour objet un dispositif d'évènements suspects parmi un ensemble d'évènements mémorisés relatifs à une session d'exécution d'un système 30 composé d'une pluralité de composants matériels et/ou logiciels qui interagissent, un évènement étant caractérisé par une pluralité de paramètres, caractérisé en ce qu'il comporte les unités de calcul, mises en oeuvre pour traiter un échantillon de l'ensemble d'évènements mémorisés comportant au moins un évènement mémorisé, adaptées à : 3025040 4 -pour chaque paramètre, estimer une probabilité individuelle d'occurrence dudit paramètre, - estimer une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des 5 paramètres, - estimer une fonction de répartion d'une variable aléatoire représentative d'un évènelent en utilisant une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des paramètres, 10 - associer une alerte à un évènement particulier du fichier lorsque la valeur de la probabilité d'occurrence estimée dudit évènement particulier est inférieure à un seuil d'alerte prédéterminé, la copule choisie permettant d'optimiser le compromis entre taux de détection et taux de faux positifs par la comparaison de la probabilité d'occurrence estimée audit seuil 15 d'alerte. L'invention a également pour objet un programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé de détection d'évènements suspects tel que défini ci-dessus lors de l'exécution du programme par un processeur d'un dispositif programmable. 20 D'autres caractéristiques et avantages de l'invention ressortiront de la description qui en est donnée ci-dessous, à titre indicatif et nullement limitatif, en référence aux figures annexées, parmi lesquelles : -la figure 1 est un exemple de système mettant en oeuvre l'invention ; 25 -la figure 2 est un organigramme d'un procédé de détection d'évènements suspects selon un mode de réalisation de l'invention. L'invention sera décrite ci-après dans un mode de réalisation particulier de détection d'évènements suspects dans un réseau de communications, à partir d'un 30 ensemble d'évènements relatif à un flux de données circulant sur le réseau. Il est bien entendu que l'invention ne se limite pas à cet exemple de réalisation et s'applique de manière plus générale pour la détection d'évènements suspects dans un système composé d'une pluralité de composants matériels et/ou logiciels qui interagissent, et pour lequel on dispose d'un ensemble d'évènements relatifs à une 35 exécution du système. 3025040 5 Dans le mode de réalisation particulier décrit, l'invention est mise en oeuvre dans un réseau de communications IP à partir d'un fichier d'évènements généré par un composant logiciel de collecte d'informations relatives à un flux de données circulant sur le réseau surveillé. 5 La figure 1 illustre schématiquement un système de communications 1, comportant deux machines 2, 4, aptes à communiquer via un réseau de communications IP local 6. Le réseau de communications local 6 comporte une passerelle de connexion 8 de ce réseau local 6 à un réseau de communication IP public 10, tel que l'INTERNET 10 Dans le mode de réalisation illustré, un composant de collecte d'informations 12 est implanté au niveau de la passerelle de connexion 8. Le composant de collecte d'informations 12 est propre à analyser le flux de données transitant sur la passerelle de connexion 8. Le composant de collecte d'informations 12 génère périodiquement un fichier 14, 15 appelé également journal d'évènements ou log, dont chaque ligne correspond à un évènement. Chaque ligne est identifiée par un entier n. Le journal d'évènements 14 est enregistré dans un espace mémoire 16, par exemple un disque dur. Par exemple, un journal d'évènements 14 est généré toutes les quinze minutes. 20 Un exemple d'un tel composant de collecte 12 est donné par le logiciel NETFLOW développé par la société CISCO SYSTEMS. Le journal d'évènements 14 généré par ce logiciel respecte le protocole NETFLOW, dont les caractéristiques de la version 9 sont publiées dans le document RFC 3954 accessible en ligne. L'IETF (selon l'acronyme anglais « Internet Engineering Task Force ») a 25 généralisé le protocole NETFLOW dans la norme IPFIX (selon l'acronyme anglais « IP Flow Information Export »), définie dans les documents RFC 5101, RFC 5102 et RFC 5103 accessibles en ligne. Dans ce qui suit, on parle de « fichier NETFLOW » pour tout fichier répondant à la norme IPFIX. 30 Chaque évènement X(n) correspond à une session sur la période de surveillance, c'est-à-dire à l'agrégation des paquets échangés, selon un même protocole, entre une première machine (identifiée par son adresse IP et son port de communication) et une seconde machine (identifiée par son adresse IP et son port de communication), une machine pouvant, au cours d'une même session, fonctionner en émetteur d'un 35 paquet ou en destinataire d'un paquet. 3025040 6 Chaque évènement X(n) est caractérisé par une pluralité de L paramètres X (n) Par exemple, dans un mode de réalisation, un évènement X(n) est défini par sept paramètres : 5 X 1(n) correspond au protocole de la quatrième couche du modèle OSI (en général égal TCP ou UDP, mais d'autres protocoles sont possibles) ; X 2(n) correspond à l'adresse IP de la première machine ; X 3(n) correspond à l'adresse IP de la seconde machine ; X 4(n) correspond au port de la première machine ; 10 X5 (n) correspond au port de la seconde machine ; X 6(n) correspond au nombre de paquets échangés durant la session ; et, X7 (n) correspond au nombre d'octets échangés durant la session. Un journal d'évènements 14 mémorisé est fourni à un dispositif programmable comprenant une unité de calcul apte à mettre en oeuvre un procédé de détection 15 d'évènements suspects selon l'invention. Un tel dispositif programmable est par exemple un ordinateur, comportant notamment un circuit programmable ou un processeur apte à exécuter des instructions de programme de commande lorsque le dispositif est mis sous tension et des moyens de stockage d'informations, aptes à stocker des instructions de code exécutable permettant 20 la mise en oeuvre de programmes aptes à mettre en oeuvre le procédé de détection d'évènements suspects selon l'invention. De manière générale, le procédé est conçu pour permettre de détecter, dans un ensemble d'évènements d'un journal d'exécution mémorisé, les évènements X(n) anormaux ou suspects. 25 Un évènement est considéré comme suspect lorsque, comparativement à l'historique de l'utilisation du réseau surveillé, cet évènement correspond à une utilisation marginale du réseau. Pour détecter ces évènements suspects, une approche probabiliste est utilisée. En effet, les probabilités permettent de quantifier le niveau de normalité d'un évènement. Un 30 évènement suspect apparaît alors comme un évènement rare, c'est-à-dire dont la probabilité d'occurrence est faible. 3025040 7 Le procédé comporte une estimation de la probabilité P d'occurrence d'un évènement X à partir d'un échantillon constitué par des évènements X(n) du journal d'exécution source. L'estimation de la probabilité d'occurrence d'un évènement X , modélisé comme 5 variable aléatoire multi-variée à plusieurs paramètres, comporte une étape estimation d'une probabilité individuelle d'occurrence pour chaque paramètre X considéré comme variable aléatoire mono-variée. L'estimation de la probabilité individuelle de chaque paramètre X, est effectuée indépendamment de l'estimation des autres paramètres, à partir d'un échantillon constitué 10 par les valeurs X (n) dudit paramètre prises dans le journal d'exécution. Ensuite, la probabilité P d'occurrence de l'évènement X est estimée par la mise en oeuvre d'une copule choisie permettant d'optimiser un compromis entre taux de détection et taux de faux positifs, comme expliqué en détail ci-après. Le procédé comporte ensuite un calcul de la valeur de la probabilité d'occurrence 15 d'un évènement X(n) particulier, en utilisant l'estimation précédente de la probabilité P . Enfin, le procédé comporte l'étiquetage de l'évènement X(n) particulier en tant qu'évènement suspect lorsque la valeur calculée de la probabilité d'occurrence de l'évènement particulier est inférieure à un seuil d'alerte prédéterminé. D'une manière générale, un estimateur d'une grandeur G sera noté G . Un 20 estimateur peut être obtenu à partir d'un échantillon de N valeurs de la grandeur G . Il sera alors noté GN L'estimation de la probabilité P d'un évènement X consiste d'abord à estimer une probabilité individuelle pour chaque paramètre X, . Les probabilités individuelles P, sont également dénommées « probabilités marginales » de la probabilité P . 25 Lorsque le paramètre X, est une variable aléatoire qualitative, c'est-à-dire à valeur dans un ensemble discret et fini d'éléments notés , alors un estimateur Pi de la probabilité individuelle P, est donné par la relation : 1 (1) ,N (X 1 ) = I 1 N n=1 X,(n)=x,' où N est le nombre d'évènements pris en compte dans l'estimation; et 1X,(n),,x,k est la 30 fonction indicatrice, elle vaut 1 lorsque sa condition est réalisée, 0 sinon. 3025040 8 Selon la relation (1), il s'agit de compter le nombre d'évènements du fichier NETFLOW pour lesquels X (n) = x , ramené à la longueur N de l'historique. Dans une mise en oeuvre incrémentale, permettant de mettre à jour les différents estimateurs pour tenir compte d'un nouvel évènement X(N) du journal d'exécution, la 5 relation (1) devient : ik " 1 P (X = x ). N N-1 ,N -I + -N1Xi(n),,cik Lorsque le paramètre X. est une variable aléatoire quantitative, c'est-à-dire à valeur dans un ensemble continu, la procédure qui est utilisée pour estimer la probabilité individuelle P,, qui est alors une fonction continue de X, , met en oeuvre un estimateur dit 10 « à noyau ». Plus particulièrement, dans le présent mode de réalisation, l'estimateur à noyau mis en oeuvre est celui dit de Parzen-Rozenblatt. L'estimateur P, est donné par la relation suivante : ( r (2) 1N(_x = x.) = i;n=1 N K Lxi-xi( )f , "1N 4,N ) 15 Où N est le nombre d'évènements pris en compte dans l'estimation ; x ,(n) , la valeur du paramètre Xi pour la nième observation , X i(n) ; K est une fonction de noyau ; et hi , une estimation sur un échantillon de N évènements, d'un paramètre de lissage h. Ou encore, dans une mise en oeuvre incrémentale par la relation : 1 [x. - x. (N)]\ = xi) =N -1 (2') N ,N -1 + 7tri: î ,N "1N 20 La fonction de noyau K est choisie comme étant une fonction gaussienne standard, c'est-à-dire à espérance nulle et à variance unitaire : K(t) , 1 e 2 ,V2ir Le paramètre de lissage h est obtenu en utilisant la relation usuellement associée à ce noyau : 25 h. =1,06.6i.N où (si est l'écart type de la distribution des Xi(n), qui est égal à la racine carrée de la variance Vi de cette distribution. 3025040 9 L'estimateur hi y est ainsi déterminé au moyen d'une estimation de la variance , donnée par la relation suivante, qui correspond à un estimateur sans biais: = 1 ( iÈr [ N -1 x i(n) 'Nt) (3) où 11 est la valeur moyenne de la variable aléatoire Xi , dont une estimation est donnée 5 par : 1 N X i 'N = -E X .(n) N Pour une mise à jour incrémentale, la relation (3) devient : =NN -1 1+ (X ,(N)- i)2) (3') Une fois les estimateurs P N des probabilités individuelles obtenus, il s'agit 10 d'estimer la probabilité P globale. Les variables aléatoires X ne sont pas indépendantes entre elles, de sorte que la probabilité P de la variable X n'est pas le simple produit des probabilités individuelles P. Pour estimer la dépendance entre les variables aléatoires X , la notion de copule 15 est utilisée. De manière générale, pour une variable X deux-variée dans les variables X1 et X2 la fonction de copule C permet d'écrire : F x(u,v)= P(X X2 V) = C(Fi(u); F 2(V)) (4) Où, de manière générale, Fx désigne la fonction de répartition de la variable X de 20 probabilité P , définie par : F x(u,v)= f f IP(x'x2)dx,dx2 où p(xl,x2) est la densité de probabilité de la variable X . FI et F2 sont les fonctions de répartitions respectives des variables X1 et X2. 25 Plus généralement, pour une variable aléatoire X on écrit : F x (x) = f P(x')dx' (5) 3025040 10 De manière générale, l'utilisation d'une copule permet d'inférer une probabilité jointe d'une variable aléatoire multi-variée X = (X1,...,XL)à partir des distributions marginales des variables aléatoires Xi constitutives de la variable aléatoire X . 5 Dans le mode de réalisation préféré de l'invention, la fonction copule utilisée est la fonction suivante : C(F,(u), F2 (V)) = VF-1 (u) UF21 (V) - F1-1 (U)F21 (V) (6) Cette copule est la copule de transport optimal définie par J.F. Marcotorchino dans l'article : « Optimal transport and minimal trade problem, impacts on relational metrics and 10 applications to large graphs and networks modularity », publié dans Geometric Sciene of Information, pages 169-179, Springer 2013. Dans le cas présent, où la variable aléatoire X est L-variée, par exemple L=7 dans l'exemple de réalisation où le journal d'exécution est un fichier NETFLOW, l'approche précédente conduit à l'expression : 15 F(X)=C(F,(X1); F2 (X2 );... ; (X,);...;FL(XL)) (7) Pour la copule de la formule (6) en Lvarié, la formule est la suivante est obtenue, en procédant par récurrence : F(X)= _nFi(Xi) i=1 i=1 20 Avantageusement, la copule donnée par la formule (6) pour une variable bi-variée et par la formule (8) pour une variable L-variée optimise le compromis entre probabilité de détection et probabilité de fausse alarme lorsque la classification d'un évènement X(N) particulier comme évènement suspect se fait par comparaison de la probabilité 25 calculée à un seuil d'alertes . Soit Y e {0,1}une variable aléatoire binaire de classification : Y -=- 0 si l'évènement X est considéré comme suspect, Y =1 si l'évènement X n'est pas considéré comme suspect. La variable aléatoire Y réalise une classification binaire entre les évènements 30 suspects donnant lieu à une alerte et les évènements correspondant à un fonctionnement normal. Un estimateur f de la variable aléatoire Y est donné par : P( = 0) = P(X x) (8) 3025040 11 De manière classique, la performance d'un tel estimateur est évaluable par l'indicateur ROC (« receiver operating curve »), qui indique le compromis entre taux de détection ou sensibilité et taux de fausse alarme ou 1-spécificité de l'estimateur f . La sensibilité est définie par : 5 P D P (f = 01Y = 0) On peut montrer que la spécificité s'écrit en fonction de la copule de X de la manière suivante : D C(po,$) D (9) po Où po est la probabilité d'occurrence des évènements suspects a priori. 10 La 1-spécificité est définie par : PFA = P(37 =0 Y =1) On peut montrer que la spécificité s'écrit en fonction de la copule de X de la manière suivante : PFA = C(po,$)) (10) 1- po 15 L'estimateur f est optimisé lorsque l'aire sous la courbe ROC, appelée AUC, est maximisée. De manière générale, AUC= foPD(PFA)dPFA L'aire AUC s'écrit en fonction de la copule de X de la manière suivante : AUC =- 1 (C(Po,$) 1)2 ds + Pô (11) 2p0 (1 - po) 0 2p0 (1 - po) 20 La copule définie par la formule (8) permet de maximiser la valeur de l'aire AUC donnée par la formule (11). La maximisation de la valeur de l'aire AUC correspond à l'optimisation du compromis entre taux de détection et taux de faux positifs pour l'ensemble des valeurs de 25 seuil d'alerte s . La figure 2 illustre les principales étapes d'un mode de réalisation d'un procédé de détection d'évènements suspects selon l'invention, dans lequel un fichier NETFLOW est utilisé comme journal d'exécution permettant de mémoriser un ensemble d'évènements pendant une session de communication. 3025040 12 Lors d'une première étape 110, une nouvelle ligne du fichier NETFLOW est lue. Cette ligne correspond à un nouvel évènement X(N). A l'étape 112, pour chaque paramètre X, , l'estimateur de la probabilité individuelle, P. , est mis à jour en tenant compte de la valeur Xi (N) du paramètre X, 5 pour le nouvel évènement X(N). Ces estimateurs de probabilité P. sont mémorisés dans une mémoire d'un dispositif électronique, tel un ordinateur, apte à mettre en oeuvre l'invention. Si le paramètre X, est une variable qualitative, la relation (1') est utilisée. Si le paramètre X est une variable quantitative, la relation (2') est utilisée. Une fonction î;N 10 est obtenue. Dans le cas d'une variable qualitative, pour chaque paramètre X1 les valeurs 1),N sont mémorisées en relation avec les valeurs x, qui peuvent être prises par le paramètre X,, par exemple dans un tableau. A l'étape 114, pour chaque paramètre X, , un estimateur de la fonction de 15 répartition individuelle, F , est mis à jour à partir de P,N calculées à l'étape 112. Une fonction f",,N est obtenue. L'estimation de la fonction de répartition individuelle se fait à partir des valeurs f),,N mémorisées, en appliquant la formule de l'équation (5). De manière analogue à l'étape 112, dans le cas d'une variable qualitative, pour 20 chaque paramètre X les valeurs For sont mémorisées en relation avec les valeurs xi qui peuvent être prises par le paramètre X,, par exemple dans un tableau. A l'étape 116, un estimateur PN de la fonction de répartition F(X) pour l'évènement courant X(N) est calculé, à partir des valeurs calculées et mémorisées à l'étape 114, en appliquant la formule (8) de la copule choisie : 25 frN = N (12) 1=1 jmi 1=1 Ce calcul utilise uniquement les probabilités marginales estimées de chacune des variables aléatoires considérées. 3025040 13 La valeur de la probabilité d'occurrence p(X(N)) de l'évènement X(N) est calculée en utilisant la valeur de l'estimateur l'étape FAT . Puis, à l'étape 118 est vérifié si la probabilité d'occurrence de l'évènement X(N) est inférieure à un seuil d'alerte s prédéterminé. 5 Dans un premier mode de réalisation, le seuil d'alerte s est déterminé dynamiquement. Par exemple, le seuil d'alerte s est déterminé de manière à ce que les évènements suspects correspondent au 5% des évènements ayant les probabilités d'occurrence les plus faibles. Un tel mode de réalisation fait intervenir une méthode d'estimation des quantiles, permettant de déterminer s à partir de l'estimation de la 10 probabilité globale P(X). En variante, le nombre No d'évènements étiquetés comme suspects à extraire du fichier NETFLOW source est prédéterminé. Ainsi, à l'étape 118, lorsque la valeur p(X(N)) fait partie des No probabilités les plus faibles du fichier NETFLOW source, l'évènement X(N) est étiqueté comme suspect. 15 A l'étape 120, lorsque l'évènement X(N) est déterminé comme étant suspect, la ligne correspondante du fichier NETFLOW est augmentée d'un champ Alerte prenant la valeur unité. Puis, l'entier N est augmenté d'une unité à l'étape 122, et les différentes étapes 110 à 122 sont exécutées sur l'évènement suivant du fichier NETFLOW source. 20 L'homme du métier comprendra que le présent procédé ne fait aucune hypothèse a priori sur les évènements suspects. En particulier, le présent procédé ne prévoit aucune phase préalable d'apprentissage de ce que pourrait être un évènement suspect. La seule hypothèse prise est la faiblesse de la probabilité d'occurrence des évènements considérés comme des attaques. 25 L'homme du métier, spécialiste des probabilités, constatera que le présent procédé est particulièrement bien adapté à un évènement décrit par le mélange de variables qualitatives et de variables quantitatives. Au cours des premières itérations du procédé, les différentes estimations évoluent rapidement. Cependant, plus la profondeur de l'historique pris en compte augmente, plus 30 les estimateurs sont stables et plus l'étiquetage d'un évènement comme suspect est pertinent. REVENDICATIONS1.- Procédé de détection d'évènements suspects parmi un ensemble d'évènements mémorisés relatifs à une session d'exécution d'un système composé d'une pluralité de composants matériels et/ou logiciels qui interagissent, un évènement étant caractérisé par une pluralité de paramètres, caractérisé en ce qu'il comporte les étapes suivantes, mises en oeuvre en utilisant un échantillon de l'ensemble d'évènements mémorisés comportant au moins un évènement mémorisé : -pour chaque paramètre, estimation (112) d'une probabilité individuelle d'occurrence dudit paramètre, - estimation (116) d'une fonction de répartion d'une variable aléatoire représentative d'un évènelent en utilisant une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des paramètres, - estimation (116) d'une probabilité d'occurrence d'un évènement dudit ensemble d'évènement à partir de ladite copule estimée, - association (120) d'une alerte à un évènement particulier (X(N)) du fichier lorsque la valeur de la probabilité d'occurrence estimée dudit évènement particulier (X(N)) est inférieure à un seuil d'alerte (s) prédéterminé, la copule choisie permettant d'optimiser le compromis entre taux de détection et taux de faux positifs par la comparaison de la probabilité d'occurrence estimée audit seuil d'alerte. 2.- Procédé selon la revendication 1, dans lequel la copule choisie est définie, pour un évènement à L paramètres IX,,1 S i chaque paramètre étant assimilié à une variable aléatoire monovariée, par : L,))= rIFJ (X ,)-1-1F,(X ,) i=1 j*i i=1 Où F est la fonction de répartition de la variable aléatoire X 3.- Procédé selon la revendication 2, dans lequel, lorsque ledit paramètre (Xi) est assimilable à une variable aléatoire quantitative, l'estimation de la probabilité individuelle dudit paramètre met en oeuvre un estimateur à noyau. 3025040 15 4.- Procédé selon la revendication 3, dans lequel l'estimateur à noyau mis en oeuvre est un estimateur de Parzen-Rozenblatt. 5.- Procédé selon l'une quelconque des revendications précédentes, dans lequel 5 l'estimation d'une probabilité d'occurrence d'un évènement est réalisée de manière incrémentale, en mettant à jour une estimation courante de ladite probabilité en tenant compte d'un nouvel évènement (X(N)) du fichier. 6.- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel l'étape 10 (120) d'association d'une alerte à un évènement particulier du fichier, le seuil d'alerte (s) est déterminé dynamiquement à partir de l'ensemble d'évènements mémorisé. 7.- Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que ledit ensemble d'évènements est généré par un composant logiciel de collecte 15 d'informations relatives à un flux de données circulant sur un réseau de communications. 8.- Procédé selon la revendication 7, caractérisé en ce que ledit ensemble d'évènements mémorisés est mémorisé dans un fichier NETFLOW. 20 9.- Dispositif de détection d'évènements suspects parmi un ensemble d'évènements mémorisés relatifs à une session d'exécution d'un système composé d'une pluralité de composants matériels et/ou logiciels qui interagissent, un évènement étant caractérisé par une pluralité de paramètres, caractérisé en ce qu'il comporte les unités de calcul, mises en oeuvre pour traiter un échantillon de l'ensemble d'évènements mémorisés comportant 25 au moins un évènement mémorisé, adaptées à : -pour chaque paramètre, estimer une probabilité individuelle (Pi) d'occurrence dudit paramètre, - estimer une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des 30 paramètres, - estimer une fonction de répartion d'une variable aléatoire représentative d'un évènelent en utilisant une copule choisie, représentative d'une dépendance entre les paramètres d'un évènement, en utilisant les estimations de probabilité individuelle de chacun des paramètres, 3025040 16 - associer une alerte à un évènement particulier (X(N)) du fichier lorsque la valeur de la probabilité d'occurrence estimée dudit évènement particulier (X(N)) est inférieure à un seuil d'alerte (s) prédéterminé, la copule choisie permettant d'optimiser le compromis entre taux de détection et taux de 5 faux positifs par la comparaison de la probabilité d'occurrence estimée audit seuil d'alerte. 10.- Programme d'ordinateur comportant des instructions pour mettre en oeuvre les étapes d'un procédé de détection d'évènements suspects selon l'une des revendications 1 à 8 lors de l'exécution du programme par un processeur d'un dispositif programmable.