• Aucun résultat trouvé

Premier module de détection des mauvais nœuds de l’IDS

confiance avec détection des mauvais nœuds dans un réseau mesh sans fil

Chapitre 6. Nouveau système de confiance de détection des mauvais nœuds

6.3. Fonctionnement du système de confiance

6.3.2. Système de détection multiple des mauvais nœuds

6.3.2.1. Premier module de détection des mauvais nœuds de l’IDS

Ce premier module a pour but de détecte r les nœuds malveillants qui s’inscri vent sur un maxi mum de routes pour perturber de nombreuses communications. Pour s’inscrire sur un maximum de routes, les nœuds mal veillants font sui vre tous les paquets de requête de route (RREQ) ou de réponse de route (RREP). Par la suite, ces mauvais nœuds, pour perturber les communications sur les routes auxquelles ils appartiennent, abandonnent des paquets de données. Dans ce tte section, on utilisera le terme paquet de route pour désigner aussi bien un paquet RREP ou RREQ. Contrairement à un nœud mauvais, un bon nœud transfère tous les paquets de route et les paquets de données qu’il re çoit a vec succès. Afin de détecter si l’un de ses voisins est mauvais, un nœud surveille s’ils font suivre correctement les paquets de route et les paquets de données qu’il leur envoie. Ainsi un nœud enregistre pour chacun de ses voisins :

 le nombre de paquets de route qu’il lui envoie et que ce de rnier doit faire suivre ,

 le nombre de paquets de route qu’il lui a envoyé et qu’il entend son voisin fa ire sui vre corre ctement,

 le nombre de paquets de données qu’il lui envoie et que ce dernier doit faire sui vre ,

 le nombre de paquets de données qu’il lui a envoyé et qu’il entend son voisin fait sui vre corre ctement.

Pour rappel, la variable aléatoi re 𝑋𝑖𝑗𝑜 représente le taux de paquets de données que 𝑖entend 𝑗 re transmettre correctement sur les 𝑚 qu’il lui a envoyé. On note 𝑌𝑖𝑗𝑜, la variable aléatoire représentant le taux de paquets de route que 𝑖 entend 𝑗 re transmettre corre cte ment sur les 𝑚 qu’il lui a envoyé . La probabilité qu’un nœud 𝑖 après a voir envoyé un paquet de route à un nœud 𝑗 entende ce de rnier le retransmettre équi vaut, que le nœud 𝑗 soit mauvais ou non, à la probabilité que le paquet de route ne soit ni perdu sur le lien (𝑖, 𝑗) ni sur le lien (𝑗, 𝑖). La probabilité qu’un nœud 𝑖 après avoir envoyé un paquet de données à nœud 𝑗entende ce dernier le réémettre, lorsque le nœud 𝑗 est non mauvais, équi vaut à la probabilité que le paquet de données ne soit ni perdu sur le lien (𝑖, 𝑗) ni sur le lien (𝑗, 𝑖). Ainsi, si l’on suppose que la pe rte de paquets de données sur un lien est

- 137 -

la même qu’on y transfère un paquet de données ou de route, alors la probabilité que le nœud 𝑖, après a voir envoyé un paquet de route à 𝑗 entende ce dernier le retransmettre équi vaut à la probabilité que le nœud 𝑖, après avoir envoyé un paquet de données à un nœud 𝑗 non mauvais entende 𝑗 le retransmettre. Ainsi comme ces deux probabilités sont équivalentes, on en déduit que, si le nœud 𝑗 est non mauvais, alors la distribution des variables aléatoires 𝑌𝑖𝑗𝑜 e t 𝑋𝑖𝑗𝑜 sont identiques.

Lorsque le nœud 𝑗 est mauvais, ce dernier abandonne alors délibérément des paquets de données mais continue à envoye r à chaque paquet reçu un acquitte ment. Pa r conséquent la distribution de la va riable aléatoire 𝑋𝑖𝑗𝑜 change et les distributions de 𝑋𝑖𝑗𝑜 e t 𝑌𝑖𝑗𝑜 de viennent alors différentes.

Pour détecte r si le voisin 𝑗d’un nœud 𝑖est mal veillant, le premier module compa re la distribution des réalisations des va riables aléatoire 𝑌𝑖𝑗𝑜 et 𝑋𝑖𝑗𝑜 que le nœud 𝑖observe . Si les deux distributions sont équi valentes, il en conclut que le nœud 𝑗 ne pri vilégie pas le suivi des paquets de route sur le suivi de paquets de données et que donc il ne tente pas de s’inscrire sur un ma ximum de routes pour les perturber.

Pour obtenir une réalisation 𝑦𝑖 de la va riable aléatoi re 𝑌𝑖𝑗𝑜, le nœud 𝑖enre gistre à chaque fois qu’il envoie 𝑚 paquets de route, le nombre 𝑝 de paquets de route qu’il a entendu 𝑗 faire sui vre corre ctement et cal cule ensuite 𝑦𝑖 =𝑝

𝑚. Pour obtenir une réalisation 𝑥𝑖 de la va riable aléatoire 𝑋𝑖𝑗𝑂, le nœud 𝑖enregistre à chaque fois qu’il envoie 𝑚 paquets de données le nombre 𝑝′ de paquets qu’il a entendu 𝑗 faire sui vre correctement et calcule ensuite 𝑥𝑖=𝑝′

𝑚. Afin de compare r la distribution de 𝑛 réalisations des variables aléatoires 𝑌𝑖𝑗𝑜 e t 𝑋𝑖𝑗𝑜 notées respecti vement (𝑦1, 𝑦2… , 𝑦𝑛) et (𝑥1,𝑥2… , 𝑥𝑛), le module utilise le test de Kolmogorov-Smirnov à deux é chantillons. Ce test perme t de déterminer si deux é chantillons sui vent la même distribution a ve c une probabilité de première espè ce fixé. Le KS -test calcule la distance entre les fonctions de répartition du premier et du second échantillon et selon la valeur de cette derniè re détermine s'ils sui vent la même distribution. Ce test peut se décomposer de trois étapes. La première étape consiste à cal culer la fonction de répa rti tion de chacun des deux é chantillons. La fonction de réparti tion pour un é chantillon (𝑥1,𝑥2… , 𝑥𝑛) est obtenue avec la formule suivante : 𝐹1,𝑛 =1 𝑛 𝐼𝑥𝑖≤𝑥 𝑛 𝑖=1 Équation 75

où 𝐼𝑥𝑖≤𝑥 est la fonction indi catrice ; elle équivaut à 1 si 𝑥𝑖≤ 𝑥 et 0 sinon. On note 𝐹1,𝑛la fonction de répartition obtenue ave c l’échantillon (𝑥1,𝑥2… , 𝑥𝑛) composé de 𝑛 réalisations de 𝑋𝑖𝑜 e t 𝐹2,𝑛 la

- 138 -

fonction de répa rti tion obtenue a vec l’échantillon 𝑦1, 𝑦2… , 𝑦𝑛 composé de 𝑛 réalisations de la va riable aléatoire 𝑌𝑖𝑗𝑜. La se conde étape calcule la distance entre les fonctions de répartition des deux é chantillons via la formule sui vante :

𝐷𝑛,𝑛= 𝑛 ∗ 𝑛

𝑛 + 𝑛𝑠𝑢𝑝𝑥 |𝐹1,𝑛 𝑥 − 𝐹2,𝑛(𝑥)|

Équation 76

La troisième étape du KS-test à deux échantillons vé rifie si 𝐷𝑛,𝑛 est inférieure ou égale à un ce rtain seuil noté 𝐾(𝛼). Si elle est inférieure, alors les distributions sont considérées comme équivalentes sinon elles sont considérées comme différentes. La distance entre deux fonction de répartition issues d’é chantillons qui sui vent la même loi suit une distribution bien connue ; la distribution de Kolmogorov. Il e xiste des tables qui, pour une variable aléatoire K sui vant la distribution de Kolmogorov, donne le seuil 𝐾(𝛼) à partir duquel la probabilité que K soit supé rieure à 𝐾(𝛼)équi vaut à 1-𝛼. Ainsi, si K est une variable aléatoire suivant une loi de Kolmogorov alors :

𝑃 𝐾 ≤ 𝐾 𝛼 = 1 − 𝛼 Équation 77

Le risque de première espèce 𝛼 de notre test est fixé à 0.05. Comme la variable aléatoire 𝐷𝑛,𝑛 suit une distribution de Kolmogorov, le module estime que les deux échantillons suivent la même distribution ave c un risque de première espèce 0,05 si :

𝐷(𝑛, 𝑛) ≤ 𝐾(0,05) Équation 78

le seuil 𝐾(0,05) est obtenu via les tables de la loi de Kolmogorov. Si l’équation 78 est vé rifiée, l’hypothèse d’équi valence de la distribution des V.A. 𝑌𝑖𝑗𝑜 e t 𝑋𝑖𝑗𝑜 est acceptée et le premier module du nœud 𝑖 considère le nœud 𝑗 non mauvais et incrémente alors le nombre 𝑝𝑖𝑗1 d’inte ractions positives entre 𝑖 et 𝑗. Si l’équation 78 n’est pas vé rifiée alors le premier module du nœud 𝑖 considère𝑗 comme mauvais et augmente le nombre 𝑛𝑖𝑗1 d’inte ractions négati ves entre les nœuds 𝑖 et 𝑗.

- 139 -