Protocole BGP, l’Internet en danger ?

août 29th, 2008
|
  • Introduction

  • Le BGP (Border gateway protocol) est un protocole d’échange de route utilisée – entre autres – sur Internet. Son objectif est d’échanger des réseaux avec les routeurs voisins pour établir des tables de routage dynamiques : Les routeurs s’échangent des informations sur les réseaux qu’ils connaissent et sur le moyen de les atteindre.

  • Petit rappel sur le routage

  • Pour communiquer avec une autre machine, le système suis la table de routage. (On peut l’afficher sur quasiment tous les Unix avec « netstat -rn », avec « route -n » sur Linux ou encore « route -n show » sur NetBSD. Prenons un exemple :

    Imaginons un routeur ayant la table de routage suivante :

    1
    2
    3
    192.168.10.0 192.168.10.254 255.255.255.0 UG 0 0 0 eth0
    192.168.20.0 192.168.20.254 255.255.255.0 UG 0 0 0 eth0
    192.168.30.0 192.168.30.254 255.255.255.0 UG 0 0 0 eth0

    Et dont les paquets doivent être envoyés à la destination de 192.168.20.37 : Ils seront envoyés tout d’abord à 192.168.20.254 qui les fera suivre. Faisons un traceroute pour le vérifier:

    1
    2
    3
    traceroute to 192.168.20.37 (192.168.20.37), 64 hops max, 40 byte packets
    1 192.168.20.254 1 ms 0 ms 0 ms
    2 192.168.20.37 1 ms 1 ms 1 ms

    On voit bien dans cet exemple la manière dont les paquets arrivent à destination. Seulement ici nous sommes dans le cadre d’un petit réseau, imaginez la même chose à la hauteur d’un réseau comme internet…

  • Introduction à BGP

  • La plupart des connexions vers Internet à partir d’une résidence ou au bureau sont réalisées par un routing statique, c’est-à-dire qu’il n’existe qu’une seule route, celle vers votre FAI (Fournisseur d’accès a Internet). Mais après cela, Internet est un maillage de réseaux. Cela signifie que plusieurs chemins existent entre deux réseaux d’extrémité. Et ceux-ci ne sont pas tous équivalents…

    En se servant du protocole de routing BGP et à condition de disposer de deux connexions ou plus vers Internet, on peut décider de façon dynamique d’envoyer un certain type de traffic par une connexion et un autre type de trafic par une autre connexion. En effet, imaginez votre connexion à crashdump.fr circulant dans cette univers cruel et barbare qu’est Internet. Vous préférerez peut être qu’ils transitent par tel AS, car l’admin est un pote ou que vous avez négocié un tarif avantageux. Vous refuserez peut-être qu’ils transitent par un autre AS, car vos flux sont incompatibles avec la législation en vigueur dans le pays ou pour toute autre considération politique (nldr: Chine), économique ou de sécurité que l’on peut imaginer. Dans ce cas, vous aurez besoin de définir une politique de routage sur Internet. BGP sert a cela.

  • Le problème…

  • Le 24 février 2008, YouTube a été indisponible pendant deux heures environs. Ce n’était pas une panne, mais le résultat d’une action (délibérée ?) en provenance du Pakistan. Le gouvernement (du Pakistan) a annoncé ce jour là, un blocage de YouTube. Pakistan Telecom à donc exécuté l’ordre. Ce qui est rigolo (ou pas..) c’est que par incompétence ou bien par volonté de tester, ils ont réussi à couper YouTube sur l’ensemble de la planète.

    La technique est très banale (ou du moins, connue) et des tas de gens l’ont déjà exploité. On appelle ça l’IP hijacking (détournement d’adresse) et ça consiste à annoncer une route plus spécifique, pour les adresses IP de la victime comme je vous l’ai expliqué plus haut, grâce au BGP. Oui, très peu d’entre eux limitent ce qu’on peut annoncer. N’importe quel routeur BGP de l’Internet peut tout à coup se mettre à dire « Envoyez tous les paquets IP à destination de x.x.x.0/24 – vers moi ». Cette annonce aura même la priorité sur celle du propriétaire légitime, car elle est plus spécifique (la longueur du préfixe est de 24 bits, contre par exemple 22 pour l’annonce légitime. Ici vous me dites : « Il n’y a qu’à authentifier le pair BGP en face ! ». Non, cela ne sert à rien puisque ça ne garantit pas qu’il aura, lui-même, authentifié ses propres pairs.

    Ce problème est connu et ce depuis longtemps et devrait, logiquement, susciter plus d’inquiétudes pour la sécurité et la stabilité de l’Internet. Ce n’est pas facile à résoudre, le problème n’étant pas technique mais politique et organisationnel. Ce ne sont donc pas les solutions techniques qui manquent (Ex : Secure BGP, soBGP). Rien ne sert d’installer une alarme ultra sophistiquée sur votre voiture si vous prêtez les clés a tout le monde.

  • La nouvelle découverte:

  • Alex Pilosov et Anton Kapela ont dit, lors du DefCon 16 (2008):

    - Everyone … has assumed until now that you have to break something for a hijack to be useful.
    - But what we showed here is that you don’t have to break anything. And if nothing breaks, who notices?

    Entendez par là :

    - Tout le monde est d’accord sur le fait que, jusqu’à présent, vous étiez obligé de casser quelque chose pour faire un détournement d’adresse efficace. (Et donc faire du « bruit »).
    - Mais ce que nous avons montré ici est différent : Si rien n’est cassé, qui le remarquera ?

    Le type d’attaque qu’ils ont démontré est d’un type nouveau, car elle permet d’écouter les flux d’autrui sans être propriétaire du réseau normalement emprunté et surtout sans être repérable !
    Pourquoi rien n’a été fait avant ? Deux raisons : Personne n’avais jamais démontré qu’il était possible de faire ce que ces deux jeunes pirates on fait ce jour-là. L’autre, pire encore : l’argent. Comme je vous l’ai expliqué tout à l’heure, en théorie le problème est bien connu des gouvernements et des agences de sécurité gouvernementales, mais cela coûterait très cher – en temps et en argent – de mettre en place une solution plus sûre… du moins pour le moment !

    On pourrait même penser que la situation n’évolue pas, car elle pourrait permettre aux agences comme la NSA (Big B, Echellon) ou les équivalents d’autres pays, d’écouter le trafic mondial très facilement… Pire, là où un hacker avec peu de moyens ne pourrait pas traiter toutes ces informations, un pays devrait être moins limité.

    2 Comments:

    1. sujet interssant pour ma culture général
      merci

    Leave a comment: