• Aucun résultat trouvé

DETECTION D’ATTAQUES A TRAVERS LE PROTOCOLE CLIDS

d'intrusions Cross-layer proposé

9. DETECTION D’ATTAQUES A TRAVERS LE PROTOCOLE CLIDS

Dans cette section, nous allons présenter le comportement de notre SDI face à plusieurs types d’attaques qui opèrent au niveau de différentes couches protocolaire.

9.1 Attaques au niveau de la couche réseau

Les attaques qui opèrent au niveau de la couche réseau peuvent être détectées par notre SDI lorsque les nœuds attaquants essayent de se connecter avec les nœuds victimes (au niveau de la

couche liaison). En effet, le nœud attaquant doit informer le nœud ciblé qu’il désire lui envoyer

des données (envoi de paquet RTS). Ce dernier accepte de recevoir ces données par l’envoi de paquet CTS. Ainsi, notre SDI permet de vérifier l’identité du nœud attaquant lors de la réception du paquet RTS, et rejeter tout type de communication avec ce dernier. Dans le cas où l’attaquant

107

ne respecte pas les règles de communication (envoi directement ses données sans demander la

permission du nœud récepteur), il sera signalé comme un nœud intrus est rejeté du réseau.

Dans l’attaque de trou de puits, l’attaquant essaye de s’intégrer dans le chemin de routage afin de lancer d’autres types d’attaques tel que l’attaque de trou noir ou de routage sélectif. De plus, l’attaquant peut être malicieux en essayant de se faire sélectionner comme cluster head, et causer par conséquence plus de dégâts. Notre SDI permet de détecter facilement cette attaque au niveau de la BS. En effet, l’agent de détection global G-CLIDA vérifie l’identificateur de tous les nœuds qui désirent participer au processus de routage. Par conséquent, tout nouds intrus sera directement identifié, étant donné que son identificateur n’existe pas dans la table TID au niveau de la BS. L’attaque d'usurpation d’accusés de réception constitue une autre attaque qui peut déstabiliser le fonctionnement du réseau. L’attaquant espionne le trafic sur le réseau et imite les accusés de réception échangés entre les nœuds capteurs. En recevant ces faux accusés de réception, les nœuds émetteurs supposent que leurs données ont été bien reçues. Etant donné que l’accusé de réception contient l’identificateur du nœud malveillant, notre SDI peut reconnaitre l’identité de l’attaquant

(n’appartient pas à la table TID). Par conséquent, l’accusé de réception sera rejeté, et le nœud

malveillant sera signalé. L’attaquant peut aussi usurper et modifier les informations de routage afin de perturber le fonctionnement du réseau. Cette perturbation peut entrainer l'empoisonnement des tables de routage, ce qui est en mesure de créer des boucles de routage, des chemins de routage très coûteux, la congestion et les débordements des tables de routage. Comme l’attaque d'usurpation d’accusés de réception, notre SDI peut détecter l’identité des nœuds malveillants et rejeter par conséquence toutes les informations qui proviennent de ces derniers.

L’attaque Sybil est l’une des attaques les plus difficiles à détecter, étant donné que l’attaquant peut utiliser des identités recopiées des nœuds légitimes. Cette attaque est généralement combinée avec d’autres types d’attaques tel que le trou de puits ou l’usurpation des données, afin d’augmenter leur degré de malveillance. En effet, l’identificateur de l’attaquant peut appartenir à la table TID, ce qui lui permet de ne pas être détecté. Cependant, en combinant la valeur RSSI à l’identificateur du nœud capteur, notre SDI peut détecter l’identité copiée du nœud Sybil car la puissance du signal reçu ne sera pas conforme à celle du nœud légitime.

