Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD OF PROTECTING A ROUTER AGAINST ATTACKS
Document Type and Number:
WIPO Patent Application WO/2015/197978
Kind Code:
A1
Abstract:
The invention relates to a method of protecting a router (10) against attacks, the router forwarding IP packets for at least one sub-network (12) identified by a network prefix. The method comprises: - a step (E3) of obtaining by way of an IP address validation module (13) the IP address allocated to at least one device (M1, M2, etc.) of the sub-network, said module being able to store an IP address in association with a physical linking parameter, during a step (P0) of allotting the IP address to said device in the sub-network, said IP address being qualified as valid IP address, - a step (E8) of retransmitting to the router an incoming IP packet whose destination IP address comprises the network prefix when the destination IP address of the incoming packet is a valid address.

Inventors:
COMBES JEAN-MICHEL (FR)
WAILLY AURÉLIEN (FR)
Application Number:
PCT/FR2015/051696
Publication Date:
December 30, 2015
Filing Date:
June 24, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ORANGE (FR)
International Classes:
H04L29/06
Foreign References:
US20130291117A12013-10-31
Other References:
None
Attorney, Agent or Firm:
ORANGE/IPL (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de protection d'un routeur (10) contre des attaques, le routeur acheminant des paquets IP pour au moins un sous-réseau (12) identifié par un préfixe réseau, ledit procédé comprenant :

- une étape (E3) d'obtention par l'intermédiaire d'un module de validation d'adresses IP (13) de l'adresse IP attribuée a au moins un dispositif (Ml, M2, etc.) du sous-reseau, ledit module étant apte à mémoriser une adresse IP en association avec un paramètre de liaison physique, lors d'une étape (PO) d'allocation de l'adresse IP audit dispositif dans le sous-réseau, ladite adresse IP étant qualifiée d'adresse IP valide,

- une étape (E8) de retransmission au routeur d'un paquet IP entrant dont l'adresse IP destination comprend le préfixe réseau, lorsque l'adresse IP destination du paquet entrant est une adresse valide. 2. Procédé de protection d'un routeur selon la revendication 1, comprenant en outre une étape (E2) d'envoi par le module de validation d'adresses de l'adresse IP valide dudit dispositif au module de filtrage de paquets.

3. Procédé de protection selon l'une des revendications précédentes, comprenant une étape d'envoi par le module de filtrage du paquet IP entrant à un dispositif de sécurité, lorsque l'adresse IP destination du paquet IP entrant n'est pas une adresse valide.

4. Système de protection d'un routeur (10) contre des attaques, le routeur étant agencé pour acheminer des paquets IP pour au moins un sous-réseau (12) identifié par un préfixe réseau, le système comprenant :

- un module (13) de validation d'adresses IP associé au sous-réseau, comprenant des moyens d'obtention de l'adresse IP d'au moins un dispositif (Ml, M2, etc.) du sous-réseau, lesdits moyens d'obtention de l'adresse étant aptes à mémoriser une adresse IP en association avec un paramètre de liaison physique, lors d'une étape d'allocation de l'adresse IP audit dispositif dans le sous-réseau, ladite adresse IP étant qualifiée d' adresse IP valide,

- un module de filtrage (15), agencé pour retransmettre au routeur un paquet IP entrant dont l'adresse IP destination comprend le préfixe réseau, lorsque l'adresse IP destination du paquet entrant est une adresse valide.

5. Système selon la revendication 4, dans lequel le module de validation comprend des moyens d'envoi d'adresses, agencés pour envoyer l'adresse IP valide au module de filtrage.

6. Dispositif de routage de paquets IP dans un réseau comprenant un système de protection selon la revendication 4 ou la revendication 5.

7. Passerelle d'accès permettant un accès à des dispositifs d'un réseau local à un réseau IP comprenant un dispositif de routage selon la revendication 6. 8. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de protection d'un routeur contre des attaques selon l'une des revendications 1 à 3, lorsque le programme est exécuté sur ledit ordinateur.

9. Support de données dans lequel est enregistré le programme selon la revendication 8.

Description:
Procédé de protection d'un routeur contre des attaques

La présente invention concerne une technique de protection d'un routeur contre des attaques.

Elle trouve une application particulièrement intéressante dans la protection d'un réseau, tel un réseau local de type réseau d'entreprise ou réseau domestique, contre des attaques par déni de service.

Des paquets de données à destination d'un équipement d'un réseau local situé sur un lien réseau donné sont acheminés par l'intermédiaire d'un routeur situé sur le même lien réseau. II est connu que le protocole IPv6 s'appuie sur un mécanisme normalisé de découverte des voisins (ou « Neighbor Discovery ») décrit dans la RFC 4861 (de l'anglais « Request for Comment ») pour établir une communication réseau et acheminer un paquet à un équipement d'un réseau. Ce mécanisme, qui opère au niveau de la couche 3 du modèle « OSI » (de l'anglais « Open Systems Interconnection ») est responsable de la découverte d'équipements sur le même lien réseau et de la détermination de leur adresse IP. Il établit une correspondance entre une adresse IPv6, identifiant d'un équipement au niveau de la couche 3, et une adresse « MAC » (de l'anglais « Media Access Control ») de cet équipement qui correspond à un identifiant couche 2 de l'équipement. Un routeur qui reçoit un paquet à acheminer à un équipement du réseau local s'appuie sur ce mécanisme pour acheminer le paquet. Ainsi, lorsque le routeur reçoit un paquet l'adresse IP destination correspond à une adresse potentiellement attribuée à un équipement du réseau local qu'il dessert, il vérifie dans une mémoire cache appelée « Neighbor cache » si une entrée associée à l'adresse IP destination existe. Une telle mémoire associe à une adresse IP une adresse MAC qui permet au routeur d'acheminer le paquet à l'équipement dont l'adresse IP est égale à adresse IP destination du paquet et qui est sur le même lien réseau. Dans un cas où la mémoire cache ne contient pas l'adresse IP qui figure dans le champ IP destination du paquet, le routeur envoie une requête de sollicitation des voisins (« neighbor solicitation » en anglais) sur le réseau local afin de demander si un équipement situé sur le lien réseau possède l'adresse IPv6. En parallèle il crée une entrée dans la mémoire cache « Neighbor cache » pour cette adresse IPv6 ; cette entrée a une durée de vie prédéfinie. Si le routeur reçoit la réponse d'un équipement, alors il complète l'entrée en associant l'adresse MAC de l'équipement à l'adresse IPv6 déjà enregistrée. S'il ne reçoit aucune réponse, signifiant qu'aucun équipement ne possède l'adresse IPv6, alors il efface l'entrée au bout d'un temps donné qui correspond à la durée de vie de l'entrée.

Des attaquants exploitent ce mécanisme afin de perpétrer des attaques. Ces attaques sont faciles à mettre en œuvre et susceptibles de provoquer des dégâts importants. Ainsi, un attaquant qui cible un sous-réseau particulier dont il connaît le préfixe réseau, envoie une grande quantité de paquets IPv6 avec dans le champ IP destination des adresses IPv6 différentes, qui comprennent le même préfixe réseau. Par exemple, il incrémente l'adresse de « 1 » à chaque nouveau paquet. Selon le fonctionnement classique du mécanisme de découverte des voisins décrit précédemment, le routeur crée dans la mémoire cache « Neighbor cache » une entrée pour chaque adresse IP destination qui figure dans un paquet reçu, à moins que cette entrée ne figure déjà dans la mémoire cache. Lorsque l'entrée ne figure pas dans la mémoire cache, il crée cette nouvelle entrée dont la durée de vie est prédéfinie. Il envoie une requête aux équipements du sous-réseau qu'il dessert afin d'obtenir l'adresse MAC associée à l'adresse IP destination lorsque celle-ci appartient à un équipement du sous-réseau. Si aucun équipement ne répond, cela signifie que l'adresse IP destination ne correspond à aucun équipement du sous- réseau. Dans ce cas, l'entrée est effacée lorsque la durée de vie de l'entrée a expiré.

La mémoire cache d'un routeur a une taille prédéfinie. Par exemple cette taille peut permettre de gérer 512 entrées. On comprend que si l'attaquant inonde le routeur de requêtes avec des adresses incrémentées de « 1 » qui sont assimilées à des adresses aléatoires, alors la mémoire cache est rapidement saturée et le routeur ne peut plus acheminer de paquet légitime aux équipements du sous-réseau. En tout état de cause, aucun des équipements du sous-réseau ne peut plus recevoir de requête.

Une solution pour pallier ce genre d'attaque consiste à mettre en place un mécanisme de contrôle de débit (le terme habituellement utilisé est le terme anglais « rate limiting ») destiné à contrôler le trafic envoyé ou reçu sur une interface réseau. Un tel mécanisme peut consister à limiter le débit sur une interface du routeur et à rejeter ou à retarder des paquets en excès. Cependant un tel mécanisme ne distingue pas des paquets d'attaque de paquets légitimes et des paquets légitimes peuvent être rejetés ou retardés. L'effet pour un client légitime est qu'il ne peut plus envoyer de paquets à un nœud du sous-réseau, ou que les paquets qu'il envoie sont retardés. Les techniques actuelles ne sont pas satisfaisantes pour contrer de telles attaques.

Un des buts de l'invention est de remédier à des insuffisances/inconvénients de l'état de la technique et/ou d'y apporter des améliorations.

A cette fin, l'invention propose un procédé de protection d'un routeur contre des attaques, le routeur acheminant des paquets IP pour au moins un sous-réseau identifié par un préfixe réseau, ledit procédé comprenant :

- une étape d'obtention par l'intermédiaire d'un module de validation d'adresses IP de l'adresse IP attribuée à au moins un dispositif du sous-réseau, ledit module étant apte à mémoriser une adresse IP en association avec un paramètre de liaison physique, lors d'une étape d'allocation de l'adresse IP audit dispositif dans le sous-réseau, ladite adresse IP étant qualifiée d' adresse IP valide,

- une étape de retransmission au routeur d'un paquet IP entrant dont l'adresse IP destination comprend le préfixe réseau, lorsque l'adresse IP destination du paquet entrant est une adresse valide.

Le procédé de protection d'un routeur contre des attaques propose un mécanisme dynamique de filtrage des communications IP dites orphelines, c'est-à-dire des communications comprenant des paquets IP destinés à des nœuds qui n'existent pas dans un réseau local adressé par un routeur. Une telle solution de filtrage dynamique n'existe pas actuellement. Cette solution permet de filtrer uniquement des communications orphelines tout en laissant passer des communications légitimes, Le., destinées à des dispositifs existants du sous-réseau/réseau local. Ainsi, la solution permet de pallier des attaques par déni de service qui exploitent les limites inhérentes à la mise en œuvre du mécanisme de découverte des voisins par le routeur, en l'espère la limitation du nombre d'entrées dans la table de la mémoire cache « Neighbor cache ». De telles attaques visent à rendre un routeur hors service en le saturant de paquets IP dont le champ adresse destination comprend un préfixe réseau identique au préfixe réseau du routeur et un suffixe aléatoire. On remarque que la solution décrite ici est plus sélective que les solutions connues basées par exemple sur le rate limiting, puisque seuls les paquets illégitimes sont bloqués. La méthode proposée est donc plus efficace.

Dans un exemple de réalisation, le procédé comprend en outre une étape d'envoi par le module de validation d'adresses de l'adresse IP valide dudit dispositif au module de filtrage de paquets.

Dans un exemple de réalisation, les modules de validation d'adresses et de filtrage possèdent chacun leur table de données mémorisant les adresses IP légitimes du sous-réseau. Dans ce cas, c'est le module de validation d'adresses qui transmet au module de filtrage l'adresse IP légitime qu'il mémorise lors de l'allocation d'une adresse IP à un équipement du sous-réseau. Du fait du rôle joué par le module de validation lors de l'allocation d'une adresse IP, il est informé des mises à jour en temps réel et peut ainsi les transmettre au fil de l'eau au module de filtrage. Ainsi, il n'y a pas de risque que l'attaque vise finalement le module de filtrage lui-même par envoi de paquets illégitimes.

Dans un exemple de réalisation, le procédé comprend une étape d'envoi par le module de filtrage du paquet IP entrant à un dispositif de sécurité, lorsque l'adresse IP destination du paquet IP entrant n'est pas une adresse valide.

Le procédé permet ainsi une analyse de paquets IP jugés suspects, dans le sens où ils sont adressés à des dispositifs dont l'adresse IP ne fait pas partie des dispositifs légitimes présents dans le sous-réseau. Le dispositif de sécurité peut ainsi analyser des paquets filtrés par le dispositif de filtrage et détecter qu'une attaque est en cours et le cas échéant, identifier l'origine de l'attaque et/ou mettre en œuvre des contre-mesures.

L'invention concerne aussi un système de protection d'un routeur contre des attaques, le routeur étant agencé pour acheminer des paquets IP pour au moins un sous-réseau identifié par un préfixe réseau, le système comprenant :

- un module de validation d'adresses IP associé au sous-réseau, comprenant des moyens d'obtention de l'adresse IP d'au moins un dispositif du sous-réseau, lesdits moyens d'obtention de l'adresse étant aptes à mémoriser une adresse IP en association avec un paramètre de liaison physique, lors d'une étape d'allocation de l'adresse IP audit dispositif dans le sous-réseau, ladite adresse IP étant qualifiée d'adresse IP valide,

- un module de filtrage, agencé pour retransmettre au routeur un paquet IP entrant dont l'adresse IP destination comprend le préfixe réseau, lorsque l'adresse IP destination du paquet entrant est une adresse valide.

Dans un exemple particulier de réalisation du système de protection, le module de validation comprend des moyens d'envoi d'adresses, agencés pour envoyer l'adresse IP valide au module de filtrage.

L'invention concerne aussi un dispositif de routage de paquets IP dans un réseau comprenant un système de protection tel que décrit précédemment.

L'invention porte également sur une passerelle d'accès permettant un accès à des dispositifs d'un réseau local à un réseau IP comprenant un dispositif de routage tel que décrit précédemment.

L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de protection d'un routeur contre des attaques tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur.

L'invention porte aussi sur un support de données dans lequel est enregistré le programme tel que décrit précédemment. D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description et des dessins annexés parmi lesquels :

- la figure 1 est une représentation schématique d'une architecture réseau adaptée pour mettre en œuvre les étapes d'un procédé de protection contre des attaques, selon un premier exemple de réalisation de l'invention ; - la figure 2 est une représentation schématique d'une architecture réseau adaptée pour mettre en œuvre les étapes d'un procédé de protection contre des attaques, selon un deuxième exemple de réalisation de l'invention ;

- la figure 3 présente les étapes du procédé de protection contre des attaques, selon un exemple de réalisation de l'invention ;

- la figure 4 est une représentation schématique d'un système de protection d'un routeur contre des attaques, selon un exemple de réalisation de l'invention.

Un exemple d'architecture réseau dans laquelle le procédé de protection d'un routeur contre des attaques est mis en œuvre, selon un premier exemple de réalisation, va maintenant être décrit en relation avec la figure 1.

L'architecture réseau comprend un routeur 10, agencé pour acheminer des paquets entre le réseau Internet 11, plus précisément entre un équipement Tl, T2, et un dispositif Ml, M2, situé sur un même lien réseau que le routeur 10. On considère que les équipements Ml, M2, etc., situés sur le même lien réseau que le routeur 10, appartiennent à un sous-réseau 12. Le sous-réseau 12 est par exemple un sous-réseau de type réseau d'entreprise, réseau domestique, etc. Un tel sous-réseau 12 peut également être appelé réseau local. Pour un réseau domestique, le routeur 10 correspond à une passerelle d'accès permettant aux équipements du réseau local d' accéder au réseau IP.

On se place ici dans un cas où le protocole IPv6 est utilisé. De manière connue, selon ce protocole, une adresse IP comprend deux parties de 64 bits. La première partie, appelée préfixe réseau, est utilisée pour le routage de paquets dans le réseau. La deuxième partie correspond à un identifiant d'interface propre à l'équipement Ml, M2, etc. du sous-réseau 12. Le préfixe réseau des équipements Ml, M2, est identique au préfixe réseau du routeur 10. Un paquet IP dont le champ adresse IP destination comprend le préfixe réseau est transmis au routeur 10 afin d'être acheminé par celui-ci à un dispositif du sous-réseau 12. Pour acheminer un paquet destiné à un dispositif du sous-réseau 12, le routeur 10 utilise un mécanisme normalisé de découverte des voisins (ou « Neighbor Discovery ») décrit dans la RFC 4861 (de l'anglais « Request for Comment »). Ce mécanisme, qui opère au niveau de la couche 3 du modèle « OSI » (de l'anglais « Open Systems Interconnection ») est responsable de la découverte de dispositifs sur le même lien réseau qu'un routeur et de l'acheminement de paquets IP à ces dispositifs. Il établit un lien entre une adresse IP, identifiant du dispositif au niveau de la couche 3, et une adresse « MAC » (de l'anglais « Media Access Control ») de ce dispositif qui correspond à un identifiant couche 2 de l'équipement. Ainsi, lorsque le routeur 10 reçoit un paquet dont le champ IP destination comprend une adresse IP potentiellement attribuée à un équipement du sous-réseau 12 qu'il dessert, il vérifie dans une mémoire cache appelée « Neighbor cache » (non représentée) si une entrée associée à l'adresse IP destination qui figure dans le paquet IP existe. Une telle mémoire associe à une adresse IP une adresse MAC, et permet au routeur 10 d'acheminer le paquet au dispositif destinataire du paquet IP qui est sur le même lien réseau. Dans un cas où la mémoire cache ne contient pas l'adresse IP qui figure dans le champ IP destination du paquet, le routeur 10 envoie une requête de sollicitation des voisins (« neighbor solicitation » en anglais) aux dispositifs du sous-réseau 12 afin de demander si un dispositif situé sur le lien réseau possède l'adresse IP. Il crée également une entrée dans la mémoire cache « Neighbor cache » pour l'adresse IP précisée dans la requête de sollicitation. Cette entrée est créée avec une durée de vie prédéfinie. Si le routeur 10 reçoit une réponse d'un dispositif du sous-réseau 12, alors il complète l'entrée en associant l'adresse MAC à l'adresse IP du dispositif. S'il ne reçoit aucune réponse, signifiant qu'aucun dispositif du sous-réseau 12 ne possède l'adresse IP, il efface l'entrée de la mémoire cache à l'expiration de la durée de vie de l'entrée.

