Etude des attaques de type DoS dans les réseaux mobiles ad hoc

Wormhole attack (attaque par trouver)

Si un noeud malveillant X est dans la zone de communication de deux noeuds qui ne sont pas eux-mêmes dans une même zone commune, X pourrait simplement expédier les messages d’un noeud à un autre (agir comme relais). Cette attaque à mettre un tunnel entre deux noeuds, souvent deux attaquants [02, 16, 17, 18, 20, 22]. Le premier noeud transmet des paquets via le tunnel au noeud à l’autre bout du tunnel qui les réinsère corrompus dans le réseau, et les deux noeuds victimes considèrent qu’ils sont dans la même zone de communication. Ensuite le noeud X peut simplement arrêter ces relais de message. Par exemple quand le noeud source initie la découverte de route, la métrique du chemin qui passe par les noeuds attaquants pourra être modifiée, sans y ajouter leur adresse dans l’entête, de telle sorte que les noeuds légitimes seraient dans la même zone de communication c’est-à-dire dans le même voisinage lors de la réception du message. Afin de maintenir la consistance des routes, des messages HELLO sont envoyés périodiquement, et si le noeud source envoie un HELLO message, ce dernier sera expédié jusqu’au noeud destination rapidement à cause de l’utilisation du lien direct crée par les noeuds malicieux. Dans ce cas les noeuds qui sont victimes d’attaques c’est-à-dire qui les noeuds qui sont attaqués considèrent qu’ils auront un chemin fiable lors de la transmission des données.
Pour prévenir les attaques Wormhole certains auteurs ont proposé d’utiliser la notion de paquet de trace ou variante (leash) qui peut être géographique ou temporelle [04, 02] et aussi les antennes directionnelles (Directional antenna).
Une leash est une information ajoutée à un paquet afin de réduire la distance maximale que le paquet est autorisé à traverser. Chaque saut est associé à une trace et une transmission nécessite une nouvelle trace. Le destinataire peut utiliser ces traces (leashes) pour vérifier si le paquet a trop voyagé ou s’il peut supprimer le paquet. Le protocole LAR (Location-Aided Routing) implémente cette solution [25]. LAR utilise les informations de localisation, fournies par le système de positionnement global appelé GPS (Global Positioning System), afin de limiter l’inondation des paquets de requête de route. Le noeud source définit une région circulaire dans laquelle la destination peut être localisée. Le noeud source calcule la distance qui le sépare de la destination, et l’inclut dans le paquet de requête de route. Ce dernier est envoyé par la suite aux noeuds voisins. Quand un noeud reçoit le paquet de requête, il calcule la distance qui lui sépare de la destination, et la compare avec la distance contenue dans le paquet reçu. Dans le cas où la distance calculée est inférieure ou égale à la distance reçue, le noeud envoie le paquet reçu. Nous pouvons classer les leash en deux catégories [04, 02] :
Leash geographical (trace ou variante géographique) : assure que le destinataire du paquet est dans à certaine distance de l’expéditeur. Dans ce cas chaque noeud doit connaître son emplacement propre et tous les noeuds doivent avoir des horloges synchrones. En envoyant un paquet, le noeud émetteur inclut son emplacement propre et le temps pendant lequel le paquet a été envoyé. En recevant le paquet le noeud récepteur utilise ces informations pour vérifier s’il a trop voyagé, et si tel est le cas il sera rejeté.

Rushing attack (attaque par précipitation)

Dans le routage réactif un noeud pourrait parvenir à envoyer des demandes d’itinéraires (RREQs) au destinataire beaucoup plutôt que (plus rapide que) d’autres demandes itinéraires provenant des autres noeuds intermédiaires. Il y a une probabilité de forcer les itinéraires à passer par lui [02, 17,18, 20].
Par exemple lors de la découverte de route, l’attaquant peut effectuer cette attaque en ignorant le délai entre la réception et la diffusion des paquets de découverte de routes « route Request». Ce délai est spécifié par les protocoles de routage pour éviter les collisions de demandes de route. L’adversaire peut aussi ignorer les délais spécifiés par les protocoles pour accéder au canal radio.