Le nœud attaquant peut transmettre un grand nombre de paquets de contrôle (d’inondation par

paquets de Hello) ou de faux paquets de données (Attaque d'information fabriquée). En utilisant

notre SDI, les nœuds capteurs peuvent détecter la nature malveillante des nœuds émetteurs, et rejeter tous les paquets envoyés. En effet, l’identité des nœuds malveillants sera détectée lorsqu’ils essayent d’établir une liaison de communication avec les nœuds légitimes (par envoi de

paquet RTS au niveau de la sous couche Mac). Ainsi, les nœuds légitimes peuvent rejeter les

demandes de connexion (n’envoient pas de paquet CTS), et se mettent directement dans un état de sommeil afin de ne pas recevoir les données corrompues.

9.2 Attaques au niveau de la couche Mac

CLIDS permet de détecter les attaques au niveau de la sous couche Mac (couche liaison), en se basant sur les informations Cross-layer obtenues des deux couches réseau et physique. L’objectif de la plupart des attaques qui ciblent cette couche (Mac), est l’épuisement des réserves d’énergie

108

des nœuds capteurs en perturbant leur mécanisme de Duty-cycling, ou en provoquant des collisions et des retransmissions des données. CLIDS essaye de prévenir ces attaques en rejetant toutes demandes de connexion ou d’informations envoyées par les nœuds malveillants.

Dans l’attaque de privation de sommeil, tout nœud recevant un paquet RTS doit vérifier l'identité du nœud émetteur avant d'envoyer son paquet CTS. Ainsi, il rejette le paquet RTS et entre en mode de veille si le nœud émetteur n'appartient pas à sa table de routage. Dans le cas contraire, il envoi un paquet CTS et prolonge l’état éveillé (actif) afin de recevoir les données qui vont être envoyées. La figure 7.6 présente un exemple de l’attaque de privation de sommeil dans laquelle deux nœuds attaquants tentent respectivement d’épuiser l’énergie des nœuds A et B. En outre, le nœud A ne possède aucun mécanisme de sécurité, tandis que le nœud B est sécurisé par notre système de détection d’intrusions.

Figure 7.6 : Exemple d’attaque de privation de sommeil.

Comme l'attaque de privation de sommeil, l’attaque de barrage force le nœud victime à rester éveillé, mais en plus, elle l’oblige à effectuer des opérations à forte intensité énergétique tel que la réception ou la transmission des données. En rejetant le paquet RTS envoyé à partir du nœud attaquant, CLIDS peut prévenir l'attaque de barrage et empêche les nœuds ciblés de rester éveillés pour accomplir tout genre de tâches exhaustives en énergie. La figure 7.7 présente un exemple du comportement d’un nœud sécurisé avec notre SDI, sous l'attaque de barrage.

Figure 7.7 : Exemple d’attaque de barrage.

Nœud A

Nœud B Attaquant 1

Idle Période de sommeil Temps de cycle

Idle Période de sommeil

CTS

RTS RTS

Attaquant 2

Mode d’éveil Mode de sommeil

CTS

RTS RTS

Nœud A

Nœud B Attaquant 1

Idle Période de sommeil Temps de cycle

Idle Période de sommeil

CTS

Attaquant 2

Mode d’éveil Mode de sommeil

CTS RTS RTS RTS RTS ACK ACK Data Data

109

Dans l’attaque de synchronisation, le nœud attaquant a connaissance du protocole Mac, et envoi des paquets de synchronisation dont les valeurs temps de sommeil sont corrompues. Ainsi, les faux paquets de synchronisation suffisent à maintenir les nœuds ciblés dans un état éveillé. Etant donné que les messages de synchronisation contiennent l'identifiant de l'expéditeur, le nœud récepteur peut rejeter et ignorer ces paquets si l'expéditeur ne figure pas dans sa table de routage. En effet, notre SDI peut donner le même résultat fourni par le mécanisme proposé en [20], en outre, il est plus économe en énergie par rapport au protocole proposé dans [60], car il n'y a pas de surcharge due à l'échange périodique des faux calendriers de synchronisation.

Figure 7.8 : Exemple d’attaque de synchronisation.

Dans le cas où le nœud attaquant retransmet un trafic enregistré (attaque de retransmission), il sera difficile de le distinguer de celui du nœud légitime, car ils ont le même identifiant. En combinant la valeur RSSI avec la table de routage (table TID), le mécanisme de sécurité proposé peut détecter et atténuer l’effet des attaques de retransmission.

L’attaque de diffusion consiste à diffuser un long message de données à tous les nœuds qui se situent dans la zone de couverture radio du nœud malveillant. Etant donné qu’il n'y a pas de paquets RTS qui précèdent le message diffusé, le nœud récepteur ne peut pas authentifier la source de ce dernier avant de le recevoir. Par conséquent, les solutions d'authentification et de chiffrement ne peuvent pas empêcher ce genre d'attaques. La solution proposée dans [18] atténue l’attaque de diffusion, mais elle propose de modifier radicalement le protocole de la sous couche Mac. Dans notre mécanisme, le nœud victime ne reçoit que le premier fragment de données et rejette ceux qui restent (en entrant dans un mode de sommeil). En effet, le premier fragment du message de diffusion contient l'identité de l'expéditeur. Ainsi, CLIDS permet de détecter le nœud intrus et rejette ensuite les autres fragments. Par conséquent, l'effet de l'attaque de diffusion est réduit de façon significative car le nœud ciblé reçoit un seul fragment et ne prolonge pas son état de réveil afin de recevoir les fragments restants.

9.3 Attaques au niveau de la couche physique

Les attaques au niveau de la couche physique consistent généralement à provoquer des interférences dans le canal de communication. En effet, la source d’interférence peut être assez

Période de sommeil

Nœud A

Nœud B Attaquant 1

Idle Période de sommeil Temps de cycle

Attaquant 2

Mode d’éveil Mode de sommeil

SYNC

Idle

110

puissante pour perturber l'ensemble du réseau. De plus, le nœud malveillant peut lancer des attaques d’interférence stratégiques en ciblant des zones sensibles du réseau (station de base ou

cluster head). Notre système de détection peut détecter la zone de brouillage en se basant sur les