L'architecture réseau comprend également un équipement réseau 13 de validation d'adresses qui met en œuvre un mécanisme de validation d'adresses appelé « SAVI » (de l'anglais « Source Address Validation Improvement »), en cours de standardisation à l'« IETF » (pour « Internet Engineering Task Force »). Le mécanisme SAVI est adapté pour détecter une usurpation d'adresse dans un sous-réseau à l'intérieur duquel tous les dispositifs ont le même préfixe d'adresse IP. Ce mécanisme est mis en œuvre lorsqu'une adresse IP est allouée à un dispositif dans le sous-réseau 12. L'équipement réseau 13 de validation d'adresses est situé au plus près des dispositifs du sous-réseau 12. Il est connu qu'un dispositif d'un sous-réseau, par exemple les dispositifs Ml, M2, obtiennent une adresse IP selon l'une des méthodes suivantes :

- obtention de l'adresse auprès d'un serveur « DHCP » (pour « Dynamic Host

Configuration Protocol »),

allocation de l'adresse IP par auto-configuration. Le mécanisme d'auto- configuration n'existe que pour la version 6 du protocole IP.

Dans un premier exemple illustré par la figure 1, dans lequel l'adresse IP est obtenue auprès d'un serveur DHCP 14, un dispositif du sous-réseau 12, par exemple le dispositif Ml, requiert auprès du serveur DHCP 14 une adresse IP en diffusant une requête « DHCP_SOLICIT ». Le serveur DHCP 14 qui reçoit la requête diffuse à l'attention du dispositif Ml une offre « DHCP_ADVERTISE » qui comprend une adresse IP proposée par le serveur DHCP 14. Le dispositif Ml, s'il accepte cette adresse, répond à cette offre en envoyant une requête « DHCP_REQUEST » qui comprend l'adresse IP qui vient de lui être proposée. La requête « DHCP_REQUEST » qui transite par l'équipement réseau 13 de validation d'adresses permet à ce dernier d'enregistrer dans une table d'association BT (on parle habituellement de « Binding Table ») une association entre un paramètre physique associé à la liaison physique propre au dispositif Ml dans le sous-réseau 12 et l'adresse IP, logique, qui a été attribuée et acceptée par le dispositif Ml. Une telle association est connue aussi sous le nom d' « association d'ancrage » (le terme habituellement utilisé est le terme anglais « binding anchor »). Le paramètre physique est indépendant de l'adresse IP ; c'est par exemple un numéro de port pl sur lequel l'équipement de validation d'adresses 13 reçoit la requête « DHCP_REQUEST » du dispositif Ml. Ainsi, l'équipement réseau 13 de validation d'adresses gère la table d'association BT qui enregistre pour tous les dispositifs Ml, M2, du sous-réseau 12 qui se voient allouer une adresse IP par le serveur DHCP 14, une correspondance entre un numéro de port et l'adresse IP allouée audit dispositif. Dans d'autres exemples de réalisation, le paramètre physique du dispositif enregistré en association avec son adresse IP est une adresse MAC, ou une interface réseau.

