Etude des attaques de types dos dans les manets

Introduction

D’une manière générale, nous parlons de déni de service quand une personne ou une organisation est privée d’un service utilisant des ressources qu’elle est en droit d’avoir en temps normal. Nous trouvons par exemple des dénis de service touchant le service de courrier électronique, d’accès à Internet, de ressources partagées (pages Web), ou tout autre service à caractère commercial comme Yahoo.
Dans ce chapitre nous présentons les attaques de type Déni de service dans les MANETs et les différentes solutions proposées pour contrer ces attaques afin de pouvoir apporter une proposition à certaines de leur insuffisance.
Une « attaque par déni de service » (en anglais « Denial of Service », abrégé en DoS) est un type d’attaque visant à rendre inaccessible pendant un temps indéterminé les services ou ressources d’une organisation, d’un système ou d’un réseau [38]. Nous distinguons habituellement deux types de dénis de service :
· Les dénis de service par saturation, consistant à submerger une machine de requêtes, afin qu’elle ne soit plus capable de répondre aux requêtes réelles ;
· Les dénis de service par exploitation de vulnérabilités, consistant à exploiter une faille du système distant afin de le rendre inutilisable.
Les réseaux ad hoc sont des réseaux sans fil, mobile, il n’y a pas d’infrastructure fixe dédiée, donc les noeuds doivent coopérer pour l’expédition des messages. Ceci rend le routage vulnérable aux attaques qui peuvent conduire à un déni de services, car n’importe lequel des noeuds peut mal se conduire et faire effondrer le routage. Du fait de la mobilité il est souvent très difficile de déceler et d’isoler le noeud malicieux.

Dénis de service par exploitation de vulnérabilités

Un noeud malveillant pourrait annoncer une métrique (saut) zéro ou annoncer des liens inexistants pour tous noeuds destinataires, ceci ferait que tous les autres noeuds expédient des paquets pour tous ces destinataires en passant par le noeud attaquant. Ce dernier pourra ensuite laisser tomber les paquets, perturbant ainsi le routage dans le réseau. Ces types d’attaques s’appellent attaques par noeud caché.

Blackhole attack (attaque par trou noir)