valeurs RSSIs des paquets échangés dans le réseau. Ainsi, dans le cas où plusieurs perturbations d’RSSIs sont détectées dans le même périmètre, une zone d’interférence sera signalée à la BS. En conséquence, la BS établira le prochain chemin de routage en évitant d’inclure les nœuds appartenant à la zone d’interférence détectée.

Figure 7.9 : Exemple d’attaque de brouillage.

9.4 Attaques au niveau de la couche transport

La plupart des attaques au niveau de cette couche sont des attaques de déni de service, dont l’objectif est de perturber le bon fonctionnement du réseau. L’attaque d'inondation et de désynchronisation sont les types les plus connus parmi les attaques qui ciblent la couche transport. CLIDS permet de détecter ces deux attaques l’or de l’établissement de la connexion avec les nœuds victimes (réception de paquet RTS au niveau de la couche liaison). En effet, l’identité du nœud malveillant sera détectée avant qu’il soit autorisé à envoyer ses paquets de données ou de contrôle corrompus. Ainsi, le nœud attaquant ne peut pas épuiser les ressources de connexion des nœuds victimes (attaque d’inondation), ou forcer ces derniers à réparer des erreurs de transmission qui n'ont jamais vraiment existé (attaque de désynchronisation).

10. CONCLUSION

En prenant la sécurité comme principal objectif, nous avons proposé un système de détection d’intrusions dédié pour les réseaux de capteurs sans fil. Dans notre proposition, le problème de détection d’intrusions est abordé avec une nouvelle stratégie dans laquelle l’interaction layer est pleinement exploitée. Notre approche est de produire un seul système de détection Cross-layer pour la détection d’intrusions au niveau de plusieurs couches du modèle OSI. L’approche proposée ne clame pas d’être immunisée contre tout genre d’attaques malicieuses, mais donne certainement une nouvelle direction aux recherches de sécurité dans les RCSFs. Le chapitre suivant sera consacré à l’évaluation des performances de nos contributions à l'aide d'un ensemble de simulations réalisées avec le simulateur NS 2 (network simulator).

BS N0 CH N1 N2 N3 N4 N5 Attaquant BS N0 CH N1 N2 N3 N4 N5 Attaquant

Chapitre 8

Evaluation des performances à