L'équipement 13 de validation d'adresses est ainsi adapté pour détecter des usurpations d'adresse dans le sous-réseau 12. En effet, si un dispositif M3 du sous-réseau 12 usurpe l'adresse IP du dispositif Ml et envoie un paquet IP comprenant comme adresse IP source l'adresse usurpée du dispositif Ml, alors l'équipement 13 de validation d'adresses détecte une incohérence. Il y a en effet incohérence entre l'adresse IP source contenue dans le paquet IP envoyé par le dispositif M3 et l'adresse IP normalement associée dans la table d'association BT au port réseau sur lequel il vient de recevoir le paquet, en l'espèce le port associé au dispositif M3 dans la table d'association BT. L'équipement 13 de validation d'adresses bloque alors le paquet IP émis depuis la machine M3 qui comprend comme adresse source l'adresse de la machine Ml.

Dans l'exemple décrit ici, l'adresse IP est obtenue auprès du serveur DHCP 14 qui est compris dans le sous-réseau 12. Dans un autre exemple de réalisation (non représenté), le sous- réseau 12 comprend un relais DHCP qui communique avec un serveur DHCP extérieur au sous- réseau 12. Le relais DHCP fournit les mêmes services aux équipements Ml, M2, du sous- réseau 12, par l'intermédiaire d'échanges avec le serveur DHCP. En particulier, le relais DHCP alloue alors les adresses IP aux équipements Ml, M2, ...

Dans un autre exemple de réalisation (non représenté), où l'adresse IP est obtenue par auto-configuration, un dispositif du sous-réseau 12, par exemple le dispositif Ml, reçoit du routeur 10 le préfixe réseau dans un message « Router Advertisement ». Le dispositif Ml génère alors un identifiant d'interface qui lui est propre, en tant que suffixe d'adresse IP. Le dispositif Ml concatène alors le préfixe réseau reçu du routeur 10 et le suffixe généré pour forger son adresse IP. Une fois l'adresse IP forgée par le dispositif Ml, celui-ci doit s'assurer que l'adresse IP est unique dans le sous-réseau 12. A cette fin, le dispositif Ml met en œuvre un mécanisme de détection d' adresse dupliquée appelé « D AD » (pour « Duplicate Address Détection »), décrit dans la RFC 4862 (pour « Request For Comment »). Avec ce mécanisme, le dispositif Ml émet à l'attention de ses voisins du même sous-réseau, ici les dispositifs M2, etc., un message de sollicitation comprenant l'adresse qu'il s'est forgée. Lors de la diffusion de ce message, l'équipement 13 de validation d'adresses enregistre dans la table d'association BT une correspondance temporaire entre l'adresse IP du dispositif Ml, extraite du message de sollicitation, et le numéro de port sur lequel il a reçu ce message. Si aucun autre dispositif du sous-réseau 12 ne répond à ce message de sollicitation pendant un intervalle de temps donné, alors cela signifie que l'adresse IP forgée par le dispositif Ml est unique dans le sous-réseau 12 et que l'adresse IP est valable pour le dispositif Ml. Au niveau de l'équipement 13 de validation d'adresses, l'association entre l'adresse IP et le numéro de port est validée et devient définitive au terme de cet intervalle de temps donné pendant lequel l'équipement 13 de validation d'adresses n'a vu passer aucune réponse au message de sollicitation. Si au contraire, un dispositif du sous-réseau 12 répond au message de sollicitation afin d'informer le dispositif Ml que l'adresse est déjà attribuée, alors l'équipement 13 de validation d'adresses efface la correspondance temporaire qu'il a enregistrée. Une fois que toutes les adresses IP ont été forgées pour les machines du sous-réseau 12, et que l'équipement 13 de validation d'adresses possède donc une table d'association BT complète et à jour, la prévention d'usurpation d' adresse est alors opérée de la même manière que précédemment.