The selfish attack (attaque par non coopération)

Nous pouvons identifier deux types de noeuds qui ne souhaitent pas participer au réseau:
les noeuds défectueux/malveillants ;
les noeuds égoïstes.
En ce qui concerne les noeuds défectueux, de part leur défaut, ne fonctionnent pas correctement. Quant à ceux qui malveillants, ce sont ceux qui intentionnellement, essaient d’attaquer le système : atteinte à l’intégrité des données, à la disponibilité des services, à l’authenticité des entités (déni de service, interception de messages, usurpation d’identité, etc.).
Les objectifs de l’attaquant peuvent viser à:
– Nuire au routage et aux appareils ;
– Détourner les communications ;
– Empêcher l’arrivée des messages ;
– Provoquer l’épuisement des batteries.
Les noeuds égoïstes sont des entités économiquement rationnelles dont l’objectif est de maximiser leurs bénéfices. Un tel noeud a deux raisons principales pour refuser de coopérer : une telle opération induit un certain coût; de plus cette transmission peut introduire un délai plus ou moins important dans la transmission de ses propres paquets.
Les buts du noeud égoïste sont :
– économiser sa propre énergie ;
– profiter du routage des autres ;
– ne pas participer à l’élaboration des routes ;
– ne pas transmettre les messages ;
– économiser sa bande passante ;
– économiser sa puissance de calcul.
L’égoïsme d’un noeud est une notion propre aux réseaux ad hoc. Un noeud refusant de jouer son rôle pourrait mettre en péril le réseau dans son ensemble.

CONFIDANT (Cooperation Of Nodes and Fairness In Dynamic Ad-hoc Network)

CONFIDANT-Coopération des noeuds et de l’équitabilité dans le réseau ad hoc dynamique : CONFIDANT [08, 26] vise à détecter et à isoler des noeuds non coopératifs. Chaque noeud dans CONFIDANT contient plusieurs composants qui ont pour rôle de surveiller et d’évaluer le comportement des noeuds voisins (un saut) en écoutant la transmission du noeud voisin.
Chaque noeud surveille (Watchdog) le comportement de son voisin. S’il détecte un comportement inhabituel, il l’enregistre et l’envoie à un système de réputation (Reputation System). Le système de réputation (Pathrater) vérifie si le comportement inhabituel qui s’est produit devient fréquent. Si un certain seuil est atteint, le système de réputation met à jour le taux du noeud qui a causé l’événement. Si ce taux s’avère être intolérable, l’information est transmise au composant de gestionnaire de route (path manager), qui va effacer tous les itinéraires contenant le noeud se conduisant mal dans le cache des routes et avise le composant de gestionnaire de confiance (trust manager) pour qu’il puisse envoyer un message à sa liste de voisins.
Les deux solutions permettent aux noeuds de bien se comporter au futur pour ne pas perdre leur réputation, de rendre la coopération plus intéressante que la non coopération, d’inciter les noeuds à coopérer. Les noeuds malicieux seront obligés d’expédier les messages.
La solution de la réputation présente des insuffisances. Le problème majeur de CORE et CONFIDANT est qu’ils peuvent considérer un noeud égoïste alors qu’il ne l’est pas. Si un attaquant parvient à prendre le contrôle d’un noeud ou ne relaie pas les paquets il peut modifier le champ métrique de certains noeuds avec une adresse valide de ce fait si ces noeuds demandent certains autres pourraient ne pas répondre, ce qui pourrait créer une perturbation dans le réseau. Dans ces deux cas les noeuds ne feront pas la distinction entre les messages utiles et ceux qui ne le sont pas, et seront obligés d’expédier tous les messages qui leur parviennent pour ne pas perdre leur réputation. Ceci pourrait engendrer des pertes en énergie et de plus la surveillance continue des noeuds entraînerait une surcharge réseau provoquant une diminution de la bande passante. Deux noeuds malicieux peuvent coopérer pour avoir une bonne réputation ou bien envoyer un message annonçant le mauvais comportement d’un noeud légitime. Dans CONFIDANT la suppression définitive des noeuds soupçonnés peuvent engendrer des déconnexions fréquentes dans le réseau.
Pour le micro paiement nous notons l’algorithme Nuglet.
Nuglet (monnaie virtuelle) : un module (une autorité centrale) sûr est nécessaire pour assurer le nombre de nuglets qui est retiré ou déposé. Les auteurs proposent deux modèles de paiement pour l’expédition des paquets: le modèle de bourse de paquets (the Packet Purse Model) et le modèle du commerce de paquets (the Packet Trade Model) [08, 09].
Dans le modèle de bourse de paquets la source paie et charge ainsi le paquet avec un certain nombre de nuglets. S’il n’y a plus aucun nuglet pour un noeud intermédiaire, le paquet est supprimé. S’il y a des nuglets laissés dans le paquet une fois qu’il atteint la destination, les nuglets sont détruits.
Dans le modèle du commerce de paquets, le destinataire paie le paquet. Chaque noeud intermédiaire achète un paquet du saut précédent et le vend au prochain avec plus de nuglets pour augmenter son stock afin d’envoyer ses propres messages.
Cette solution permet de décourager l’envoi de messages qui ne sont pas utiles car chaque message a un coût de nuglets, ce qui décharge le réseau, augmentant ainsi la disponibilité de la bande passante.
La solution basée sur le paiement comme les Nuglets a des insuffisances. Par exemple si la source sous-estime ce nombre, alors le paquet sera jeté, et la source détruit son investissement de nuglets en ce paquet, ce qui constitue une grande perte. Par conséquent, la source devrait surestimer le nombre. Le surplus qui demeure dans le paquet quand il arrive à la destination peut être gardé par cette dernière, ou si la destination fournit des services d’information, il peut être utilisé pour payer ses derniers. Les noeuds intermédiaires peuvent nier le service d’expédition après avoir retiré des nuglets d’un paquet. Dans ce modèle il doit avoir une autorité qui se charge de mettre à jour les nuglets et qui doit vérifier le nombre de nuglets que le noeud intermédiaire retire ou dépose ce qui est impossible car dans le cas des MANETs il y a absence d’administration centralisée. Nous pouvons aussi utiliser les antennes.
Les antennes directionnelles : elles sont aussi utilisées pour contrer les attaques Selfish car si un message provient d’une zone qui est différente de la zone soupçonnée d’être le Wormhole, le noeud égoïste pourrait participer sur le mécanisme de collaboration des noeuds dans le réseau.

