Brevet FR2977432A1 — publié le 20130104

PROCEDE DE DETECTION ET DE PREVENTION D'INTRUSIONS DANS UN RESEAU INFORMATIQUE, ET SYSTEME CORRESPONDANT. La présente invention a pour objet un système et un procédé de détection et de prévention d'intrusions dans un réseau informatique, permettant de prévenir les intrusions en les détectant et en les bloquant avant pénétration du réseau. Dans un réseau informatique, la disponibilité des données et leur transmission dans un contexte de sécurité maximum est un problème constant. La complexité grandissante des attaques nécessite une protection de plus en plus sophistiquée et intelligente du réseau. Il faut en effet pouvoir notamment vérifier le contenu des paquets de données qui transitent, et réagir à une attaque avant que celle-ci n'ait pénétré le réseau que l'on cherche à protéger. On connaît des solutions de protection, telles que la solution représentée schématiquement à la figure 1, qui consistent dans l'utilisation d'un dispositif relai 2, par exemple un mandataire ou proxy comprenant un pare-feu 2 qui analyse les paquets de données D circulant sur une connexion 4 pour détecter la présence de données malicieuses et corriger ou supprimer ces données avant la transmission des paquets de données D sur le réseau 1. Pour ce faire, le mandataire capture la connexion 4, par exemple à l'aide d'une translation d'adresse effectuée par le pare-feu 2. Cette translation d'adresse vise à remplacer l'adresse de destination des paquets de données D par celle du pare-feu 2, de sorte que les paquets de données D sont tous interceptés et redirigés vers le pare-feu 2. Le pare-feu 2 peut alors lire le contenu des données D, par exemple grâce à un mécanisme de type « sockets », et répondre comme un serveur classique. Une fois que le pare-feu 2 a analysé et éventuellement nettoyé les données D, il doit créer une nouvelle connexion 5 vers le destinataire original des données. Pour que le trafic soit réalisé de bout en bout, la nouvelle connexion 5 doit être créée au moment de la capture de la connexion d'origine 4, et le pare- feu 2 doit y faire transiter les données D' dans les deux sens de manière transparente. Dans cette solution, il est donc question d'un dispositif relai qui, pour supprimer les attaques, modifie la connexion d'origine 4 en l'interceptant, tel que représenté par la croix en pointillés sur la figure 1. Ce dispositif relai créé une nouvelle connexion 5 pour régénérer les paquets de données D' à transmettre vers la destination. Une telle régénération est très coûteuse en performance et en ressource, car l'ensemble des données de la connexion doit être modifié, ce qui implique de nombreuses lecture/écriture de données sur la connexion d'origine et sur la nouvelle connexion créée. On connaît également des solutions dans lesquelles le dispositif relai se contente d'analyser les paquets de données, et, lorsqu'une donnée malicieuse est détectée, soit d'envoyer une alerte, soit de bloquer le paquet de données jusqu'à intervention d'un administrateur. Dans les deux cas se pose alors le problème du nettoyage des données, les données étant soit transmises non nettoyées soit bloquées avant éventuel 15 nettoyage manuel. Dans le premier cas, les performances sont améliorées car il n'y a pas de capture de connexion ni de blocage temporaire du trafic. Mais les données ne sont pas nettoyées et le simple envoi d'une alerte est insuffisant pour déjouer une attaque, une fois que la donnée malicieuse est transmise sur le réseau. 20 Dans le deuxième cas, le blocage des données perturbe considérablement les performances, et le nettoyage des données reste arbitraire. C'est donc l'objet de l'invention que d'apporter une solution fiable qui permette de résoudre les problèmes précités parmi d'autres problèmes, notamment concernant la protection efficace d'un réseau sans perte de 25 performance. A cette fin, l'invention se rapporte selon un premier aspect, à un procédé de détection et de prévention d'intrusions dans un réseau informatique comportant un pare-feu. Le procédé consiste notamment à analyser des paquets de données 30 circulant sur une connexion, par l'intermédiaire d'un moteur d'analyse du pare-feu apte à détecter la présence de données malicieuses, le pare-feu étant apte à corriger et/ou supprimer les données malicieuses préalablement détectées avant de transmettre les paquets de données sur le réseau. En outre, le pare-feu le pare-feu est apte à fonctionner dans un premier mode dans lequel il laisse circuler les paquets de données sur la connexion vers le réseau, et dans un deuxième mode dans lequel la connexion est temporairement bloquée. Tant que le moteur d'analyse ne détecte aucune donnée malicieuse dans un paquet de données, le pare-feu fonctionne dans le premier mode. Lorsque le moteur d'analyse détecte la présence d'une ou plusieurs données malicieuses dans un paquet de données, le pare-feu passe dans le deuxième mode, corrige et/ou supprime les données malicieuses du paquet de données, resynchronise la connexion puis débloque la connexion pour un retour dans le premier mode de fonctionnement. Dans une variante de mise en oeuvre, c'est le moteur d'analyse qui, dans le deuxième mode de fonctionnement, réalise la correction et/ou suppression des données malicieuses du paquet de données, la resynchronisation de la connexion et le déblocage de la connexion pour un retour du pare-feu dans le premier mode de fonctionnement. Dans une autre variante de mise en oeuvre, éventuellement en combinaison avec la précédente, dans le deuxième mode de fonctionnement, les nouveaux paquets de données circulant sur la connexion sont mis en attente, jusqu'au déblocage de la connexion. Dans encore une autre variante de mise en oeuvre, éventuellement en combinaison une ou plusieurs des précédentes, la resynchronisation de la connexion consiste notamment à appliquer un facteur de correction à une valeur d'acquittement et à renvoyer à l'expéditeur du paquet de données la valeur d'acquittement corrigée. Ce facteur de correction est fonction de la différence entre la taille de la donnée malicieuse avant et après la modification et/ou suppression de cette donnée malicieuse. L'invention se rapporte selon un deuxième aspect à un système de détection et de prévention d'intrusions dans un réseau informatique comportant un pare-feu. Le pare-feu comprend un moteur d'analyse apte à analyser des paquets de données circulant sur une connexion et à détecter la présence de données malicieuses. Ce pare-feu est apte à corriger et/ou supprimer les données malicieuses 5 préalablement détectées avant de transmettre les paquets de données sur le réseau. En outre, le pare-feu est apte à fonctionner dans un premier mode dans lequel il laisse circuler les paquet de données sur la connexion vers le réseau, et dans un deuxième mode, déclenché par la détection de données malicieuses par 10 le moteur d'analyse, dans lequel deuxième mode la connexion est temporairement bloquée. Par ailleurs, dans le deuxième mode, le pare-feu est apte à corriger et/ou supprimer les données malicieuses du paquet de données, à resynchroniser la connexion puis à débloquer la connexion en sorte de retourner dans le premier 15 mode de fonctionnement. Dans une première variante de réalisation, le moteur d'analyse est apte, dans le deuxième mode de fonctionnement, à mettre en oeuvre la correction et/ou suppression des données malicieuses du paquet de données, la resynchronisation de la connexion et le déblocage de la connexion pour un retour 20 du pare-feu dans le premier mode de fonctionnement. Dans une autre variante de réalisation, éventuellement en combinaison avec la précédente, le pare-feu est apte, dans le deuxième mode de fonctionnement, à mettre en attente les nouveaux paquets de données circulant sur la connexion. 25 Dans encore une autre variante de réalisation, éventuellement en combinaison avec une ou plusieurs des précédentes, le pare-feu, éventuellement par l'intermédiaire du moteur d'analyse, est apte, pour la resynchronisation de la connexion, à appliquer un facteur de correction à une valeur d'acquittement et à renvoyer à l'expéditeur du paquet de données la valeur d'acquittement corrigée. 30 Ce facteur de correction est fonction de la différence entre la taille de la donnée malicieuse avant et après la modification et/ou suppression de cette donnée malicieuse. D'autres caractéristiques et avantages de l'invention apparaîtront plus clairement et de manière complète à la lecture de la description ci-après des variantes préférées de mise en oeuvre du procédé et de réalisation du système, lesquelles sont données à titre d'exemples non limitatifs et en référence aux dessins annexés suivants : - figure 1 : représente schématiquement un système de protection et son fonctionnement dans l'état de la technique, - figure 2 : représente schématiquement un exemple de système de protection et son fonctionnement selon l'invention, - figure 3 : représente schématiquement un exemple de mise en oeuvre du procédé selon l'invention. Concernant la figure 1, elle correspond effectivement à l'état de la technique et a été décrite plus haut. Sur la figure 2 est représenté schématiquement le système de protection selon l'invention, qui comprend notamment un pare-feu 2. Il peut bien sûr également comprendre d'autres dispositifs informatiques, tels que des dispositifs de stockage, de calcul, des moyens d'entrée-sortie, non représentés sur la figure 2. Le pare-feu 2 est placé en un point d'entrée du réseau informatique 1 à protéger, et comprend un moteur d'analyse 3 qui permet notamment d'analyser les paquets de données D circulant sur une connexion en entrée du réseau 1. Chaque paquet de données D est reçu et analysé par le moteur d'analyse 3 sur la connexion d'origine, pour détecter la présence d'éventuelles données malicieuses qui seront traitées de façon appropriée par le pare-feu 2. De préférence, le traitement des paquets de données D en cas de détection de données malicieuses est réalisé par le moteur d'analyse 3 lui-même. Mais il peut également être réalisé par un module de traitement distinct du moteur d'analyse 3. Comme cela est représenté plus en détail à la figure 3, sur un exemple de 30 mise en oeuvre du procédé de l'invention, le pare-feu 2 est apte à fonctionner dans deux modes de fonctionnement respectivement A et B. Dans le premier mode de fonctionnement A, le pare-feu 2 laisse circuler les paquets de données D sur la connexion vers le réseau 1, depuis leur expéditeur EXP hors du réseau 1 vers leur destinataire DEST sur le réseau 1. Le pare-feu 2 fonctionne dans ce premier mode A, tant que le moteur d'analyse 3 ne détecte aucune données malicieuses dans les paquets de données 5 D. Dans l'exemple représenté à la figure 3, le paquet de données D contient la donnée DATA, expédiée par EXP vers le destinataire DEST. Selon le protocole de communication entre EXP et DEST, à la donnée DATA sont associés un numéro de séquence Seq, une valeur d'acquittement Acq et une 10 valeur Sz représentant la taille de la donnée DATA, soit 4 dans cet exemple. Le moteur d'analyse 3 ne détecte dans la donnée DATA aucune donnée malicieuse, de sorte que le paquet de données D est transmis à EXP sur la connexion d'origine. Selon le protocole de communication, le destinataire DEST du paquet de 15 données D renvoie alors à l'expéditeur EXP un accusé réception, indiquant par l'intermédiaire de la valeur d'acquittement Acq égale à 4 qu'il a bien reçu une donnée de taille 4. Comme il s'agit d'une étape d'acquittement, sans transmission de donnée, la valeur de taille Sz est 0. 20 La séquence suivante de transmission d'un nouveau paquet de données D porte un numéro de séquence Seq égal à 4, correspondant au numéro de séquence Seq précédent incrémenté de la taille Sz de la donnée transmise à la séquence précédente et qui a été correctement acquittée. La valeur d'acquittement Acq est à o, car aucune donnée n'a encore 25 transité de DEST vers EXP dans cette nouvelle séquence. La valeur de taille Sz est cette fois égale à 10 puisque la donnée D transmise est égale à ATTACKDATA (soit 10 caractères correspondant à 10 octets de données). Ce nouveau paquet de données D est analysé par le moteur d'analyse 3 qui 30 détecte dans ce paquet la présence de la donnée malicieuse dm égale à ATTACK. Le pare-feu passe alors immédiatement dans le deuxième mode de fonctionnement B, dans lequel la connexion est temporairement bloquée. Dans ce deuxième mode de fonctionnement B, les nouveaux paquets de données arrivant sur la connexion peuvent être tout simplement ignorés. Cependant, il est préférable de ne pas perdre de données, de sorte que l'on préfère une mise en attente des nouveaux paquets de données dans un tampon prévu à cet effet. Pendant ce temps de blocage temporaire de la connexion, le pare-feu 2 va corriger et/ou supprimer la ou les données malicieuses dm détectées par le moteur d'analyse 3, resynchroniser la connexion. Lorsque la connexion est resynchronisée, la connexion peut effectivement 10 être débloquée par le pare-feu 2, ce qui correspond à un retour du pare-feu 2 dans le premier mode de fonctionnement A. Tout ou partie de ces traitements de blocage de la connexion, correction et/ou suppression des données malicieuses dm, resynchronisation de la connexion et déblocage de la connexion, peuvent éventuellement être réalisés directement 15 par le moteur d'analyse 3, tel que représenté à la figure 3. Dans cet exemple représenté à la figure 3, le moteur d'analyse 3 ayant reçu de EXP le paquet de données D correspondant à ATTACKDATA et ayant détecté la présence de la donnée malicieuse dm dans ce paquet de données D, effectue la suppression de dm, de sorte qu'il ne transmet à DEST que la donnée D 20 égale à DATA, c'est-à-dire une donnée D nettoyée. A cette donnée D égale à DATA, transmise à DEST, sont associés le numéro de séquence Seq égal à 4, la valeur d'acquittement Acq égale à 0, et la valeur de taille Sz qui est égale à 4. On voit donc que la correction du paquet de données D induit une 25 désynchronisation dans les séquences, de sorte que si aucun traitement n'est effectué, le destinataire B ne pourra pas accuser réception de la façon attendue par EXP, et le mécanisme d'acquittement selon le protocole de communication s'en trouve perturbé. C'est pourquoi le destinataire DEST du paquet de données D va renvoyer à 30 l'expéditeur EXP un accusé réception, indiquant par l'intermédiaire de la valeur d'acquittement Acq égale à 8 qu'il a bien reçu une donnée de taille 8 (correspondant au cumul de la taille de la donnée précédente et de la taille de la nouvelle donnée). Comme pour la séquence précédente, dans la mesure où il s'agit ici d'une étape d'acquittement, sans transmission de donnée, la valeur de taille Sz est 0. Or, l'expéditeur EXP attend un acquittement sur la base d'une valeur Acq égale à 14 correspondant au cumul de la taille du précédent paquet de données déjà acquitté (DATA) et de la taille du paquet de données en cours de traitement (ATTACKDATA). Aussi, le moteur d'analyse 3 applique un facteur de correction fc égal à 6, au cumul qui passe de 8 à 14. Ce facteur de correction fc correspond effectivement à la différence entre la taille de la donnée D avant correction et la taille de cette donnée D après correction, soit 6 (pour 10 moins 4) dans l'exemple représenté à la figure 3. De façon équivalente, on peut dire que ce facteur de correction fc correspond effectivement à la différence entre la taille de la donnée malicieuse dm avant correction et la taille de cette donnée malicieuse dm après correction, soit 6 (pour 6 moins 0) dans l'exemple représenté à la figure 3 dans lequel la correction est une suppression. Dans cet exemple, on a schématiquement considéré que le paquet de données D égal à ATTACKDATA contenait une partie malicieuse dm égale à ATTACK et une partie saine DATA, et l'on a donc effectué une suppresion de cette données malicieuse dm. Le raisonnement est équivalent si l'on considère que le paquet de donnée D égal à ATTACKDATA constitue lui-même la donnée malicieuse, auquel cas on modifie cette donnée malicieuse pour la rendre saine. Dans les deux cas, le facteur de correction fc mentionné plus haut est égal à 6. Ainsi, le moteur d'analyse 3 peut renvoyer à l'expéditeur EXP la valeur d'acquittement 14 qu'il attend. La connexion est alors resynchronisée, et le pare-feu peut débloquer cette 30 connexion pour un retour dans le premier mode de fonctionnement A dans lequel le prochain paquet de données va être analysé. Si les paquets de données ont été mis en attente pendant le blocage temporaire de la connexion, comme expliqué plus haut, le premier paquet de données arrivé pendant le blocage est transmis et analysé par le moteur d'analyse 3. Si, par contre, aucun mécanisme de mise en attente des paquets de données n'est prévu, c'est le premier paquet de données arrivant après le déblocage de la connexion qui est transmis et analysé par le moteur d'analyse 3, les précédents paquets étant alors perdus. L'ensemble de la description ci-dessus est donné à titre d'exemple et n'est donc pas limitatif de l'invention. En particulier, l'invention ne se limite pas à une resynchronisation de la connexion temporairement bloqué par application d'un facteur de correction dans le mécanisme d'acquittement. Plus généralement, cette resynchronisation est fonction du protocole de communication et consiste à rendre la correction des données malicieuses transparente pour l'expéditeur en lui faisant croire que le paquet de données concerné a été intégralement transmis au destinataire.20 REVENDICATIONS1. Procédé de détection et de prévention d'intrusions dans un réseau informatique (1) comportant un pare-feu (2), consistant notamment à analyser des paquets de données (D) circulant sur une connexion, par l'intermédiaire d'un moteur d'analyse (3) du pare-feu (2), ledit moteur d'analyse (3) étant apte à détecter la présence de données malicieuses (dm), et ledit pare-feu (2) étant apte à corriger et/ou supprimer les données malicieuses (dm) préalablement détectées avant de transmettre les paquets de données (D) sur ledit réseau (1), caractérisé en ce que, ledit pare-feu (2) étant apte à fonctionner dans un premier mode (A) dans lequel il laisse circuler lesdits paquets de données (D) sur ladite connexion vers le réseau (1), et dans un deuxième mode (B) dans lequel ladite connexion est temporairement bloquée, - tant que le moteur d'analyse (3) ne détecte aucune donnée malicieuse (dm) dans un paquet de données (D), le pare-feu (2) fonctionne dans le premier mode (A), - et lorsque ledit moteur d'analyse (2) détecte la présence d'une ou plusieurs données malicieuses (dm) dans un paquet de données (D), le pare-feu (2) passe dans le deuxième mode (B), corrige et/ou supprime les données malicieuses (dm) du paquet de données (D), resynchronise la connexion puis débloque la connexion pour un retour dans le premier mode de fonctionnement (A). 2. Procédé selon la revendication 1, caractérisé en ce que, dans le deuxième mode de fonctionnement (B), la correction et/ou suppression des données malicieuses (dm) du paquet de données (D), la resynchronisation de la connexion et le déblocage de la connexion pour un retour du pare-feu (2) dans le premier mode de fonctionnement (A), sont réalisées par le moteur d'analyse (3). 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que dans le deuxième mode de fonctionnement (B), les nouveaux paquets de données circulant sur la connexion sont mis en attente, jusqu'audéblocage de ladite connexion. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que la resynchronisation de la connexion consiste notamment à appliquer un facteur de correction (fc) à une valeur d'acquittement (Acq) et à renvoyer à l'expéditeur du paquet de données (D) ladite valeur d'acquittement (Acq) corrigée, ledit facteur de correction (fc) étant fonction de la différence entre la taille de la donnée malicieuse (dm) avant et après la modification et/ou suppression de cette donnée malicieuse (dm). 5. Système de détection et de prévention d'intrusions dans un réseau informatique (1) comportant un pare-feu (2) comprenant un moteur d'analyse (3) apte à analyser des paquets de données (D) circulant sur une connexion et à détecter la présence de données malicieuses (dm), ledit pare-feu (2) étant apte à corriger et/ou supprimer les données malicieuses (dm) préalablement détectées avant de transmettre les paquets de données (D) sur ledit réseau (1), caractérisé en ce que ledit pare-feu (2) est apte à fonctionner dans un premier mode (A) dans lequel il laisse circuler lesdits paquet de données (D) sur ladite connexion vers le réseau (1), et dans un deuxième mode (B), déclenché par la détection de données malicieuses (dm) par ledit moteur d'analyse (3), dans lequel deuxième mode (B) ladite connexion est temporairement bloquée, et en ce que dans ce deuxième mode (B), ledit pare-feu (2) est apte à corriger et/ou supprimer les données malicieuses (dm) du paquet de données, à resynchroniser la connexion puis à débloquer la connexion en sorte de retourner dans le premier mode de fonctionnement (A). 6. Système selon la revendication 5, caractérisé en ce que, dans le deuxième mode de fonctionnement (B), le moteur d'analyse (3) est apte à mettre en oeuvre la correction et/ou suppression des données malicieuses (dm) du paquet de données (D), la resynchronisation de la connexion et le déblocage de la connexion pour un retour du pare-feu (2) dans le premier mode de fonctionnement (A). 7. Système selon l'une quelconque des revendications 5 et 6, caractérisé ence que, dans le deuxième mode de fonctionnement (B), le pare-feu (2) est apte à mettre en attente les nouveaux paquets de données circulant sur la connexion. 8. Système selon l'une quelconque des revendications 5 à 7, caractérisé en ce que le pare-feu (2), éventuellement par l'intermédiaire du moteur d'analyse (3), est apte, pour la resynchronisation de la connexion, à appliquer un facteur de correction (fc) à une valeur d'acquittement (Acq) et à renvoyer à l'expéditeur du paquet de données (D) ladite valeur d'acquittement (Acq) corrigée, ledit facteur de correction (fc) étant fonction de la différence entre la taille de la donnée malicieuse (dm) avant et après la modification et/ou suppression de cette donnée malicieuse (dm).