Le réseau 10 comprend en outre un équipement réseau de filtrage 15 de type pare-feu (« firewall » en anglais) destiné à filtrer des paquets IP en fonction du champ adresse IP destination. Dans un autre mode de réalisation, l'équipement réseau de filtrage 15 est un équipement mettant en œuvre des listes de contrôle d' accès ACL pour « Access Control List », par exemple le routeur 10. L'équipement de filtrage 15 est placé en coupure entre le routeur 10 et le réseau Internet 11. Tout paquet IP destiné à un dispositif du sous-réseau 12 transite donc par l'équipement de filtrage 15. L'équipement de filtrage 15 est paramétré pour recevoir de l'équipement 13 de validation d'adresses les adresses IP légitimes des équipements du sous- réseau 12, et pour les enregistrer dans une table de filtrage FT. Ainsi, une adresse IP reçue de l'équipement 13 de validation d'adresses et enregistrée dans la table de filtrage FT est une adresse légitime du sous-réseau 12. La table de filtrage FT est utilisée par l'équipement de filtrage 15 pour filtrer les paquets IP reçus du réseau Internet et à destination d'un dispositif du sous-réseau 12, en fonction de l'adresse IP destination qui figure dans un champ du paquet IP. Lorsqu'un paquet IP destiné à un dispositif du sous-réseau 12 est reçu par l'équipement de filtrage 15, celui-ci analyse le champ IP destination du paquet reçu. Si l'adresse IP destination figure dans la table de filtrage FT alors, il s'agit d'un paquet destiné à un dispositif légitime du sous-réseau 12. Il n'est donc pas filtré par l'équipement de filtrage 15 et est transmis au routeur 10 pour acheminement dans le sous-réseau 12. Dans le cas contraire où le paquet IP reçu comprend une adresse IP destination qui ne fait pas partie des adresses IP enregistrée dans la table de filtrage FT, alors le paquet est filtré par l'équipement de filtrage 15. Dans un premier exemple de réalisation le paquet est détruit par l'équipement de filtrage 15. Dans un deuxième exemple de réalisation, le paquet est transmis à un équipement de sécurité (non représenté). L'équipement de sécurité est agencé pour analyser les paquets, détecter des attaques par recoupement de données, identifier l'origine d'attaques et le cas échéant mettre en œuvre des contre-mesures.

Dans les exemples de réalisation décrits ici, l'équipement 13 de validation d'adresses et l'équipement de filtrage 15 sont deux équipements distincts qui gèrent chacun une table de données : la table BT gérée par l'équipement 13 de validation d'adresses et qui comprend les adresses IP de dispositifs légitimes du sous-réseau 12 et la table de filtrage FT qui comprend les adresses IP des dispositifs du sous-réseau 12 et qui ont été transmises par l'équipement 13 de validation d'adresses. Dans un autre exemple d'architecture, l'équipement 13 de validation d'adresses et l'équipement de filtrage 15 constituent des modules de validation d'adresses IP et de filtrage d'un dispositif de validation d'adresses et de filtrage qui gère une table unique, comparable à la table BT et qui est utilisée également pour filtrer les paquets IP dont le champ adresse IP destination ne figure pas dans la table unique.

