Détournement de trafic Internet via protocole BGP : Fonctionnement de l'attaque (Partie 2/3)

Après avoir décrit en 1ère partie les bases nécessaires à la compréhension du protocole BGP, je vous propose ici de décrypter le fonctionnement de l'attaque présentée par Alex Pilosov et Tony Kapela lors du DEFCON 16 d'août 2008.

La figure 4 pose le décor. L'attaquant est localisé à droite (Autonomous System 5 ou « AS5 »), la cible étant sur la gauche (AS1). L'attaquant veut écouter les communications entre un sous-réseau précis (192.0.2.0/24) de l'AS1 et les machines localisées sur les AS3, AS5 et AS6. Cette écoute doit rester passive et il est important qu'AS1 ne se rende compte de rien.

Bgphijacking_figure4_contexte

La figure 5 présente les actions que va effectuer l'attaquant  pour manipuler les règles de routage.
Pour commencer, l'attaquant détermine le chemin qu'il va utiliser pour renvoyer le trafic une fois celui écouté : Il décide d'utiliser le chemin passant via AS4 ayant un AS-PATH=(4,2,1) annoncé par la route 192.0.2.0/22. Cette route est une route légitime annoncée par AS1. Ce même préfixe en /22 est connu de tous les autres AS. Seuls quelques AS-PATH sont indiqués afin de garder la figure lisible.

Bgphijacking_figure6_activationhija

L'attaquant va ensuite lancer le détournement du trafic qui l'intéresse en annonçant, via BGP, une route plus spécifique (ici 192.0.2.0/24)  avec un AS-PATH=(5,4,2,1).
Cette route va être acceptée par AS6 et AS7 (qui vont rajouter leur numéro d'AS au début via le mécanisme de « AS-Prepending »). Lorsque AS6 va annoncer cette route à AS4, ce dernier va l'ignorer car son numéro d'AS est déjà présent dans l'AS-PATH, de la même manière AS1 et AS2 vont ignorer la route émise par AS3 car l'AS-PATH contient déjà aussi leur numéro respectif (on retrouve ici les mécanismes de détection et de prévention de boucle).

Comme 192.0.2.0/24 est une route plus spécifique que la route annoncée par AS1 (un sous réseau en /22), les AS3, AS6 et AS7 vont donc envoyer les paquets à l'AS5, qui va ensuite les renvoyer à AS1 une fois analysés.

Évidemment, afin qu'AS5 soit en mesure de joindre AS4, l'attaquant doit configurer une route statique sur les routeurs d'interconnexion entre AS5 et AS4 pour le 192.0.2.0/24 qui a été détourné de l'autre coté.

Sur la Figure 6, on peut constater que le trafic en provenance des AS3, AS6 et AS7 à destination du sous-réseau 192.0.2.0/24 est donc redirigé vers l'AS5 « attaquant » qui peut ainsi l'écouter, l'analyser ou encore l'enregistrer. Il utilisera ensuite le chemin passant via AS4 et AS2 afin de joindre AS1 pour réinjecter le trafic.

Bgphijacking_figure6_detournementtr

Ou réside la nouveauté de cette annonce ?

Le détournement de trafic via l'annonce via BGP d'un préfixe IP plus spécifique n'est pas nouveau, l'AS-PATH Poisoning est une technique utilisée assez couramment pour « éviter » un AS précis : Ce qui est nouveau ici c'est l'idée de conserver le chemin de retour actif (pour la réinjection des paquets) en utilisant pour ce faire le mécanisme de détection de boucles de routage intégré à BGP.

Dans le dernier article de cette série, je présenterai les techniques permettant de masquer (dans une certaine mesure) un tel détournement et mettrait cela dans le cadre de scénarios d'attaques.

Je terminerai en remerciant Laurent Guinchard & Vincent Maurin d'Orange Business Services pour les échanges endiablés sur le sujet et leur relecture.

PS : Utilisez la fonction "commentaires" afin de partager vos impressions et éventuelles questions.

7 Commentaires

Article très intéressant. Les explications sont claires et les schémas sont les bienvenus.
Une fois de plus, on attend avec impatience la suite qui s'avère alléchante !

Dans la description du début de l'article la cible devrait etre l'AS1

L'Autonomous System qui est la cible de l'attaque est bien l'AS1... Je viens de corriger.
Quel (re)-lecteur ! Avec l'erreur identifiée dans la 1ere partie, cela fait la 2nde coquille de détectée... Gageons que la dernière partie de cette série d'article soit un sans faute ! :-)
Encore merci pour le feedback.
Bonne nuit !
JF.

Et la partie 3/3 ? Je suis impatient...

Bonjour djom
Merci de montrer ainsi votre intérêt pour ce 3ième volet de la "saga" BGP Hijacking. :-)
L'article est en cours de "gestation" et devrait normalement être dans les bacs cette semaine ou au pire semaine prochaine.
A très bientôt.
JF

bonjour
merci pour les deux parties
j'aimerais savoir si 3/3 est deja prete ou pas?
je suis trop interessé.
merci bien
slt

Article détaillé, agréable à lire.
A quand la suite ?

commenter

 
(Utilisez des balises HTML pour mettre en forme vos commentaires)