Dans notre article “Comment fonctionne le protocole de routage BGP ?”, nous expliquons les fondations du protocole BGP qui permet le fonctionnement d’Internet. Nous expliquons également pourquoi BGP est vulnérable aux erreurs de configuration, qui peuvent conduire à des indisponibilités à grande échelle.

Dans cet article, nous expliquons l’une des principales menaces sur BGP : le BGP Hijacking (ou « détournement BGP » en français).

Définition du BGP Hijacking

L’ensemble du protocole BGP est fondé sur le principe de confiance.

Il est construit sur l’hypothèse que des réseaux interconnectés ne communiquent que des données exactes lorsqu’ils annonces des groupes d’adresses IP (appelés préfixes) qu’ils possèdent. Ce principe rend BGP très vulnérable à des attaques malicieuses.

Le détournement BGP consiste pour des attaquants à rerouter du trafic Internet de façon mal intentionnée. Ils y parviennent en annonçant des informations fausses sur la détention de préfixes IP, qu’ils ne possèdent pas en fait, ni ne contrôlent, ni n’acheminent vers eux.

En diffusant des annonces de préfixes fausses, le routeur compromis peut « empoisonner » la base d’information de routage (RIB) de ses pairs et peut propager à d’autres pairs rapidement, à d’autres AS (autonomous systems) et au travers d’Internet. Identifier un détournement de route IP dès que possible est critique pour la sécurité de votre réseau et pour l’expérience de vos utilisateurs.

Comment BGP peut il être victime de « hijacking » (détournement) ? 

BGP favorise toujours le chemin le plus court, ou le plus spécifique vers une adresse IP donnée. Pour détourner efficacement une route BGP, l’annonce doit :

  1. Soit proposer une route plus spécifique en annonçant un sous réseau IP plus petit que celui annoncé précédemment par les autres ASs ;
  2. Soit annoncer une route plus courte vers certains blocs d’adresses IP.

De plus, les annonces doivent être faites par l’opérateur d’un AS. L’attaquant doit donc compromettre un routeur BGP légitime en premier lieu.

Pour être aussi discret que possible, l’attaquant ciblera le plus souvent des préfixes inutilisés à détourner. Ceux-ci ne seront pas remarqués avant longtemps.

Que se passe-t-il en cas de BGP Hijacking ? 

En cas de BGP Hijacking, le trafic Internet sera dirigé dans une mauvaise direction, capté ou intercepté, ou envoyé vers un « trou noir », ou redirigé vers des sites falsifiés. De surcroit, les spammers peuvent utiliser un détournement BGP ou le réseau d’un AS qui pratiquent un détournement BGP pour spoofer des adresses IP légitimes afin de mener à bien leurs activités de spam.

Un exemple récent d’avril 2021 est Vodafone Idea. L’AS 55410 de Vodafone Idea, un opérateur indien basé à Bombay et Gandhinagar, a été inondé de trafic, 13 fois supérieur à la moyenne ne permettant plus à ses utilisateurs d’accéder à Internet. 

Comment détecter un BGP Hijacking ? 

Sans superviser spécifiquement comment le trafic Internet est routé, les organisations manquent de moyens d’éviter ou du moins de détecter rapidement un détournement BGP.

Quand un BGP hijacking a lieu, dans la plupart des cas, la latence s’accroit notoirement. C’est du au fait que les flux du réseau détourné ne suivent plus le chemin le plus efficace et potentiellement font le tour du monde de façon inutile.

Monitorer la latence réseau et son impact sur l’expérience des utilisateurs peut permettre de détecter indirectement un BGP Hijacking.

Cela dit, la meilleure façon aujourd’hui d’identifier un détournement BGP est de superviser de façon permanente les routes BGP prise par le trafic réseau. En faisant cela, on peut immédiatement identifier un changement de route anormal.

Comment protéger son organisation contre le BGP hijacking ?

MARNS – Mutually Agreed Norms for Routing Security

Comme indiqué plus haut, protéger son organisation contre les détournements BGP est difficile. Cela requiert de la vigilance, des échanges d’information et la mise en oeuvre de bonnes pratiques autour du monde.

C’est là où MARNS joue un rôle. C’est une initiative globale, supportée par l’Internet Society, qui fournit des solutions clés pour répondre aux principales menaces en matière de routage.

Ces fondations comptent quatre piliers :

  1. Filtrage : 
    • S’assurer que les annonces (les vôtres et celles de vos clients) sont correctes
    • Arrêter des annonces de routage fausses avant qu’elles n’impactent les chemins pris sur Internet
  2. Anti-spoofing :
    • Activer la validation des adresses sources empêche des paquets spoofés de pénétrer ou sortir de votre réseau
  3. Coordination :
    • Maintenir des informations de contact accessibles globalement dans des bases telles que PeeringDB, RIR whois database, et votre propre site web
  4. Validation globale :
    • Publier vos données, y compris votre politique de routage et les préfixes que vous annoncez, de façon à ce que des tiers puissent valider ces informations de routage

Les sociétés qui possèdent des ASs sont encouragées à participer à cette communauté.

BGPsec

BGPsec semble prometteur. C’est une extension de BGP définie dans la RFC 8205 et publiée en septembre 2017. Elle ajoute une vérification cryptographique pour les routes BGP annoncées. Avec BGPsec, les routeurs de backbone applique des signatures numériques à leurs annonces de routes. Cela rend plus difficile à un attaquant non autorisé à annoncer des routes vers des ASs de façon abusive. 

Malheureusement, BGPsec introduit un nouveau défi qui ralentit son adoption. En effet, la vérification cryptographique implique une consommation de ressources supplémentaires sur les routeurs. Cela requiert souvent une mise à niveau des routeurs avec un matériel spécifiquement adapté à ces tâches de chiffrement.

En prenant en compte le nombre de routeurs installés globalement, on comprend que l’adoption large de BGPsec n’est pas pour demain !

Affinage des configurations 

En tant qu’organisation, vous n’êtes pas obligés de joindre la communauté MARNS ou d’utiliser BGPsec pour prendre des actions concrètes pour protéger votre réseau. Une des pratiques recommandées est de filtrer les préfixes IP.

Même si cela reste difficile à mettre en oeuvre, la plupart des réseaux ne devraient accepter des déclarations de préfixes IP que quand cela est nécessaire et devraient déclarer des préfixes IP à certains réseaux et par à Internet dans sa globalité. Cela permet d’éviter des détournements de routes accidentels et d’empêcher qu’un AS accepte des déclarations de préfixes IP buggées.

Selon nous, la toute première étape consiste à superviser la façon dont votre AS BGP peut être joint et détecter toute incohérence ou changement de route anormale. Pour commencer, lisez cet article