L'invention n'est pas limitée à l'exemple d'architecture décrit en relation avec la figure 1. Ainsi, dans un autre exemple de réalisation illustré par la figure 2, le routeur 10 est destiné à desservir une pluralité de sous-réseaux NW1, NW2, NW3, etc. Chacun des sous-réseaux comprend donc un équipement de validation d'adresses qui transmet à l'équipement de filtrage 15 les adresses IP valides des équipements des différents sous-réseaux. Une telle architecture correspond par exemple à un réseau d'entreprise qui comprend une pluralité de sous-réseaux, chacun des sous-réseaux correspondant à une entité qui possède son propre sous-réseau.

L'architecture est décrite ici dans le cas d'un adressage conforme à la version 6 du protocole IP. L'invention n'est pas limitée à ce type d'adressage. Ainsi, dans une variante de réalisation, un adressage selon la version 4 du protocole IP est utilisé. Dans ce cas, le mécanisme « ARP » (de l'anglais « Address Resolution Protocol ») est utilisé avec « ICMP Router Discovery et Router Redirect » (de anglais « Internet Control Message Protocol ») afin de fournir les fonctionnalités équivalentes au mécanisme de découverte des voisins « Neighbor Discovery » de la version 6 du protocole IP. Les étapes d'un procédé de protection d'un routeur contre des attaques, selon un exemple de réalisation, vont maintenant être décrites en relation avec la figure 3.

On suppose que l'architecture réseau est conforme à l'architecture décrite en relation avec la figure 1.

Dans une phase initiale PO de configuration du sous-réseau 12, les dispositifs Ml, M2, etc., acquièrent une adresse IP dans le sous-réseau 12. Cette phase PO correspond par exemple à une mise sous tension des dispositifs Ml, M2, etc. Selon les méthodes connues décrites précédemment, les dispositifs Ml, M2, etc., se voient allouer une adresse IP soit au moyen d'une requête DHCP, soit pas auto-configuration. On suppose dans cet exemple que les équipements obtiennent leur adresse IP auprès du serveur DHCP 14. De manière classique, un dispositif, par exemple le dispositif Ml, diffuse une requête « DHCP_SOLICIT » et reçoit du serveur DHCP 14 en réponse un message « DHCP_ADVERTISE » qui comprend une proposition d'adresse IP. Le dispositif Ml envoie un message « DHCP_REQUEST » qui comprend l'adresse IP validée. Ce message, qui transite par l'équipement 13 de validation d'adresses permet à ce dernier d'enregistrer dans la table d'association BT, au cours d'une étape El d'enregistrement, l'adresse IP validée en association avec un identifiant physique, par exemple un numéro de port à travers lequel le dispositif Ml communique.

L'équipement 13 de validation d'adresses envoie dans une étape E2 d'envoi d'adresse IP, les adresses IPv6 qu'il a mémorisées durant la phase PO au dispositif de filtrage 15. On remarque que toute adresse mémorisée par l'équipement 13 de validation d'adresses correspond à l'adresse IP d'un dispositif qui est effectivement présent dans le sous-réseau 12. On appelle une telle adresse une adresse valide. Dans un exemple de réalisation, les adresses sont envoyées par l'équipement 13 de validation d'adresses à intervalle régulier. Dans un deuxième exemple de réalisation, dès que l'équipement 13 de validation d'adresses enregistre une adresse IP de dispositif dans la table d'association BT, il transmet cette adresse IP à l'équipement de filtrage 15. Dans un autre exemple de réalisation, c'est l'équipement de filtrage 15 qui interroge l'équipement de validation d'adresses 13 afin de savoir si une adresse IP qui figure dans le champ adresse IP destination d'un paquet IP entrant appartient à un dispositif légitime du sous- réseau 12. Dans ce cas, l'équipement de filtrage peut mémoriser les adresses légitimes au fur et à mesure. Dans un autre exemple de réalisation, l'équipement de filtrage 15 interroge systématiquement le dispositif de validation d'adresses ; il ne mémorise donc pas les adresses IP légitimes.

Les adresses IP envoyées par l'équipement 13 de validation d'adresses au cours de l'étape E2 d'envoi sont reçues et mémorisées par l'équipement de filtrage 15 dans la table de filtrage FT au cours d'une étape E3 de réception et de mémorisation. Ainsi, lorsque tous les équipements du sous-réseau 12 se sont vus allouer une adresse IP enregistrée dans la table d'association BT et que ces adresses ont été transmises à l'équipement de filtrage 15, la table de filtrage FT comprend l'ensemble des adresses IP des dispositifs qui font partie du sous-réseau 12. Ces adresses sont des adresses IP valides.

Dans une étape E4 d'envoi d'un paquet, l'équipement Tl envoie un paquet IP vers le routeur 10 à travers le réseau Internet 11 (non représenté sur la figure 3). On remarque que l'équipement Tl ne fait pas partie des dispositifs du sous-réseau 12. Le paquet IP comprend dans le champ adresse IP destination une adresse dont la première partie est identique au préfixe réseau du sous-réseau 12 et dont la deuxième partie est aléatoire. Il est donc destiné à être acheminé par le routeur 10 dans le sous-réseau 12. Le paquet IP est acheminé dans le réseau jusqu'au routeur 10, par exemple par l'intermédiaire d'autres routeurs (non représentés).

Dans une étape de réception E5, le paquet IP est reçu par le dispositif de filtrage 15, situé en coupure entre le réseau Internet 11 et le routeur 10.

Dans une étape E6 d'analyse du champ adresse IP destination et de test, le dispositif de filtrage 15 vérifie si l'adresse qui figure dans le champ adresse IP destination du paquet reçu est enregistré dans la table de filtrage FT.

Dans un premier cas où l'adresse ne figure pas dans la table de filtrage FT (branche « nok » sur la figure 2), cela signifie que le paquet n'est destiné à aucun dispositif connu du sous-réseau 12. Le paquet est potentiellement un paquet d'attaque. Dans une étape E7 de blocage, le paquet est bloqué par l'équipement de filtrage 15. Dans un autre exemple de réalisation, le paquet est transmis à un équipement de sécurité du réseau (non représenté sur la figure 2). L'équipement de sécurité a une vision globale du trafic et est destiné à étudier les paquets bloqués de manière à identifier d'éventuelles attaques ainsi que leur origine et éventuellement à mettre en œuvre des contre-mesures.

Dans un second cas où l'adresse figure dans la table de filtrage FT (branche « ok » sur la figure 2), cela signifie que le paquet est un paquet légitime, ou plus exactement que le paquet est destiné à un dispositif légitime du sous-réseau 12. Le paquet est alors transmis au routeur 10 par l'équipement de filtrage 15 au cours d'une étape E8 de transmission, pour être acheminé dans le sous-réseau 12. En d'autres termes, dans ce cas le paquet n'est pas filtré.

On suppose que le paquet est destiné au dispositif Ml du sous-réseau 12.

Dans une étape E9 d'acheminement le routeur 10 achemine le paquet au dispositif du sous-réseau 12. A cette fin, et de manière classique, le routeur 10, qui met en œuvre la version 6 du protocole IP, s'appuie sur le mécanisme normalisé de découverte des voisins pour établir une communication réseau et acheminer le paquet reçu à un dispositif du sous-réseau qu'il dessert. Ce mécanisme, qui opère au niveau de la couche 3 du modèle OSI établit une correspondance entre une adresse IPv6, identifiant d'un dispositif au niveau de la couche 3, et une adresse MAC de ce dispositif qui correspond à un identifiant couche 2 de ce dispositif. Lorsque le routeur 10 reçoit le paquet IP, il vérifie dans la mémoire cache « Neighbor cache » si une entrée associée à l'adresse IP destination qui figure dans le paquet IP existe. Une telle mémoire associe à l'adresse IP d'un dispositif du sous-réseau une adresse MAC, c'est-à-dire un identifiant couche 2, qui permet au routeur 10 d'acheminer le paquet au dispositif dont l'adresse IP est égale à l'adresse IP destination du paquet, en l'espèce le dispositif Ml. Dans un cas où la mémoire cache ne contient pas l'adresse IP qui figure dans le champ IP destination du paquet, le routeur envoie une requête de sollicitation des voisins dans le sous-réseau 12 afin de demander si un dispositif situé sur le lien réseau possède l'adresse IP. En parallèle il crée une entrée dans la mémoire cache pour cette adresse IP ; cette entrée a une durée de vie prédéfinie. Si le routeur reçoit la réponse d'un dispositif, alors il complète l'entrée en associant l'adresse MAC du dispositif à l'adresse IP déjà enregistrée. Dans cet exemple de réalisation, soit la mémoire cache comprend déjà une entrée qui associe à l'adresse IP qui figure dans le champ IP destination du paquet reçu à l'adresse MAC du dispositif Ml du sous-réseau 12, et dans ce cas le paquet est acheminé au dispositif, soit aucune entrée ne figure dans la mémoire cache. Dans ce cas, le routeur crée une entrée et envoie une requête de sollicitation des voisins. Le routeur 10 reçoit ensuite une réponse qui lui permet de compléter l'entrée avec l'adresse MAC du dispositif Ml auquel est destiné le paquet. En effet, dans ces deux cas, le paquet est destiné à un dispositif qui existe dans le sous-réseau 12. Il est transmis et reçu par celui-ci au cours d'une étape E10 de réception. Ainsi, une attaque par déni de service connue qui consiste à inonder le routeur de paquets IP dont adresse IP destination comprend le même préfixe réseau que celui du routeur 10 mais qui correspond à une adresse aléatoire est impossible à mettre en œuvre ici. En effet, l'équipement de filtrage 15, en coupure des échanges entre le routeur 10 et le réseau Internet 11 garantit que seuls des paquets destinés à des dispositifs légitimes du sous-réseau 12 sont transmis au routeur 10.

Si le routeur 10 ne reçoit aucune réponse, signifiant qu'aucun dispositif ne possède l'adresse IP, alors il efface l'entrée au bout d'un temps donné qui correspond à la durée de vie de l'entrée.

Un système de protection d'un routeur contre des attaques, selon un exemple de réalisation, va maintenant être décrit en relation avec la figure 4.

Le système 40 de protection d'un routeur contre des attaques comprend un équipement 13 de validation d'adresses IP et un équipement de filtrage 15. L'équipement 13 de validation d'adresses IP est placé au plus près des dispositifs du sous-réseau 12. Il est agencé pour enregistrer dans la table d'association BT une association entre un paramètre physique associé à un dispositif du sous-réseau 12, par exemple un numéro de port grâce auquel le dispositif communique, et l'adresse IP du dispositif qui constitue un paramètre logique associé au dispositif. L'équipement de filtrage 15 est placé en coupure entre le réseau Internet 11 (non représenté sur la figure 4) et le routeur 10. Il est destiné à analyser tout paquet IP entrant et à destination du sous-réseau 12 et à vérifier que l'adresse IP qui figure dans le champ adresse IP destination du paquet correspond à un dispositif légitime du sous-réseau 12. Un dispositif légitime est un dispositif réellement présent dans le sous-réseau 12 dont l'adresse IP figure dans la table d'association BT gérée par le dispositif 13 de validation d'adresses.

