Brevet FR2888440A1 — publié le 20070112

Domaine technique de l'invention L'invention se rapporte au domaine de la détection automatique d'intrusions et plus particulièrement à une génération de signatures en détection d'intrusion. Arrière-plan de l'invention La sécurité des systèmes d'information passe par le déploiement d'outils de détection d'intrusions IDS . Pour ce faire, les outils de détection d'intrusions surveillent les événements survenant dans un système d'information, soit en écoutant les échanges sur le réseau, soit en surveillant le fonctionnement des appi cations sur les machines via les fichiers de log et/ou les appels systèmes. En effet, ces outils de détection,d'intrusions comportent des sondes de détection d'intrusions qui sont des composants actifs qui analysent une ou plusieurs sources de données à la recherche d'événements caractéristiques d'une activité intrusive et émettent des alertes vers un module de gestion d'alertes. Ce dernier centralise les alertes provenant des sondes et effectue éventuellement une analyse de l'ensemble de ces alertes. D'une manière générale, les outils de détection d'intrusions permettent de mettre à jour des attaques (réussies ou non) contre le système d'information selon une détection d'intrusions par scénario ou par comportement. Les outils de détection d'intrusions les plus couramment déployés utilisent la détection par scénarios. On parle alors d'IDS misuse . La détection par scénarios utilise des signatures d'intrusion (ou signatures d'attaque) pour reconnaître, et donc caractériser, des intrusions (ou attaques) parmi un ensemble d'événements. Ces signatures d'intrusion sont principalement composées d'un principe actif , de la documentation décrivant l'attaque ou la vulnérabilité, et du nom de la signature qui définit l'alerte à émettre. Ces signatures d'intrusion sont écrites par un expert et stockées dans un fichier. Le principe actif consiste en un motif (ou "pattern" en anglais) qui est recherché dans l'évènement à surveiller. Les signatures utilisées par les outils de détection d'intrusions permettent donc d'associer un nom d'alerte à un événement reconnu grâce au principe actif de ces signatures. Dans le cadre de la détection d'intrusion par scénarios, ces signatures servent à caractériser des attaques. Dans ce contexte, chaque principe actif (ou motif) identifie une signature particulière. Dans le domaine de la détection d'intrusions par scénarios, on connaît la méthode proposée par Martin Roesch dans une publication de Proceedings of LISA'99, pages 229-238, Seattle, Washington, USA, novembre 1999, USENIX Association , intitulée Lightweight Intrusion Detection for Networks . Les outils de détection d'intrusions utilisant cette méthode testent les signatures de façon séquentielle, c'est-à-dire que l'événement à surveiller est confronté à chacune des signa':ures, donc à chaque motif associé. La détection s'arrête dès qu'une signature d'attaque est reconnue (même s'il reste des signatures non testées) et une alerte associée à cette signature est émise, ou s'il ne reste plus de signatures à tester. La figure 4 est un schéma relationnel illustrant cette méthode de détection séquentielle où une alerte A est associée à une seule signature S. De même, une signature S n'est associée qu'à un seul motif P et à une seule documentation D. La figure 5 illustre une autre méthode de détection d'intrusions 30 par scénarios proposée par Magnus Almgren, Hervé Debar, et Marc Dacier dans une publication de Proceedings of the 2000 ISOC Symposium on Network and Distributed Systems Security, pages 157-170, 2000 , intitulée A Lightweight Tool for Detecting Web Server Attacks . Cette méthode est une détection composée qui analyse un événement en deux étapes. La première consiste à confronter un événement à l'ensemble des signatures S, donc à chaque motif P associé. Contrairement à la détection séquentielle , si une signature S est reconnue, l'analyse continue jusqu'à ce qu'il n'y ait plus de signature. La deuxième étape consiste à émettre une alerte A constituée des signatures S qui sont reconnues. L'association de plusieurs signatures s'explique par le fait que les signatures peuvent s'appliquer à des éléments spécifiques de l'évènement à traiter. Dans ce contexte, une alerte A n'est plus associée à une signature S, mais à un ensemble (1,...,N) de signatures S. Chaque signature S reste cependant associée à un seul motif P et à une seule documentation D. L'inconvénient de ces deux méthodes est que l'information qui est fournie à un opérateur de sécurité ne concerne que la vulnérabilité qui est exploitée par l'attaque. Cependant, cette vulnérabilité peut être exploitée de différentes façons et dans des buts différents et ceux-ci ne sont pas pris en compte par ces deux méthodes. Objet et résumé de l'invention La présente invention concerne un procédé de détection automatique d'intrusions parmi des événements à surveiller comprenant: - la confrontation d'un événement surveillé à un ensemble de motifs, chaque motif étant associé à une signature d'intrusion prédéterminée d'un ensemble de signatures d'intrusions, 2888440 4 -la détermination parmi ledit ensemble de signatures d'intrusions d'un sousensemble de signatures d'intrusions révélant une intrusion déterminée dans ledit événement surveillé, et -la génération dynamique d'une nouvelle signature correspondant audit sous-ensemble de signatures d'intrusions, ladite nouvelle signature étant dédiée à la reconnaissance de ladite intrusion déterminée. Ainsi, ce procédé permet la création de nouvelles signatures dédiées à la reconnaissance d'une intrusion ou attaque bien précise, offrant à un opérateur de sécurité un diagnostic plus précis à partir des signatures existantes. Avantageusement, la nouvelle signature engendre l'émission d'une alerte correspondant à l'événement associé à ladite intrusion déterminée. Ainsi, chaque alerte émise fournit des informations pertinentes et précises sur la nature de l'intrusion. Selon une particularité de la présente invention, la génération dynamique de la nouvelle signature comporte un assemblage des motifs associés à chacune des signatures dudit sous-ensemble de signatures d'intrusions obtenu pour former un nouveau motif associé à ladite nouvelle signature. Ceci permet d'optimiser la qualité du diagnostic et la richesse d'une base de signatures de façon continue et en temps réel et de plus, la nouvelle signature est créée pendant la détection d'intrusion elle-même. Selon une autre particularité de la présente invention, la détermination d'une signature révélant l'intrusion déterminée parmi ledit sous-ensemble de signatures d'intrusions comporte l'utilisation d'une fonction de correspondance entre des propriétés dudit événement surveillé et le motif associé à ladite signature. Ainsi, le sous-ensemble de signatures d'intrusions peut être 30 déterminé de manière simple et rapide. 2888440 5 Avantageusement, la nouvelle signature est ajoutée à l'ensemble de signatures d'intrusions prédéterminées de sorte que chaque nouvel événement soit confronté à cette nouvelle signature. Ainsi, la fiabilité et la performance de la détection d'intrusions augmentent continuellement. L'invention vise aussi un module de détection d'intrusions comportant un capteur destiné à capter des évènements à surveiller dans un système d'information, le module comportant en outre: -un moyen de confrontation permettant de confronter un événement 10 surveillé à un ensemble de motifs associé à un ensemble de signatures d'intrusions prédéterminées, - un moyen de détermination permettant de déterminer parmi ledit ensemble de signatures d'intrusions prédéterminées, un sous-ensemble de signatures d'intrusions révélant une intrusion déterminée dans ledit événement surveillé, et -un moyen de production permettant de générer de manière dynamique une nouvelle signature correspondant audit sous-ensemble de signatures d'intrusions, ladite nouvelle signature étant dédiée à la reconnaissance de ladite intrusion déterminée. Ce module de détection d'intrusions permet la création de nouvelles signatures offrant ainsi une détection précise des intrusions et avec une efficacité optimale. Le module comporte en outre un moyen d'émission permettant d'émettre une alerte à destination d'un rnodule de gestion, l'alerte correspondant à l'événement associé à ladite intrusion déterminée. Ainsi, le module de détection d'intrusions transmet au module de gestion une alerte comportant des informations pertinentes et précises sur la nature de l'intrusion ou l'attaque. Le module comporte en outre un moyen de stockage permettant d'ajouter la nouvelle signature à l'ensemble de signatures ti 2888440 6 d'intrusions prédéterminées déjà stocké dans ledit moyen de stockage de sorte que chaque nouvel événement soit confronté à cette nouvelle signature. Ainsi, le module de détection d'intrusions permet d'augmenter continuellement la fiabilité et la performance de la détection d'intrusions. L'invention vise également un système d'information surveillé comportant un module de gestion d'alertes, une console de présentation d'alertes et une pluralité de modules de détection d'intrusions selon les caractéristiques ci-dessus. Ainsi, grâce à ces dispositions, on peut renforcer la protection du système d'information. L'invention vise aussi un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de détection d'intrusions ci-dessus lorsqu'il est exécuté par un système informatique. L'invention vise également des moyens de stockage de données comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon les caractéristiques ci-dessus. Brève description des dessins D'autres particularités et avantages de l'invention ressortiront à la lecture de la description faite, ci-après, à titre indicatif mais non limitatif, en référence aux dessins annexés, sur lesquels: -la figure 1 est une vue schématique d'un système d'informations surveillé comportant un système de détection d'intrusions selon l'invention; -la figure 2 est une vue schématique d'un module de détection d'intrusions selon l'invention; -la figure 3 est un organigramme illustrant le procédé de détection d'intrusion selon l'invention; et -les figures 4 et 5 sont des schémas relationnels selon l'art antérieur. Description détaillée de modes de réalisation La figure 1 illustre un exemple d''un système d'information 1 surveillé comportant un système de détection d'intrusions 3 comprenant plusieurs modules 5 de détection d'intrusions et un module de gestion d'alertes 7. Ainsi, les modules 5 de détection d'intrusions surveillent les évènements venant de l'extérieur ou de l'intérieur d'un réseau du système d'information surveillé qui comprend des stations de travail 9 et des serveurs 11 communicant avec des réseaux externes (non représentés). Le module de gestion d'alerte 7 peut comporter un hôte 7a dédié au traitement des alertes et une console 7b de présentation d'alertes à un opérateur de sécurité. Conformément à l'invention, chaque module 5 de détection d'intrusions comporte principalement une sonde 13 de détection d'intrusions en liaison avec un générateur 15 de signatures. D'une manière générale, lorsqu'une sonde 13 détecte une intrusion, alors une alerte correspondant à l'événement associé à cette intrusion est émise (flèche 17) par le module 5 de détection d'intrusion à destination du module de gestion 7. La figure 2 montre un exemple d'un module 5 de détection d'intrusions comportant plus précisément une sonde 13 de détection d'intrusions, un générateur 15 de signatures, un moyen de stockage 19 et un moyen d'émission 21. On notera toutefois que le moyen de stockage 19 peut aussi être disposé dans le module de gestion d'alerte 7 ou tout autre élément du système de détection d'intrusion 3. Selon cet exemple, la sonde 13 de détection d'intrusions comporte un capteur 23, un moyen de confrontation 25 et un moyen de détermination 27. Le capteur 23 d'événements surveille un ensemble 30 d'événements survenus dans le système d'information 1. En général, un événement est une action sur le système d'information 1 qui peut contenir un ou plusieurs paramètres. A titre d'exemple, un événement peut correspondre à une requête http qui consiste pour un client à demander une ressource à un serveur web 11. On peut retrouver la trace de cet événement dans le fichier log du serveur 11. Par ailleurs, le moyen de confrontation 25 confronte l'événement surveillé à un ensemble de motifs associé à un ensemble de signatures d'intrusions prédéterminées stockées dans le moyen de stockage 19. On notera qu'à chaque signature prédéterminée correspond un motif. En outre, à partir de l'ensemble cle signatures d'intrusions, le moyen de détermination 27 détermine un sous-ensemble de signatures d'intrusions révélant une intrusion déterminée dans l'événement surveillé. Cette figure montre aussi que le générateur 15 de signatures comporte un moyen de production 31 permettant de générer de manière dynamique une nouvelle signature correspondant au dit sous-ensemble de signatures d'intrusions. Cette nouvelle signature est dédiée à la reconnaissance de l'intrusion déterminée. A titre d'exemple, considérons un événement noté E correspondant à une requête http vers un serveur 11 web de la forme GET /scripts/..%35c.. /winnt/system32/cmd.exe?/c+dir . Cette requête est une manifestation typique de l'activité du ver "Nimda". Ainsi, cet événement peut déclencher au moins deux signatures, 25 suivant les outils de détection d'intrusions. La première signature notée S1 est une utilisation d'un encodage malicieux définie par les nom et motif suivants: -nom de la signature: IIS unicode directory traversai attempt -motif recherché : %35c La deuxième signature notée S2 est une tentative d'exécution de commande définie par les nom et motif suivants: - nom de la signature: Windows command execution attempt - motif recherché : cmd. exe Ces deux signatures S1 et S2, prises indépendamment, n'indiquent pas à l'opérateur de sécurité qu'il s'agit d'une activité issue du ver Nimda. Cependant, conformément à l'invention, le module 5 de détection d'intrusions permet d'agréger les deux signatures activées en une seule afin de décrire un événement spécifique. En effet, le moyen de confrontation 25 confronte l'événement E à l'ensemble de signatures d'intrusions prédéterminées et le moyen de détermination 27 détermine que le sous-ensemble de signatures d'intrusions révélant l'intrusion dans l'événement surveillé E est constitué des deux signatures ci-dessus S1 et S2. En outre, le moyen de production 31 crée une nouvelle signature notée S correspondant au sous- ensemble de signatures d'intrusions formé par les signatures S1 et S2. Cette nouvelle signature S est définie par un groupement ou assemblage des motifs associés à chacune des signatures S1 et S2, par exemple par un opérateur logique du type et . Par ailleurs, le générateur 15 de signatures injecte ou ajoute cette nouvelle signature dans le moyen de stockage 19; ainsi chaque nouvel événement sera confronté à cette nouvelle signature. Ainsi, la signature S résultante de l'activation des deux 25 signatures S1 et S2 précédentes peut alors être dédiée à la reconnaissance de l'intrusion précise activité du ver Nimda définie par les nom et motif suivants: -nom de la signature: Nimda attempt -motifs recherché : %35c et cmd. exe . Alors, le module 5 de détection d'intrusions recherche les deux motifs %35c et cmd. exe de cette nouvelle signature dans chaque nouvel événement qui lui est soumis. Si cette signature est activée, alors l'événement associé à cette intrusion est catalogué comme une manifestation de l'activité du ver Nimda et le moyen d'émission 21 émet une alerte correspondant à cet événement à destination du module de gestion 7. Ainsi, ce module 5 de détection d'intrusions transmet au module de gestion une alerte comportant des informations plus pertinentes et plus précises sur la nature de l'intrusion. On notera que le module 5 de détection d'intrusions peut être mis en oeuvre par un système informatique (non représenté) comportant de manière classique une unité centrale de traitement raccordée par des bus à une mémoire, une unité d'entrée et une unité de sortie. De plus, ce système informatique peut être utilisé pour exécuter un programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de détection d'intrusions selon l'invention. La figure 3 est un organigramme illustrant le procédé de détection d'intrusion selon l'invention. L'étape El est une initialisation où on définit un ensemble de n+1 motifs ou patterns , c'est-à-dire, P = p,i E {0,É É .n}}. Chaque motif est associé à une signature d'intrusion prédéterminée d'un ensemble de signatures d'intrusions stockées dans le moyen de stockage 19. Par ailleurs, on considère que le nouveau motif à créer, appelé méta-motif , est initialement vide. En outre, on se donne un événement E à traiter et on commence le traitement avec i = 0. Les étapes E2 à E5 forment une boucle pour confronter l'événement E surveillé à l'ensemble P de motifs correspondant à l'ensemble de signatures d'intrusions pour créer de manière dynamique une nouvelle signature dédiée à la reconnaissance d'une intrusion déterminée et correspondant à un sous-ensemble de signatures d'intrusions. Plus particulièrement, l'étape E2 est un test itératif vérifiant si on a parcouru les n+1 motifs de l'ensemble P. Ainsi, si l'indice i désignant le motif p, est inférieur ou égal à n+ l (c'est-à-dire i A l'étape E3, l'événement E est confronté au motif p, associé à une signature d'intrusion prédéterminée en utilisant par exemple, un algorithme de correspondance match(p,,E) entre des propriétés de cet événement surveillé E et le motif p, de la signature d'intrusion prédéterminée. Cet algorithme de correspondance est par exemple un algorithme Boyer-Moore de pattern matching . L'itération des étapes de tests E3 permet de déterminer un sous-ensemble de signatures d'intrusions révélant une intrusion déterminée dans l'événement surveillé E. Ainsi, si l'issue du test de l'étape E3 est positif, c'est-à-dire si le motif p, est reconnu par l'algorithme de correspondance, alors on passe à l'étape E4. A l'étape E4, le motif p, reconnu est assemblé au nouveau motif (c'est-àdire au méta-motif ou metapattern ). A titre d'exemple, cet assemblage peut être réalisé aux moyens des opérateurs et/ou des quantificateurs logiques. A titre d'exemple, l'assemblage est réalisé par une conjonction et des différents motifs associés à chacune des signatures du sous-ensemble de signatures grâce à la conjonction d'un moteur de pattern matching , c'est-à-dire: metapattern = conj(metapattern, p;) = metapattern Api. Ensuite, après l'étape E4 et de même si l'issue du test de l'étape E3 est négatif, on passe à l'étape E5 où on incrémente l'indice i (i = i +1) avant de reboucler à l'étape E2. Finalement, si l'événement E surveillé a été confronté à tous les motifs de l'ensemble P, c'est-à-dire si l'indice i du test E2 n'est pas inférieur ou égal à n+1, alors on passe à l'étape E6 pour renvoyer le nouveau motif ainsi formé définissant la nouvelle signature. Après sa génération, la nouvelle signature est ajoutée à l'ensemble de signatures d'intrusions prédéterminées afin que chaque nouvel événement soit confronté à cette nouvelle signature. Ainsi, contrairement à l'état de l'art qui utilise les motifs de façon atomique (c'est-à-dire, chaque motif est associé à une unique signature et lors de la phase de détection d'intrusion, un événement à surveiller est confronté de façon unitaire à chaque signature), le procédé selon l'invention se base sur ce qu'on peut appeler une détection composée . Autrement dit, à partir des signatures associées à une intrusion (ou attaque), ce procédé crée une nouvelle signature dédiée à la reconnaissance de cette attaque. Cette nouvelle signature utilise les motifs des signatures qui ont révélées l'attaque. On notera que la phase de création d'une signature dédiée à une attaque se déroule pendant la détection d'intrusion elle-même. La nouvelle signature est ensuite utilisée avec les autres signatures et le processus recommence pour l'analyse d'un nouvel événement. 13 REVENDICATIONS 1.Procédé de détection automatique d'intrusions parmi des événements à surveiller, caractérisé en ce qu'il comprend: -la confrontation d'un événement surveillé à un ensemble de motifs, chaque motif étant associé à une signature d'intrusion prédéterminée d'un ensemble de signatures d'intrusions, -la détermination parmi ledit ensemble de signatures d'intrusions d'un sous-ensemble de signatures d'intrusions révélant une intrusion déterminée dans ledit événement surveillé, et -la génération dynamique d'une nouvelle signature correspondant audit sous-ensemble de signatures d'intrusions, ladite nouvelle signature étant dédiée à la reconnaissance de ladite intrusion déterminée. 2.Procédé selon la revendication 1, caractérisé en ce que ladite nouvelle signature engendre l'émission d'une alerte correspondant à l'événement associé à ladite intrusion déterminée. 3.Procédé selon la revendication 1, caractérisé en ce que la génération dynamique de la nouvelle signature comporte un assemblage des motifs associés à chacune des signatures dudit sous-ensemble de signatures d'intrusions obtenu pour former un nouveau motif associé à ladite nouvelle signature. 4.Procédé selon la revendication 1, caractérisé en ce que la détermination d'une signature révélant l'intrusion déterminée parmi ledit sous-ensemble de signatures d'intrusions comporte l'utilisation d'une fonction de correspondance entre des propriétés dudit événement surveillé et le motif associé à ladite signature. 5.Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la nouvelle signature est ajoutée à l'ensemble de signatures d'intrusions prédéterminées de sorte que chaque nouvel événement soit confronté à cette nouvelle signature. 6.Module de détection d'intrusions comportant un capteur (23) destiné à capter des évènements à surveiller dans un système d'information (1), caractérisé en ce qu'il comporte en outre: -un moyen de confrontation (25) permettant de confronter un événement surveillé à un ensemble de motifs associé à un ensemble de signatures d'intrusions prédéterminées, -un moyen de détermination (27) permettant de déterminer parmi ledit ensemble de signatures d'intrusions prédéterminées, un sous-ensemble de signatures d'intrusions révélant une intrusion déterminée dans ledit événement surveillé, et - un moyen de production (31) permettant de générer de manière dynamique une nouvelle signature correspondant audit sousensemble de signatures d'intrusions, ladite nouvelle signature étant dédiée à la reconnaissance de ladite intrusion déterminée. 7.Module de détection d'intrusions selon la revendication 6, caractérisé en ce qu'il comporte un moyen d'émission (21) permettant d'émettre une alerte à destination d'un module de gestion, l'alerte correspondant à l'événement associé à ladite intrusion déterminée. 8.Module de détection d'intrusions selon l'une quelconque des revendications 6 et 7, caractérisé en ce qu'il comporte en outre un moyen de stockage (19) permettant d'ajouter la nouvelle signature à l'ensemble de signatures d'intrusions prédéterminées déjà stocké dans ledit moyen de stockage de sorte que chaque nouvel événement soit confronté à cette nouvelle signature. 9.Système d'information surveillé comportant un module (7) de gestion d'alertes, et une console de présentation d'alertes caractérisé en ce qu'il comporte en outre une pluralité de modules (5) de détection d'intrusions selon l'une quelconque des revendications 6 à 8. 10.Programme d'ordinateur comportant des instructions pour la mise en oeuvre du procédé de détection d'intrusions selon les revendications 1 à 5 lorsqu'il est exécuté par un système informatique. 11.Moyens de stockage de données comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 5.