PROCEDE, DISPOSITIF ET PROGRAMME PE DETECTION D'USURPATION DE POINT D'ACCES.
La présente invention concerne les technologies d'accès sans fil à des réseaux de télécommunications. Elle s'applique notamment aux technologies de type IEEE 802.11 normalisées par Plnstitute of Electrical and Electronics Engineers (IEEE). Les technologies IEEE 802.11 sont très utilisées dans les réseaux . d'entreprise,, résidentjejs_ainsl. que . dans.J.es .zones, d'usage, intensif. ("hot spots"). Plus particulièrement, l'invention se rapporte à un piratage de réseau sans fil par usurpation d'adresse de point d'accès.
Par le terme "trame", on entend désigner un ensemble de données formant un bloc transmis dans un réseau et renfermant des données utiles et des informations de service, généralement situées dans une zone d'en-tête du bloc. Une trame peut-être qualifiée de paquet de données, de datagramme, de bloc de données, ou autre expression de ce type.
Avec le succès et la démocratisation des technologies d'accès sans fil, des techniques de piratage sont apparues.
Actuellement, un des risques les plus importants pour ce type de réseaux est l'attaque par point d'accès illégitime, qui consiste à créer un faux point d'accès en usurpant complètement les caractéristiques, notamment l'adresse de couche MAC ("Médium Access Control"), d'un point d'accès légitime, contrôlé par l'administrateur du réseau sans fil. Les faux points d'accès n'usurpant pas une adresse MAC d'un point d'accès légitime sont relativement faciles à détecter par simple vérification d'adresse MAC.
Le point d'accès est un élément primordial de la communication entre un client et un réseau. De ce fait, c'est un point critique, et donc intéressant pour les attaquants. Des attaques mettant en œuvre de faux points d'accès sont apparues afin de:
• récupérer des identifiants de connexion pour des utilisateurs qui sont authentifiés au moyen de "portails captifs" en se faisant passer pour un
point d'accès légitime afin d'intercepter des données d'identification telles que les identifiants de connexion;
• intercepter des communications en réalisant une attaque de type "man in the middle", c'est-à-dire en simulant le comportement d'un point d'accès légitime vis-à-vis de l'utilisateur sans fil et celui d'un utilisateur sans fil vis- à-vis du point d'accès légitime afin d'intercepter toutes les communications;
• ouvrir tout un- réseau -d'entreprise en " laissant ~~uτπ~ point "d'accès directement connecté au réseau de l'entreprise en mode ouvert, c'est-à- dire sans aucune authentification ni chiffrement de la voie radio, ce point d'accès acceptant par défaut toute demande de connexion.
Ces attaques sont difficilement détectables quand elles mettent en œuvre une technique d'usurpation d'adresse MAC. Il est alors plus difficile de distinguer deux équipements différents de la même catégorie (point d'accès) émettant à partir d'une même adresse MAC. L'arrivée des nouveaux standards plus sécurisés (1EEE802.11i) n'empêchera pas l'utilisation de points d'accès illégitimes car l'intérêt pour l'attaquant sera toujours présent.
Il existe donc un besoin pour un procédé de détection d'usurpation d'adresse MAC de point d'accès
Une technique connue de détection d'usurpation d'adresse MAC repose sur l'analyse du champ de numéro de séquence ("Séquence Number") des trames, ou paquets de données, IEEE802.11 (voir J. Wright, "Detecting Wireless LAN MAC Address Spoofing", http://home.jwu.edu/jwright/, 21 janvier 2003). Ces numéros de séquence, gérés à bas niveau dans la carte radio, sont obligatoirement incrémentés d'une unité à chaque paquet émis. Ceci permet de repérer des variations importantes entre plusieurs paquets successifs émis par une même adresse MAC. En comparant ces variations à des seuils prédéfinis, on peut détecter des anomalies dans les paquets apparaissant en provenance d'une adresse MAC, et en déduire la probable usurpation de cette adresse par un attaquant. Cette technique nécessite la gestion de seuils très précis et délicats à positionner. Il est difficile de la mettre en œuvre à elle seule et de
s'assurer de l'absence de faux positifs (fausses alarmes) et de faux négatifs (attaques non détectées). La difficulté principale réside dans la gestion des pertes de paquets, par exemple lors d'une transmission à longue distance. En effet, certains paquets sont alors perdus, ce qui entraîne des problèmes de faux positifs car les numéros de séquence varient fortement d'un paquet à l'autre. Il est nécessaire de gérer les seuils de détection de manière très fine. C'est la raison pour laquelle il est intéressant de coupler ce type de technique avec une autre afin de cqrré]e_r_(e_s_aiarmes_et.d!.avoir_uπe.confiance-plus-élevée- dans un ensemble de plusieurs techniques plutôt qu'une seule.
L'invention propose une nouvelle technique de détection d'usurpation de point d'accès par utilisation d'informations temporelles contenues dans des trames. Une écoute radio passive permet de récupérer des trames échangées. Des trames spécifiques identifiant des points d'accès sont stockées. Lorsque deux trames provenant d'un même point d'accès sont mémorisées, des informations temporelles présentes dans les trames sont comparées. Si la différence entre les informations temporelles ne correspond pas à une valeur attendue, alors il y a détection d'une usurpation d'adresse et éventuellement déclenchement d'une alarme signalant l'usurpation d'adresse de point d'accès. Les trames sont des paquets de données dont la structure et le contenu sont définis dans le standard de communication utilisé.
Selon un premier aspect, l'invention propose un procédé de détection d'usurpation d'adresse dans un réseau sans fil. Le procédé comprend les étapes d'obtention de trames comprenant une adresse d'un dispositif ayant émis la trame et une étiquette temporelle représentative de l'instant d'émission de la trame par ledit dispositif; d'analyse des étiquettes temporelles comprises dans les trames ayant une même adresse de dispositif d'émission; et de détection d'une usurpation de ladite adresse en fonction de l'analyse desdites étiquettes temporelles.
Selon un deuxième aspect, l'invention propose un programme d'ordinateur sur un support de données et chargeable dans la mémoire interne d'un ordinateur associé à une interface sans fil, le programme comprenant des portions de code pour l'exécution des étapes du procédé lorsque le programme
- A -
est exécuté sur ledit ordinateur. Le support de données peut être un support matériel de stockage, par exemple un CDROM, une disquette magnétique, un disque dur, un circuit de mémoire, ou bien un support transmissible tel qu'un signal électrique, optique ou radio.
Selon un autre aspect, l'invention propose un dispositif de détection d'une usurpation d'adresse dans un réseau sans fil. Le dispositif de détection comprend des moyens d'obtention de trames, lesdites trames comprenant une adresse dAun - dispositif' ayant émis lâ~ Trame' et ~ùnë "étiquette temporelle représentative de l'instant d'émission de la trame par le dispositif; et des moyens d'analyse des d'étiquettes temporelles comprises dans les trames ayant une même adresse de dispositif d'émission, lesdits moyens d'analyse étant aptes à détecter une usurpation de ladite adresse en fonction de l'analyse desdites étiquettes temporelles.
Selon un aspect plus général, l'invention propose un système de surveillance pour un réseau sans fil, comprenant des moyens pour capter un ensemble de trames et un dispositif détection tel que précédemment défini.
Selon un mode de réalisation particulier, les trames comportent en outre une information d'intervalle temporel séparant l'envoi de deux trames successives par le dispositif d'émission. L'analyse des étiquettes temporelles de deux trames correspondant à une même adresse de dispositif d'émission comporte les étapes de calcul d'une différence entre les étiquettes temporelles des deux trames, de comparaison de la différence calculée avec l'intervalle temporel, et de détection de l'usurpation de l'adresse de l'émetteur lorsque la différence calculée n'est pas égale à un multiple de l'intervalle temporel. Préférentiellement, le multiple est inférieur à un entier prédéfini.
Selon un autre mode de réalisation particulier, les trames comportent en outre une adresse de destination. L'analyse des étiquettes temporelles de deux trames correspondant à une même adresse de dispositif d'émission et ayant une même adresse de destination comporte les étapes de calcul d'une différence entre les étiquettes temporelles des deux trames, de comparaison de la différence calculée avec un seuil, et de détection de l'usurpation de
l'adresse de l'émetteur lorsque la différence calculée est supérieure ou égale audit seuil.
Selon un mode préféré, on détecte une usurpation d'adresse si la différence entre les étiquettes temporelles des deux trames est nulle. .
L'invention sera mieux comprise et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels ; ;...
la figure 1 représente un dispositif de détection d'usurpation de point d'accès selon l'invention,
la figure 2 représente un exemple d'organigramme de fonctionnement du dispositif de la figure 1 ,
la figure 3 représente un exemple de mise en œuvre d'un dispositif de détection au sein d'un réseau sans fil.
Dans un premier temps, nécessaire à la compréhension de l'invention, il convient de détailler le procédé d'association d'un client à un point d'accès selon le standard IEEE802.11, l'association correspondant à la connexion d'un client au réseau par liaison radio. L'association se déroule en plusieurs phases :
- tout d'abord, un dispositif client doit identifier au moins un point d'accès ; - un point d'accès convenant au dispositif client, si plusieurs points d'accès sont disponibles le client choisit celui qui lui paraît le mieux adapté selon différents critères de choix, le client demande à s'authentifier auprès du point d'accès ;
- si l'authentification a réussi, alors le client demande à s'associer auprès du point d'accès.
Une attaque par usurpation de point d'accès se déroule dès la phase d'identification du point d'accès avant la demande d'authentification. Cette phase d'identification, peut se faire selon deux techniques.
Une première technique est réalisée de manière passive par le
dispositif client. Le dispositif client écoute un ou plusieurs canaux radio, de manière successive ou simultanée, pour rechercher des trames ayant des trames spécifiques dites de balise, le standard IEEE802.11 les nomme Trame BEACON. Les trames BEACON sont envoyées régulièrement par un point d'accès et contiennent différentes informations parmi lesquelles: un identifiant du réseau (SSID), l'adresse MAC du point d'accès, et des paramètres de communication utilisables par le point d'accès. A partir de ces informations, le client. dispose _desjnfQrmatioJis_permettant d'amorcer une communication avec le point d'accès et éventuellement de choisir le point d'accès le plus approprié pour communiquer si plusieurs points d'accès sont détectés.
Une deuxième technique est réalisée de manière active par le dispositif client, c'est notamment le cas lorsque les points d'accès fonctionnent en mode "caché". Le client envoie une trame de recherche de points d'accès, nommée trame PROBE REQUEST dans le standard IEEE802.11. Les trames PROBE REQUEST contiennent, entre autres, l'identifiant du réseau (SSID) recherché et l'adresse MAC du dispositif client. Un point d'accès correspondant au réseau demandé qui reçoit une trame PROBE REQUEST répond par l'envoi d'une trame PROBE RESPONSE qui comporte des informations parmi lesquelles : un identifiant du réseau (SSID), l'adresse MAC du point d'accès, l'adresse MAC du dispositif client, et des paramètres de communication utilisables par le point d'accès.
Lors de l'utilisation d'un point d'accès illégitime sur la voie radio, l'attaquant utilise généralement une technique d'usurpation complété du point d'accès : même nom de réseau (SSID), même adresse MAC. Mais il n'utilise généralement pas le même canal radio pour des questions d'interférences radio.
Pour détecter une attaque, l'invention se base sur un paramètre présent dans les trames BEACON et les trames PROBE RESPONSE1 à savoir une étiquette temporelle (appelée TIMESTAMP dans la norme). Celle-ci est obligatoire pour ces deux types de trames, elle est codée sur 64 bits et est exprimée en microsecondes, ce qui permet de représenter 264 microsecondes (environ 585000 années). L'étiquette temporelle d'une trame comprend une
information temporelle relative à l'émission de cette trame, constituée ici de la valeur d'une horloge du point d'accès ayant émis la trame à l'instant d'émission de cette trame. L'horloge est généralement mise à zéro lors du démarrage du point d'accès. L'étiquette temporelle est générée par le programme pilote de la carte radio 802.11 à l'instant d'émission de la trame. Il est donc possible grâce à cette étiquette de connaître depuis combien de temps le point d'accès a été démarré.
~~ L'invention repose donc "sûr la détection d'une différence entre les étiquettes temporelles générées par deux points d'accès : l'un légitime, et l'autre illégitime. En effet, si deux points d'accès communiquent deux étiquettes temporelles différentes au même moment alors qu'ils ont la même adresse MAC, il est alors possible de les distinguer, et donc d'affirmer qu'un attaquant est en train d'usurper l'adresse MAC d'un point d'accès légitime. Ceci est valable pour les trames BEACON et les trames PROBE RESPONSE.
Dans un mode de réalisation préféré, les deux types d'attaques sont détectés simultanément. Mais, il est possible de traiter séparément la détection de ces deux types d'attaques.
Pour la détection d'attaques utilisant des trames BEACON, il convient de noter que les trames BEACON sont régulièrement émises par un point d'accès. Chaque trame BEACON dispose d'une étiquette temporelle qui est incrémentée de la durée séparant l'envoi de deux trames. Or le temps séparant deux trames BEACON correspond à un intervalle de temps fixe qui est indiqué par une information d'intervalle (appelée BEACON INTERVAL dans le standard IEEE802.11) qui est présente dans la trame. Ainsi lorsque l'on reçoit deux trames BEACON, il convient de vérifier que l'étiquette temporelle est bien incrémentée d'une durée correspondant à l'information d'intervalle. Par ailleurs, il est possible que certaines trames soient perdues pour diverses raisons. Pour éviter de fausses alarmes dues à une perte de trame, il est possible de se contenter de vérifier que la différence temporelle entre deux trames est égale à un multiple non nul de l'information d'intervalle. Si deux trames sont reçues avec une même étiquette temporelle, autrement dit si la différence temporelle entre les deux trames est nulle, il est clair que la trame a été émise deux fois
par un point d'accès légitime et un point d'accès illégitime.
Une façon de procéder pour repérer ce type d'attaque est la suivante :
a) Ecoute de la voie radio de manière passive. Cette écoute peut se faire sur tous les canaux de la bande de fréquence utilisée selon le standard IEEE802.11 ou sur un seul canal à la fois en effectuant des sauts de canal de manière régulière. Dans le cas de sauts de canal, il est évident que de nombreuses trames seront perdus mais comme les trames . BEACON . sont émises de manière répétitive, il est clair que l'on pourra recevoir deux trames dans le cas d'une attaque et que l'on pourra comparer les étiquettes temporelles pour vérifier leur conformité.
b) Stockage des trames correspondant à des trames BEACON reçues dans un tableau d'une mémoire pendant une durée donnée. Il n'est pas nécessaire de stocker les trames de manière indéfinie car plusieurs trames provenant d'un point d'accès légitime apportent la même information. Et si un point d'accès n'envoie plus de trame pendant une certaine durée, c'est parce qu'il n'est plus en fonctionnement. Il convient d'utiliser une fenêtre temporelle glissante d'étude qui soit suffisamment importante pour permettre un balayage de tous les canaux si l'on écoute un seul canal à la fois, et suffisamment importante pour s'affranchir d'éventuelles pertes de trames à cause de la qualité de transmission mais suffisamment courte pour ne pas avoir à utiliser inutilement de l'espace mémoire. A titre d'exemple une durée donnée maximale de 10 secondes peut convenir.
c) A réception d'une trame BEACON, et après avoir stocké la trame dans le tableau, on recherche dans le tableau une trame BEACON précédente ayant une même adresse MAC de point d'accès, c'est-à-dire une même adresse d'émetteur.
d) Lorsqu'une trame BEACON envoyée par le même point d'accès a été trouvée, on compare l'étiquette temporelle de la trame qui vient d'être reçue avec l'étiquette temporelle de la trame précédente, et on calcule la différence entre les deux étiquettes temporelles :
- Si la valeur de la différence entre les étiquettes temporelles est différente d'un multiple de l'information d'intervalle, alors les trames actuelles et précédentes ont été émises par deux équipements différents : détection du point d'accès illégitime. Ou si la valeur de la différence entre les étiquettes temporelles est égale à zéro, alors la même trame a été émise deux fois, ce qui est un signe d'une attaque active d'un point d'accès illégitime qui a synchronisé son étiquette temporelle avec celle du point d'accès, légitime,- mais le faux point d'accès est quand même -détecté. Il convient alors d'émettre une alarme et d'effacer les deux trames concernées du tableau pour réinitialiser la détection.
- Si, par contre la valeur retournée est égale à un multiple non nul de l'information d'intervalle, alors la trame est bien valide et envoyée par un équipement dont l'adresse MAC n'a pas été usurpée. On peut effacer la trame précédente du tableau et ne garder que la dernière trame reçue.
e) on recommence à l'étape a).
Le procédé décrit précédemment peut être amélioré en considérant un seuil de détection supplémentaire. Comme on l'a vu précédemment, un point d'accès illégitime peut se synchroniser avec le point d'accès légitime. La détection se fait alors sur la répétition d'une étiquette temporelle. Toutefois, il est possible qu'un point d'accès illégitime anticipe cette détection en fournissant une étiquette temporelle qui utilise une étiquette temporelle très éloignée de l'étiquette temporelle du point d'accès légitime tout en conservant une différence d'étiquette qui soit un multiple de l'information d'intervalle. A cet effet, on ajoute une comparaison avec un seuil de différence maximale qui est égal à la fenêtre temporelle glissante d'étude. Le seuil est ajouté simplement en considérant que le multiple de l'information intervalle doit être inférieur à un entier prédéfini correspondant à la fenêtre temporelle glissante d'étude divisée par l'information d'intervalle. Dans ce cas là, il convient de conserver toutes les trames mémorisées qui sont reçues pendant une durée correspondant à la fenêtre temporelle glissante d'étude.
Pour la détection d'attaques utilisant des trames PROBE RESPONSE,
il convient de noter que ces messages sont des messages ponctuels émis en réponse à une trame PROBE REQUEST émis par un dispositif client. Ce mécanisme est mis en œuvre lorsque les points d'accès fonctionnent en mode "caché". Normalement, à une trame PROBE REQUEST correspond une unique trame PROBE RESPONSE. Toutefois, il est possible que la trame PROBE RESPONSE ne soit pas correctement reçu par le dispositif client et que celui-ci réitère sa demande et qu'un même point d'accès émette quelques trames PROBE RESPONSE à destination d'un même dispositif client. Ces messages sont peu nombreux et relativement rapprochés dans le temps car ils correspondent aux répétitions de trames PROBE REQUEST qui sont par exemple émis toutes les 100 ms par le dispositif client en l'absence de réponse.
Afin de couvrir le cas où plusieurs trames PROBE RESPONSE sont envoyées, il convient de comparer les étiquettes temporelles de deux trames PROBE RESPONSE. Deux cas peuvent survenir en cas d'attaque. Dans un premier cas, l'étiquette temporelle de trame PROBE RESPONSE du point d'accès illégitime correspond à la durée depuis son initialisation. La probabilité que cette étiquette temporelle soit proche de celle du point d'accès légitime est relativement faible ainsi, on peut considérer que si deux étiquettes temporelles sont trop éloignées dans le temps, par exemple d'une durée supérieure à quelques secondes, il ne peut s'agir d'un même point d'accès. Dans un deuxième cas, pour s'affranchir de l'étiquette temporelle, le point d'accès illégitime pourrait utiliser la même étiquette temporelle qu'une trame PROBE RESPONSE. Dans ce deuxième cas, la détection de deux trames PROBE RESPONSE ayant la même étiquette temporelle signifie que les deux trames ne proviennent pas d'un unique point d'accès.
On pourrait considérer un troisième cas où le point d'accès illégitime se synchroniserait avec le point d'accès légitime afin de fournir des messages temporels cohérents. Toutefois, si l'on considère le temps nécessaire pour synchroniser le point d'accès illégitime avec le point d'accès légitime, il est peu probable qu'une telle synchronisation puisse être réalisée avec succès car il y a peu de messages envoyés sur une durée assez brève.
Une façon de procéder pour repérer ce type d'attaques est la suivante :
a) Ecoute de la voie radio de manière passive. Cette écoute se fait préférentiellement sur tous les canaux de la bande de fréquence utilisée selon le standard IEEE802.11 afin d'éviter toute perte de trame.
b) Stockage des trames correspondant à des trames PROBE
RESPONSE dans un tableau d'une mémoire pendant une durée donnée. Il n'est pas nécessaire de stocker les trames de manjère indéfinie car ces trames., sont de nature ponctuelle. Il convient d'utiliser une fenêtre temporelle glissante d'étude qui soit suffisamment importante pour être sûr qu'aucune trame PROBE RESPONSE puisse être prise en compte après une première trame mais suffisamment courte pour ne pas avoir à utiliser inutilement de l'espace mémoire. A titre d'exemple une durée donnée maximale de 10 secondes peut convenir.
c) A réception d'une trame PROBE RESPONSE, et après avoir stocké sa trame dans le tableau, on recherche dans le tableau une trame correspondant à une trame PROBE RESPONSE précédente ayant une même adresse MAC de point d'accès, c'est-à-dire une même adresse d'émetteur, et une même adresse MAC de dispositif utilisateur, c'est-à-dire une même adresse de destination.
d) Lorsqu'une trame PROBE RESPONSE envoyée par le même point d'accès et à destination d'un même dispositif utilisateur a été trouvé, on compare l'étiquette temporelle de la trame qui vient d'être reçue avec l'étiquette temporelle de la trame précédente, et on calcule la différence entre les deux étiquettes temporelles : - Si la valeur de la différence en valeur absolue entre les étiquettes temporelles est supérieure à un seuil de quelques secondes, alors les trames actuelles et précédentes ont été émises par deux équipements différents : détection du point d'accès illégitime. Ou si la valeur de la différence entre les étiquettes temporelles est égale à zéro, alors la même trame a été émise deux fois, ce qui est un signe d'une attaque active d'un point d'accès illégitime. Il convient alors d'émettre une alarme
θt d'effacer les deux trames concernées du tableau pour réinitialiser la détection.
- Si, par contre, la valeur de différence est inférieure au seuil et non nulle, alors la trame est bien valide et envoyée par un équipement dont l'adresse MAC n'a pas été usurpée. On peut effacer la trame précédente du tableau et ne garder que la dernière trame reçue.
e) on recommence à l'étape a).
La mise en œuvre de la détection de point d'accès illégitime peut se faire à l'aide d'un ordinateur muni d'une interface radio conforme avec l'une des couches physiques du standard IEEE802.11 utilisant une liaison radio. Des couches physiques radio sont notamment définies par les standards IEEE802.Ha, IEEE802.11b ou encore IEEE802.11g. La figure 1 décrit un dispositif de détection comprenant un ordinateur 1 relié à une pluralité d'interfaces radio 2.
L'ordinateur 1 est par exemple un ordinateur standard qui comporte une unité centrale 10 reliée à un bus central 11. Une mémoire 12 qui peut comporter plusieurs circuits de mémoire est reliée au bus 11 pour coopérer avec l'unité centrale 10, la mémoire 12 servant à la fois de mémoire de données et de mémoire de programme. Des zones 13 et 14 sont prévues pour la mémorisation des trames BEACON et des trames PROBE RESPONSE. Une interface vidéo 15 est reliée au bus 11 afin de pouvoir afficher des messages pour un opérateur. Dans notre exemple, l'écran n'est pas représenté car celui- ci n'est pas nécessaire. Cependant, selon une variante de réalisation, il est possible d'utiliser l'écran pour afficher des alarmes à un opérateur lorsqu'un point d'accès illégitime est détecté.
Un circuit de gestion des périphériques 16 est relié au bus 11 pour réaliser la liaison avec différents périphériques selon une technique connue. Parmi les périphériques qui pourraient être reliés au circuit de gestion de périphérique, seul les principaux sont représentés : une interface réseau 17 qui permet de communiquer avec un réseau filaire non représenté, un disque dur 18 servant de mémoire morte principale pour les programmes et données, un
lecteur de disquette 19, un lecteur de CDROM 20, un clavier 21 , une souris 22 et un port standard d'interface 23. Le lecteur de disquette 19, le lecteur de CDROM 20, le clavier 21 et la souris 22 sont amovibles, ils peuvent être supprimés après installation d'un logiciel de détection d'usurpation de point d'accès dans le disque dur 18. Le disque dur 18 peut être remplacé par un autre type de mémoire morte équivalent, tel que par exemple une mémoire de type Flash. Le port d'interface standard 23 est un port compatible avec un standard de communication entre l'ordinateur et des. interfaces externes. Dans notre exemple, le port d'interface 23 est par exemple un port au standard PCMCIA ou un port au standard USB.
Dans l'exemple préféré, au moins une interface radio 2 est connectée au port d'interface 23, mais selon différentes variantes, il est possible d'utiliser plusieurs interfaces radio 2. Classiquement, les interfaces radio compatibles avec le standard IEEE802.11 disposent de moyens radio ne permettant que d'écouter simultanément un nombre réduit de canaux radio.
Si l'on désire écouter la totalité de la bande de communication, il convient de disposer d'un nombre suffisant d'interfaces pour écouter la totalité des canaux de la bande. Lors de la mise en service d'un programme de détection d'usurpation de point d'accès radio, la ou les interfaces sont configurées pour écouter tout le trafic radio sur chaque canal écouté.
Si l'on se contente d'une écoute réduite, par exemple si on se limite aux attaques basées uniquement sur les trames BEACON, une seule interface suffit. Lors de la mise en service d'un programme de détection, cette interface sera configurée pour écouter tous les messages échangés sur un canal, et le programme changera régulièrement de canal pour écouter de manière séquentielle tous les canaux.
La figure 2 illustre un organigramme de fonctionnement d'un programme mettant en œuvre la détection d'usurpation de point d'accès. Dans cet exemple préféré, on effectue la détection des deux types de trames avec une écoute globale de toute la bande de communication radio.
Le programme commence par une étape 100, au cours de laquelle les
interfaces radio 2 sont configurées en écoute globale pour recevoir et décoder toutes les trames véhiculées par radio sur les canaux écoutés. Au cours de cette étape 100, les interfaces radio sont positionnées sur des canaux afin de couvrir la totalité des canaux utilisables par un réseau sans fil dans un espace donné. Le dispositif de détection se trouve ensuite dans une étape d'écoute 101.
L'étape d'écoute 101 est une étape d'attente pour toutes les interfaces radio 2. Si une TnΛën^cë raâio ήë rëçόït aucune trame, ceîie-ci reste à l'écoute. Si une interface radio 2 reçoit une trame, alors elle le décode et transmet la trame à l'unité centrale 10. Le test 102 illustre ce changement d'état pour une interface radio 2. Il est à noter que plusieurs interfaces peuvent recevoir des trames en même temps et que des trames peuvent être retardées dans le traitement au niveau du gestionnaire d'interfaces qui sert de tampon entre les interfaces radio 2 et l'unité centrale 10. Ce type de mise en attente dépend du système d'exploitation de l'ordinateur et ne sera pas décrit.
A réception d'une trame, l'unité centrale identifie, au cours du test 103, s'il s'agit d'une trame BEACON ou d'une trame PROBE REQUEST. S'il ne s'agit pas d'une trame BEACON ou PROBE REQUEST, alors l'opération s'arrête là et le dispositif revient à l'étape d'écoute 101. S'il s'agit d'une trame BEACON ou PROBE REQUEST, la trame est alors stockée dans la mémoire 12 au cours d'une étape de stockage 104.
Durant l'étape de stockage 104, les trames BEACON sont stockées dans un premier tableau correspondant à la zone mémoire 13, et les trames PROBE REQUEST sont stockées dans un deuxième tableau correspondant à la zone mémoire 14. Au cours de cette étape de stockage, les tableaux sont épurés afin d'effacer les trames mémorisées qui seraient trop anciennes afin d'éviter un stockage inutile de données. Les trames considérées trop anciennes sont celles qui ont été stockées pendant une durée supérieure à la fenêtre temporelle d'étude. Puis on effectue une étape de comparaison 105.
L'étape de comparaison 105 consiste à comparer la dernière trame mémorisée avec la totalité des trames présentes dans le tableau où elle a été
mémorisée. Ainsi pour les trames BEACON, on recherche dans le tableau toutes les trames BEACON précédentes ayant une même adresse MAC d'émetteur, puis, pour les trames identifiées, on vérifie la conformité des étiquettes temporelles, comme indiqué précédemment. Pour les trames PROBE RESPONSE, on recherche dans le tableau toutes les trames correspondant à de précédentes trames PROBE RESPONSE ayant une même adresse MAC d'émetteur et une même adresse MAC de destination, pour les trames- identifiées, on vérifie la-conformité des-étiquettes temporelles. comme . indiqué précédemment. En fin de comparaison, on effectue le test 106.
Le test 106 clôture le traitement effectué sur la trame, si l'étiquette temporelle est conforme avec l'étiquette temporelle de chaque trame ayant fait l'objet de la comparaison, alors l'unité centrale revient à l'étape d'écoute 101. Si la différence n'est pas conforme à une différence attendue comme précédemment définie, alors on effectue une étape d'alarme 107.
L'étape d'alarme 107 consiste à notifier une alarme indiquant qu'un point d'accès est en train de faire l'objet d'une attaque par usurpation d'adresse. La notification de l'alarme se fait préférentiellement par l'envoi d'un message électronique, via l'interface de réseau 17, à un serveur de réseau qui contrôle les points d'accès radio. Si le dispositif de détection est relié à un écran de contrôle, il est également possible d'afficher l'alarme sur l'écran de contrôle. Puis comme indiqué précédemment, les trames mémorisées faisant l'objet de l'alarme sont effacées du tableau où elles étaient mémorisées et on retourne à l'étape d'écoute 101.
La figure 3 représente un réseau sans fil disposé dans une salle 200 de grande dimension. Un serveur 201 supervise un réseau filaire 202. Des points d'accès 203 à 208 sont reliés au réseau filaire 202 et servent de passerelles entre le réseau sans fil et le réseau filaire. Les points d'accès 203 à 208 sont disposés dans la salle 200 à différent endroits afin d'obtenir un bonne couverture radio.
Un point d'accès fonctionnant, par exemple, dans la gamme de fréquence située à 5 GHz peut couvrir quelques centaines de m2. Par ailleurs,
les signaux à 5 GHZ traversent peu les obstacles telles que des cloisons et la couverture d'un point d'accès peut être réduite à quelques dizaines de m2. Pour couvrir une salle de correspondance d'aéroport ou un plateau de bureaux, plusieurs points d'accès sont nécessaires.
Dans l'exemple de la figure 3, on a considéré que les conditions de transmission étaient idéales pour représenter respectivement les zones de couverture 213 à 218 des points d'accès 203 à 208.
Afin de s'assurer, qu'aucune attaque par usurpation d'adresse de point d'accès n'ait lieu, il convient de placer des dispositifs de détection 221 et 222. Chaque dispositif de détection 221 ou 222 correspond, par exemple au dispositif représenté sur la figure 1 et met en œuvre un programme correspondant à l'organigramme de la figure 2.
Les dispositifs de détection 221 et 222 sont reliés au réseau 202 et disposent chacun d'une couverture radio 231 et 232 représentée en traits discontinus. Normalement, les dispositifs de détection sont également placés pour assurer une couverture radio sur la totalité de la salle 200. Toutefois, il est possible que des régions de la salle 200 ne soient pas physiquement accessibles à un dispositif cherchant à s'introduire dans le réseau et donc il n'est pas nécessaire de les couvrir. De même, une zone qui ne serait pas couverte par au moins l'un des points d'accès peut ne pas être contrôlée car l'intrus doit forcément être dans une zone couverte par un point d'accès pour recevoir des trames du point d'accès légitime.
Le placement des dispositifs de détection est soumis aux mêmes contraintes de couverture radio que les points d'accès. Cependant, les points d'accès doivent également assurer un certain débit de données qui peut imposer de nombreux recoupements de leurs couvertures. Les dispositifs ne sont pas soumis à ce problème de débit minimum à assurer et peuvent donc être moins nombreux que les points d'accès. Les dispositifs de détection ayant des zones communes de couverture fournissent en outre deux alarmes au lieu d'une si un intrus est placé dans une zone commune, ce qui fiabilise la détection.