Le système 40 de protection d'un routeur comprend :

- un premier microprocesseur 131, ou « CPU » (de l'anglais « Central Processing Unit ») qui est une unité de traitement du dispositif 13 de validation d'adresses,

- un premier ensemble de mémoires dont une mémoire vive 132, ou « RAM » (pour « Random Access Memory ») qui permet de charger des instructions logicielles correspondant aux étapes du procédé de protection d'un routeur qui sont mises en œuvre par le dispositif 13 de validation d'adresses, et de les faire exécuter par le premier processeur 131. L'ensemble de mémoires comprend également des moyens de mémorisation 133, par exemple un mémoire morte, ou « ROM » (de l'anglais « Read Only Memory ») adaptée pour mémoriser la table d'association BT qui à chaque adresse IP de dispositif Ml, M2, etc., du sous-réseau 12 associe un paramètre physique de la liaison physique sur laquelle le dispositif communique, par exemple un numéro de port,

- des moyens 134 d'obtention des associations, agencés pour obtenir des associations entre l'adresse IP d'un dispositif du sous-réseau 12 et le paramètre physique de la liaison physique sur laquelle le dispositif communique. Ces associations sont destinées à être stockées par les moyens de mémorisation 133 dans la table d'associations BT. Les associations sont obtenues lors de l'allocation des adresses IP aux dispositifs du sous-réseau 12. Ces moyens 134 caractérisent la fonction offerte par un équipement SAVI,

- des moyens d'envoi 135, agencés pour envoyer à l'équipement de filtrage 15 les adresses IP des dispositifs légitimes du sous-réseau 12,

- des premières interfaces réseau 136, agencées pour communiquer avec les dispositifs du sous-réseau 12 et avec le routeur 10,

Le système 40 comprend également :

- un deuxième microprocesseur 151, ou CPU, qui est une unité de traitement de l'équipement de filtrage 15, - un deuxième ensemble de mémoires dont une mémoire vive 152, qui permet de charger des instructions logicielles correspondant aux étapes du procédé de protection d'un routeur qui sont mises en œuvre par l'équipement de filtrage 15, et de les faire exécuter par le deuxième processeur 151. Le deuxième ensemble de mémoires comprend également des moyens de mémorisation 153, par exemple un mémoire morte ou ROM, adaptée pour mémoriser la table de filtrage FT qui comprend les adresses IP des dispositifs légitimes du sous- réseau 12,

- des moyens de réception 154, agencés pour communiquer avec l'équipement 13 de validation d'adresses et pour recevoir les adresses IP des équipements légitimes du sous-réseau 12. Dans un exemple de réalisation, les adresses IP des dispositifs sont envoyées par l'équipement 13 de validation d'adresses au fil de l'eau, c'est-à-dire à chaque fois que l'équipement 13 de validation d'adresses enregistre une association dans la table d'associations BT. Dans un autre exemple de réalisation, les adresses sont envoyées à intervalle régulier par le dispositif 13 de validation d'adresses.

- des deuxièmes interfaces réseau 155, agencées pour communiquer avec des équipements du réseau Internet 11, plus précisément avec des dispositifs Tl, T2, du réseau Internet et avec le routeur 10.

Dans un autre exemple de réalisation, le système de protection 40 comprend également des moyens d'interrogation du dispositif 13 de validation d'adresses (non représentés) agencés pour que l'équipement de filtrage 15 interroge l'équipement 13 de validation d'adresses sur réception d'un paquet IP entrant afin de vérifier que l'adresse qui figure dans le champ IP destination du paquet IP entrant appartient à un dispositif du sous-réseau 12.

Les moyens 134 d'obtention des associations, les moyens d'envoi 135, les premières interfaces réseau 136, les moyens de réception 154, les deuxièmes interfaces réseau 155 sont de préférence des modules logiciels comprenant des instructions logicielles pour faire exécuter les étapes du procédé de protection d'un routeur précédemment décrites.

L'invention concerne donc aussi :

- un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, le programme comprenant des instructions de code pour l'exécution des étapes du procédé de protection d'un routeur contre des attaques tel que décrit précédemment lorsque ce programme est exécuté par un processeur, et

- un support d'enregistrement lisible par un dispositif de protection d'un routeur contre des attaques sur lequel est enregistré le programme d'ordinateur décrit ci-dessus.

Les modules logiciels peuvent être stockés dans, ou transmis par un support de données. Celui-ci peut être un support matériel de stockage, par exemple un CD-ROM, une disquette magnétique ou un disque dur, ou bien un support de transmission tel qu'un signal ou un réseau de télécommunication.

Dans un autre exemple de réalisation, les équipements 13 de validation d'adresses et 15 de filtrage partagent une table de données qui mémorise les adresses IP des dispositifs légitimes du sous-réseau 12.

Le système 40 de protection d'un routeur est décrit ici comme comprenant un équipement 13 de validation d'adresses IP et un équipement 15 de filtrage. L'invention n'est pas limitée à ce mode de réalisation. Ainsi, dans un autre exemple de réalisation (non représenté), le système de protection 40 comprend un équipement de validation d'adresses et de filtrage adapté pour valider les adresses IP des dispositifs du sous-réseau en mémorisant les associations entre les adresses IP des dispositifs et un paramètre de la liaison physique grâce à laquelle ils communiquent, et pour filtrer les paquets entrants en fonction du champ adresse IP destination du paquet entrant. Dans un autre exemple de réalisation (non représenté), le système de protection 40 est intégré dans un dispositif de routage, tel qu'un routeur. Dans un autre exemple de réalisation (non représenté), le système de protection 40 est intégré dans une passerelle d'accès permettant un accès à des équipements d'un réseau local à un réseau IP.