LIRE AUSSI :  Premier contact avec les réseaux : l’Internet

Tentative de gaspillage de l’énergie (sleep deprivation)

Des noeuds ayant une autonomie de batterie faible ou cherchant à rester autonome (sans recharge) le plus longtemps possible. Ces noeuds se caractérisent par leur propension (tendance naturelle) à passer en mode veille le plus longtemps possible.
L’attaque consiste à faire en sorte que le noeud soit obligé de rester en état d’activité et de lui faire consommer toute son énergie [18, 20]. Cette attaque est référencée par Ross Anderson et Franck Stajamo sous l’appellation Sleep deprivation torture attack, un scénario de torture par privation de sommeil[18, 20].
Les réseaux ad hoc sont caractérisés par des ressources limitées en énergie. La conservation de l’énergie s’avère donc être un facteur primordial pour la durée de vie du réseau. L’énergie consommée par un noeud est fonction de ses activités réseau. Au niveau de la couche liaison de données, les noeuds consomment de l’énergie essentiellement pour assurer leur connectivité réseau. Pour ce faire les noeuds restent à l’écoute du canal et s’échangent des messages de contrôle. Au niveau du routage, la consommation de l’énergie est due à la réception des messages d’opération du routage et au traitement du trafic de contrôle défini par les protocoles responsables.
Pour lutter contre la privation de sommeil nous avons recours à certaines solutions comme la priorité (priority), PARO (contrôle de puissance du routage), PAA (Alternation du contrôle de puissance). Priority (priorité) : pour réduire les effets de cette attaque nous affectons de la priorité entre les fonctions (les applications) du noeud visé, de sorte que les demandes constantes des services de priorité basse ne bloquent pas les demandes prioritaires [11].
Cette solution permet d’assigner une faible priorité à un noeud soupçonné d’être malicieux, de telle sorte que ses requêtes ne seront jamais traitées et ce noeud pourra quitter le réseau libérant ainsi des ressources. Cette solution est intégrée dans 802.11 et HiperLAN.
PARO : Power Aware Routing (contrôle de puissance du routage) [40, 41] est une technique de contrôle de puissance du routage pour les MANETs où tous les noeuds sont situés dans la portée maximale de transmission de l’un de l’autre c’est-à-dire l’énergie dépend de la distance qui sépare la source et la destination. PARO utilise une technique de transmission de paquets où les noeuds immédiats peuvent être élus pour être des réexpéditeurs au nom de la paire source/destination. Les noeuds réexpéditeurs envoient un message de redirection de route (route redirect) aux noeuds source/destination pour leur confirmerl’existence du contrôle de puissance du routage afin de réduire la consommation d’énergie globale dont nous avons besoin pour délivrer des paquets dans le réseau. PARO se base sur le principe d’ajout des noeuds supplémentaires d’expédition (réexpéditeurs) entre les paires source/destination afin de les maximiser pour minimiser la consommation d’énergie lors de la transmission.
Cette solution permet aux noeuds qui ont une autonomie d’énergie faible de gagner plus et aussi les noeuds pourront déterminer leurs voisins de manière sûre.
La solution du contrôle de puissance du routage présente des inconvénients. Elle n’est pas efficace dans le routage basé sur les techniques de diffusion (d’inondation) car il génère beaucoup de paquets signalant la faiblesse de l’alimentation, ou certains noeuds sont incapables de découvrir les itinéraires qui maximisent le nombre de noeuds intermédiaires d’expédition entre les noeuds sources destinations. Le noeud élu peut être attaqué par un noeud malicieux créant nouveaux échanges et nouveaux calculs pour trouver d’autres élus. Il y a une surcharge du réseau ce qui diminue la bande passante disponible.
PAA : Power Aware Alternation (Alternation du contrôle de puissance) [11] se base sur l’élimination de l’activité réseau d’un ensemble de noeuds durant une certaine période afin de conserver leur énergie tout en gardant leur présence dans le réseau par une délégation.
Les noeuds choisissent des noeuds supporteurs avec qui ils vont alterner des périodes d’activité et d’inactivité. Un compromis devra être réalisé afin d‘assurer un certain équilibrage de la consommation d’énergie entre tous les noeuds du réseau tout en limitant le blocage du trafic. Durant les périodes d’inactivité d’un noeud, son ou ses supporteurs récupèrent et stockent les messages en sa destination. L’alternance des périodes d’activité ou d’inactivité s’effectue d’une manière prédéfinie. PAA nécessite une phase d’établissement pour les noeuds du réseau voulant activer PAA, qui s’organisent alors en réseau virtuel de supporteurs. Si un noeud cherche un supporteur, il diffuse une requête d’obtention de supporteur (envoie de message Request) à la quelle uniquement ses voisins directs devraient répondre. Il reçoit un message « Acceptation » d’un noeud voisin qui fait office de candidature et qui a la capacité de supporter le noeud source. Une fois que le noeud choisit son supporteur, il lui envoie un message « confirmation », puis se synchronise avec son supporteur. Il ne commence à appliquer les périodes de synchronisation qu’à la réception de l’acquittement de la part de son partenaire. A la réception du message de confirmation, le nouveau supporteur renvoie son acquittement et commence directement les activités liées au support de ce noeud. PAA définit une « inter période », séparant deux changements d’états, durant laquelle tous les noeuds devront être actifs et s’échangeront les messages sauvegardés.
Cette solution permet à un noeud dans sa phase d’inactivité d’économiser ses ressources, par exemple si un attaquant avait pour cible le noeud qui entre dans la phase d’inactivité, cet attaquant peut avoir des informations sur ce noeud supporteur et ce dernier pourra rester à l’état d’inactivité. Elle permet non seulement d’économiser de l’énergie mais aussi de diminuer les interférences et les pertes des paquets dues à la taille du réseau.

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 *