Une attaque plus passive est de laisser tomber certains messages de routage que le noeud reçoit. La chute des paquets pourrait être faite de manière que les soupçons au sujet d’un noeud attaquant ne sont pas augmentés [02, 16, 17, 20, 22]. Elle s’est déclinée en plusieurs variantes plus ou moins proches, ayant des objectifs différents, parmi lesquelles nous pouvons citer :
routing loup (boucle de routage), qui permet à un noeud de créer des boucles dans le réseau ;
gray hole (trou gris), qui ne laisse passer que les paquets de routage et détourne les données ;
Black mail (courrier noir), qui permet à un noeud attaquant d’isoler un autre noeud avec l’envoi de faux messages comme Route Error (Route Erreur).
Par exemple ces attaques précitées peuvent être mises en oeuvre dans le cas des protocoles de routage réactif c’est-à-dire routage à la demande (AODV, DSR), un noeud diffuse un paquet de découverte de route « route Request ». Si l’opération réussit, il reçoit un paquet de réponse de route « route Replay » qui liste l’ensemble des noeuds à travers lesquels le destinataire peut être atteint. Puisque dans le routage nous cherchons à trouver le chemin optimal, celui annoncé par le noeud malicieux est supposé le plus optimal du point de vue métrique (nombre de sauts). Ainsi la source enregistre cette route qui contient l’attaquant et supprime tous les autres chemins provenant des noeuds légitimes.
Lors de la maintenance des routes, ce noeud malicieux pourra envoyer un message d’erreur « route Error » annonçant la détection d’un problème fatal au niveau d’un noeud légitime et ce noeud sera supprimé du chemin (mis dans la liste noire). Tous les noeuds qui contiennent ce noeud seront tronqués à ce point là, et nous lançons une nouvelle opération de découverte de route vers le destinataire, et ainsi de suite. Ceci pourrait engendrer des boucles dans le réseau et des déconnexions temporaires si les messages de contrôle de topologie « TCs » ne sont pas relayés dans le cas du protocole proactif OLSR. La figure 4.1 illustre une attaque Blackhole.
Plusieurs solutions existent pour contrer ces types d’attaques, parmi lesquelles nous pouvons citer le Watchdog ou surveillance (chien de garde), le Pathrater ou évaluateur de parcours, la DRI ou la table de données d’information de routage et le Cross checking : Watchdog (chien de garde ou l’observateur) permet d’identifier les noeuds malicieux.
Quand un noeud expédie un paquet, le Watchdog vérifie si le voisin sur le chemin expédie également le paquet. Ceci est fait en écoutant les transmissions de tous les voisins. Le Watchdog assigne alors des valeurs positives à un noeud qui expédie des paquets avec succès et une valeur négative après qu’un niveau seuil de mauvais comportement ait été observé.
L’observateur d’un noeud maintient des copies des paquets récemment expédiés et les compare aux paquets en transmission chargés par les noeuds voisins. Les comparaisons de résultats positifs ont comme conséquence la suppression de paquets stockés. Si un noeud suppose que l’expédition du paquet a échoué et aucune réaction n’est faite au cours d’une certaine période de temps d’expiration, l’observateur d’un noeud incrémente le taux d’échec pour le noeud spécifique. Ceci signifie pertinemment que chaque noeud dans le réseau ad hoc maintient un taux évaluant la fiabilité de chaque autre noeud auquel il peut transmettre ses paquets c’est-à-dire des noeuds voisins. Un noeud est considéré comme malicieux quand le taux d’échec excède un certain seuil prédéfini. Le noeud source de la route qui contient le noeud malicieux est avisé par un envoi de message venant de la part de l’observateur identifié. Ce mécanisme est implémenté dans SWAN (Secure Watchdog for mobile Ad hoc Network) [23]. Dans SWAN, chacun des noeuds doit posséder une adresse temporaire basée sur une chaîne de hachage. Ceci permet de garantir l’authentification des messages de contrôle et des données auprès des noeuds observants (dans le mécanisme du Watchdog). La figure 4.2 décrit le mécanisme du Watchdog.
Pathrater (évaluateur de parcours) permet au protocole d’éviter les noeuds corrompus inscris dans une liste noire. Pathrater emploie cette connaissance des noeuds se conduisant mal pour choisir le chemin d’accès dans le réseau qui est le plus susceptible de livrer des paquets. La décision est prise en faisant la moyenne des estimations de fiabilité obtenues par le Watchdog à partir des valeurs assignées sur les expéditions des paquets des noeuds qui participent à l’élaboration de la route. La métrique de cette route permet au Pathrater de comparer la fiabilité des routes disponibles. Le Pathrater choisit la route avec la plus haute métrique quand il y a des routes multiples pour le même noeud destinataire.
L’algorithme suivi par le mécanisme de Pathrater est le suivant : le Pathrater assigne initialement un taux de 1.0 à lui-même et de 0.5 à chaque noeud qu’il connaît par la fonction de découverte de route. Les noeuds qui participent sur les routes actives ont leurs taux de fiabilité augmentés de 0.01 à intervalles périodiques de 200 millisecondes jusqu’à un taux maximal de 0.8. Un taux est décrémenté de 0.05 quand une rupture de lien est détectée pendant le processus d’expédition de paquets jusqu’à un minimum de 0.0. Un taux de -100 est assigné par l’observateur aux noeuds qui ont été identifiés comme noeuds qui se conduisent mal. Quand le Pathrater calcule une valeur de la route comme négative, celle-ci signifie que la route spécifique à un noeud comporte un noeud se conduisant mal [23]. Cette solution permet aux noeuds d’expédier les messages même s’ils ont malicieux pour éviter la liste noire.
Ces deux mécanismes, Watchdog et Pathrater, présentent des insuffisances. Ils ne sont pas totalement sécurisés car un attaquant peut les détourner. En effet un noeud attaquant pourrait faire de sorte qu’un noeud valide soit ajouté à la liste noire, isolant le noeud du réseau. Il peut lui affecter une valeur négative et avertir ses voisins du mauvais comportement par un noeud victime d’attaque. Deux noeuds malicieux peuvent coopérer, le premier noeud envoie le message tel quel au deuxième noeud qui pourra le supprimer. Dans ce cas la source considère le premier noeud comme légitime alors que ce dernier est un noeud attaquant que l’on devait mettre dans la liste noire. Il y a aussi un problème de stockage et d’énergie car les noeuds doivent rester sans veille pour surveiller la transmission afin de faire une étude comparative sur les paquets stockés.
Data routing information table (table d’information de données de routage) : la solution pour identifier des noeuds de trou noir (Blackhole) multiples agissant dans la coopération consiste à ajouter deux bits d’information supplémentaires. Ces bits ont pour valeurs 0 pour « FAUX» et 1 pour « VRAI » pour les intermédiaires noeuds répondant au RREQ du noeud source. Chaque noeud met à jour une table supplémentaire d’information de données de routage (DRI) [03]. La structure de la table peut être représentée comme suit :
Dans la table de DRI, le premier bit noté «de» («From») représente l’information sur le paquet de données de routage du noeud (le noeud d’où provient le paquet) tandis que le deuxième bit « à travers » (« Through ») représente l’information sur le paquet de données de routage par le noeud (le noeud à travers lequel on achemine le paquet). Par exemple l’entrée « 1,0 » pour le noeud A signifie que le noeud B a conduit des paquets de données provenant de A mais n’a conduit aucun paquet de données à travers A. L’entrée « 1,1 » pour le noeud C signifie que le noeud B a conduit des paquets de données provenant de C et des paquets de données à travers C. Cet exemple est représenté dans le tableau 3.
Cross checking : dans cette technique [03] nous comptons sur les noeuds fiables (les noeuds par lesquels le noeud source a routé des données) pour transférer des paquets de données. Dans ce cas, le noeud source (SN) diffuse un message de RREQ pour découvrir un itinéraire vers le noeud destinataire. Le noeud intermédiaire (IN) produisant une RREP doit fournir le saut du prochain noeud (NHN) et son entrée de DRI pour le prochain noeud. Suivant le message de RREP du noeud intermédiaire, le noeud source contrôlera sa propre table de DRI pour voir si le noeud intermédiaire est un noeud fiable. Si le noeud source a utilisé IN avant la nouvelle découverte de route pour router des données, alors IN est un noeud fiable et le noeud source commence à router des données vers IN. Les auteurs nous proposent de l’implémenter sous AODV (Ad hoc On-demand Distance Vector) [03].
Dans ces deux cas les noeuds seront obligés d’avoir un bon comportement lors de l’acheminement des paquets pour ne pas être considérés comme non fiables.

LIRE AUSSI :  POO généralités structure d'une classe

Formation et coursTélécharger le document complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *