• Aucun résultat trouvé

Afin de valider notre méthode de traçabilité du trafic IP, nous avons implémenté les différents algorithmes nécessaires à son bon fonctionnement : l’algorithme de marquage des messages ICMP écho, l’algorithme de reconstruction du chemin de l’attaque, le pro- gramme d’attaque ICMP directe et indirecte.

Nous nous sommes basés sur un routeur Linux (Debian) exécutant notre programme de marquage pour valider notre méthode de traçabilité. Ce programme insère de manière probabiliste les informations de traçabilité du routeur (adresse IP, type de ICMP écho et

50 CHAPITRE2. TRAÇABILITÉ DU TRAFIC INTERNET

Algorithm 2 Algorithme de marquage avec vérification d’usurpation

1: piprobabilité de marquage

2: M arkmaxNombres de marquages maximums

3: Pour chaque message ICMP écho P

4: xréel ∈ [0, 1] .choisi aléatoirement

5: P ositionEntier

6: if x < pi then

7: if P n’est pas marqué then

8: initialiser le champ Mark.Flag

9: M ark.Distance ← 0

10: P osition ← 0 .Marquer dans la première position

11: else

12: if M ark.Distance ≥ M arkmaxthen .L’espace de marquage est remplis

13: P osition ∈ [0, M arkmax− 1] .Valeur choisie aléatoirement

14: M ark.Distance ← M arkmax− 1 .Valeur maximale de la distance avant

incrémentation

15: else

16: P osition ← M ark.Distance .Valeur choisie aléatoirement

17: end if 18: end if

19: M ark.Distance ← M ark.Distance + 1 .Incrémenter la distance

20: M ark.M arquage[P osition].IP ← Routeur.IPaddress

21: M ark.M arquage[P osition].T T L ← P.T T L

22: if P echo request then

23: M ark.M arquage[P osition].echo ← 1

24: else

25: M ark.M arquage[P osition].echo ← 0 .Si c’est un écho reply

26: end if

27: for i ← 1, M ark.Distance do .Vérifier la présence de marquage usurper

28: if M ark.M arquage[i − 1].echo = M ark.M arquage[P osition].echo then

29: if P.T T L ≥ M ark.M arquage[i − 1].T T L then

30: effacer le marquage Mark.Marquage[i - 1]

31: end if

32: end if

33: end for 34: end if

2.4. ÉVALUATION ET VALIDATION 51 Attaquant Machines réflectives Cible Réponse Requête Routeur

FIGURE2.7 – Scénario de l’évaluation de notre méthode de marquage

TTL de l’entête IP). Nous avons configuré le pare-feu du système pour qu’il renvoie les messages ICMP écho vers notre programme de marquage, qui à son tour, les renvoie vers l’interface de sortie après traitement.

Nous avons implémenté notre algorithme de reconstruction du chemin de l’attaque au niveau de la cible. Comme dans les routeurs, nous avons configuré le pare-feu du sys- tème pour rediriger les messages "ICMP echo" à leur réception vers notre programme de reconstruction du chemin de l’attaque. Ce programme extrait les informations de tra- çabilité des messages.

Nous nous sommes basées sur une autre machine Linux (Debian) pour exécuter le programme d’attaque ICMP. Ce programme peut lancer des attaques directes ou réflec- tives durant lesquelles il peut usurper l’adresse IP source des paquets. Dans l’attaque réflective, le programme envoie des paquets en direction de machines réflectives en uti- lisant comme adresse source celle de la cible. Ce programme permet également de configurer la taille du champ donnée des paquets d’attaques.

Pour les machines réflectives, nous avons utilisé des machines Linux bien configu- rées. Le rôle de ces machines dans ce scénario est de répondre aux requêtes ICMP écho.

Nous avons mis en place, dans un réseau virtuel fermé, les différents acteurs de la traçabilité d’une attaque par déni de service ICMP indirecte : l’attaquant, la cible, cinq routeurs, et trois machines réflectives comme illustré dans la figure 2.7. Nous avons organisé les routeurs pour qu’ils soient traversés par les requêtes et les réponses de l’attaque réflective.

Pour évaluer notre méthode de marquage, nous avons lancé l’attaque SMURF en utilisant 3 machines réflectives. Nous avons fixé la probabilité de marquage à 1 pour les différents routeurs du chemin, et l’espace de marquage à 100 octets, afin de permettre à tous les routeurs du chemin d’insérer leurs informations de traçabilité. Par ailleurs, pour acheminer l’espace de marquage défini, nous avons utilisé durant l’attaque des messages ICMP écho de grande taille, dépassant 1000 octets, voir la figure 2.8.

En analysant les paquets d’attaques reçus par la cible, nous avons remarqué qu’elle a reçu les informations de traçabilité de tous les routeurs du chemin, voir la figure 2.9. La cible a pu extraire les différents marquages à partir du paquet d’attaques afin de

52 CHAPITRE2. TRAÇABILITÉ DU TRAFIC INTERNET

Champ  Donnée  ini-alisé  à   0  par  l’a4aquant

FIGURE2.8 – Capture d’écran d’un message ICMP écho reply non marqué

Flag

Distance Champ  de  marquage   du  premier  routeur

2.4. ÉVALUATION ET VALIDATION 53 1 10 100 1000 10000 100000 1e+06 0 0.1 0.2 0.3 0.4 0.5

Nombre de paquets d’attaque

Probabilité de marquage

Le nombre de paquets nécessaire à la reconstruction du chemin d’attaque FMS Marquage ICMP

FIGURE 2.10 – Nombre de paquets de reconstruction par rapport à la probabilité de

marquage de la méthode FMS et de la méthode de marquage ICMP

reconstruire le chemin de l’attaque. Elle s’est basée sur la valeur des champs TTL ac- compagnant les adresses IP pour discerner la position des routeurs dans le chemin.

Notre méthode de traçabilité permet de remonter à la source des attaques par déni de service directe et indirecte. Ainsi, pour l’évaluer, nous l’avons comparé avec les méthodes de marquage probabilistes de l’entête IP lors d’une attaque directe. Nous avons calculé le nombre de paquets minimum pour reconstruire le chemin d’une attaque ICMP écho directe.

Nous avons calculé le nombre de paquets minimum pour reconstruire le chemin d’une attaque dans notre méthode de traçabilité et dans la méthode FMS par rapport à la probabilité de marquage des routeurs, voir la figure 2.10. On remarque que le nombre de paquets nécessaires est largement inférieur dans notre méthode quelques soit la probabilité de marquage considéré. En effet, notre méthode de marquage se base sur un espace de marquage plus important.

Dans notre approche, nous nous sommes basés sur un faible espace de marquage de 12 octets pour compliquer l’usurpation de marquage et pour s’intégrer dans les appli- cations légitimes. Cet espace permet de transporter les informations de traçabilité de 2 routeurs dans un seul message. Nous avons fixé le nombre de routeurs entre l’attaquant et la victime à 15 routeurs puisque c’est la distance moyenne entre deux hôtes dans réseau Internet [KBMA+09].

Afin de déterminer la probabilité de marquage optimale de notre méthode de traça- bilité, nous avons calculé le nombre de paquets nécessaires pour reconstruire le che- min d’attaque dans le cas d’une attaque directe et d’une attaque réflective, voir la figure 2.11. Nous avons fixé le nombre de routeurs dans l’attaque directe à 15 routeurs et à 30routeurs dans le cas de l’attaque indirecte. On remarque que le nombre de paquets nécessaire dans les deux attaques décroît lorsque la probabilité est inférieure à 0.1 et il croit au-dessus de cette valeur dans le cas de l’attaque réflective. Par contre, il est à peu

54 CHAPITRE2. TRAÇABILITÉ DU TRAFIC INTERNET 0 50 100 150 200 250 300 350 400 450 500 0 0.05 0.1 0.2 0.25 0.3

Nombre de paquets d’attaque

0.15 Probabilité de marquage

Probabilité de marquage optimale pour la méthode de marquage ICMP Attaque réflective

Attaque directe

FIGURE 2.11 – Nombre de paquets de reconstruction par rapport à la probabilité de

marquage d’une attaque et d’une attaque réflective

près stable dans le cas d’une attaque directe.

Lorsque la probabilité de marquage dépasse 0.1, le nombre de paquets de recons- truction est croissant à cause de l’écrasement de marquage. Les routeurs proches de la cible de l’attaque écrasent les marquages de ceux qui sont proches de l’attaquant. En conséquence, la probabilité optimale de marquage est 0.1

Nous avons aussi fait varier le nombre de paquets d’attaques nécessaire à la recons- truction par rapport au chemin pour la méthode de marquage FMS, notre méthode de marquage ICMP, et la signalisation, voir la figure 2.12. Nous avons fixé la probabilité de marquage à 0.1 pour notre méthode et de 0.04 pour le marquage FMS. On remarque que le nombre de paquets nécessaire pour reconstruire le chemin d’attaque s’accroit avec le nombre de routeurs dans les deux méthodes de marquage. Par contre, il est stable pour signalisation. On remarque aussi que notre méthode de marquage nécessite un nombre de paquets d’attaques largement inférieur aux autres méthodes quelques soit la longueur du chemin.