Présentation
Pendant que vous lisez cet article, votre navigateur se connecte au fournisseur d'accès Internet (FAI). Les paquets envoyés depuis votre ordinateur ont trouvé leur chemin vers le serveur qui héberge ce site Web. Le BGP (Border Gateway Protocol) décide des chemins à emprunter en cours de route.
Si un routeur ne fonctionne pas ou a une charge de trafic élevée, les paquets empruntent une autre route. BGP accepte les routes annoncées d'autres routeurs BGP par défaut. Il n'y a aucune annonce du chemin ou du propriétaire, laissant un problème de sécurité important.
Cet article explique le protocole RPKI comme solution de routage BGP sécurisé.
Qu'est-ce que BGP ?
Le protocole BGP est le principal protocole facilitant les échanges de routage via Internet. Les paquets voyagent dans le monde entier de manière décentralisée avec un routage automatisé. Au fur et à mesure que les données passent d'un routeur à un autre, les informations se rapprochent de la destination souhaitée.
Chaque routeur maintient une table des meilleurs chemins significative localement pour chaque groupe de destination de préfixe d'adresse IP. Un AS (A S autonome système) possède des groupes de préfixes et détermine comment l'échange de routage se produit. Chaque AS possède un identifiant unique (numéro) et le protocole BGP définit la manière dont les systèmes autonomes échangent des informations sur le routage IP.
Chaque ASN annonce des préfixes auxquels il peut fournir des données. Par exemple, si un AS se connecte à 1.0.0.0/8, il diffusera l'adresse aux pairs et aux fournisseurs.
Défauts de BGP
L'acceptation de la route BGP dépend de l'ingénierie du FAI. La diligence raisonnable des FAI ne va pas plus loin :les erreurs de saisie, les erreurs d'automatisation et les intentions malveillantes ne sont que quelques exemples difficiles à atténuer. En fin de compte, le cœur du problème est qu'il n'y a aucune vérité fondamentale quant à savoir qui devrait annoncer le chemin ou qui est le véritable propriétaire.
Les informations envoyées via Internet bénéficient d'une protection limitée contre les détournements BGP. Un piratage BGP se produit lorsqu'un AS fait une annonce BGP pour des préfixes IP égaux ou plus spécifiques que l'AS ne possède pas.
Détournements de même longueur de préfixe
Un détournement de longueur de préfixe égal se produit lorsqu'une personne qui n'est pas le propriétaire annonce le même préfixe. Par exemple :
- Origin AS envoie des données destinées à 1.0.0.0/8
- Destination AS annonce la version 1.0.0.0/8.
- Un AS différent annonce également 1.0.0.0/8.
Lorsqu'une annonce de longueur égale se produit, le BGP doit sélectionner une route. La décision dépend de la configuration de l'AS.
L'AS d'origine constate une légère baisse du trafic. La baisse du trafic est un phénomène courant qui peut se produire pour un certain nombre de raisons. Pour cette raison, le piratage BGP passe inaperçu.
Détournement de préfixe spécifique
Des détournements de préfixes spécifiques se produisent lorsqu'un ASN malveillant annonce un préfixe plus spécifique. Les deux préfixes sont ajoutés à la table de routage BGP, mais l'adresse la plus spécifique est sélectionnée comme meilleur chemin vers un réseau.
Par exemple :
- Origin envoie des données destinées à 1.0.0.0/8.
- Destination AS annonce la version 1.0.0.0/8.
- Un AS différent annonce un 1.2.3.0/24 plus spécifique.
Puisque 1.2.3.0/24 est une meilleure correspondance, toutes les données de la plage 1.2.3.0 vont au mauvais réseau.
Qu'est-ce que le RPKI ?
RPKI (R ressource P public K hé je nfrastructure) est une couche de sécurité dans le routage BGP qui fournit une confiance cryptographique totale envers la propriété où les propriétaires ont un identifiant accessible au public. Avec BGP, la vérité fondamentale de la propriété n'existe pas. N'importe qui est autorisé à annoncer un meilleur itinéraire, que ce soit par malveillance ou par accident.
RPKI est basé sur la norme PKI existante - RFC6480. Il existe de nombreuses références aux méthodologies de cryptographie existantes pour une communication sécurisée.
Pourquoi le RPKI est-il important ?
L'infrastructure à clé publique de ressources rend BGP plus sûr et plus fiable. La vulnérabilité d'Internet due au fonctionnement de BGP est un problème systématique. Avec la croissance d'Internet, les conséquences sont plus visibles.
Le routage des informations vers un petit réseau crée une surcharge. Un routage malveillant amène des informations sensibles au mauvais endroit. Les erreurs BGP peuvent entraîner des fraudes et des pannes à grande échelle. Certains cas notables sont :
- Amazon - Piratage Route 53 BGP d'Amazon DNS pour un braquage de crypto-monnaie.
- Google – Une mauvaise configuration du filtrage BGP lors d'une mise à jour a acheminé le trafic vers la Chine, la Russie et le Nigeria.
- Mastercard, Visa et grandes banques – Fuite de 36 préfixes de services de paiement.
- YouTube - Une tentative de blocage du site Web YouTube au Pakistan a fini par le supprimer.
Quelle forme de protection offre RPKI ?
Les problèmes BGP surviennent pour de nombreuses raisons :
- Pas de plan de sécurité fiable
- Erreurs de redistribution
- Fautes de frappe
- Méchanceté
Le facteur le plus courant est l'erreur humaine.
Le modèle de cryptographie de RPKI fournit une authentification de propriété via une clé publique et une infrastructure de certificats sans contenir d'informations d'identification. Les certificats ajoutent une couche de sécurité réseau aux préfixes IPv4 et IPv6. Les certificats RPKI sont renouvelés chaque année. HTTP utilise un cryptage similaire pour sécuriser les pages Web.
Bien que l'ensemble du chemin ne soit pas sécurisé, RPKI vérifie l'identité de l'origine et fournit un moyen de confirmer qu'il est bien celui qu'il prétend être. RPKI est une étape dans la sécurisation du routage BGP où nous connaissons l'origine des informations entrantes et qui possède quel espace.
Un déploiement à grande échelle le rend encore plus efficace pour prévenir les piratages en général.
Avantages RPKI
La mise en œuvre et l'utilisation de RPKI présentent les avantages suivants :
- Preuve d'origine . Les détenteurs de ressources disposent d'une preuve de propriété leur permettant d'utiliser des ressources spécifiques via une chaîne de certificats signés, ce qui permet d'éviter les erreurs concernant l'origine des informations.
- Vérification cryptographique de l'identité . Les détenteurs de ressources ont un moyen de prouver la propriété aux clients lors de la distribution des ressources.
- Prévention du détournement d'itinéraire . Les utilisateurs de ressources protègent les informations fournies par les détenteurs de ressources au moyen d'une signature numérique, qu'un détenteur de ressources vérifié génère et fournit à l'utilisateur. Les tentatives de modification de la signature la rendent invalide.
Comment fonctionne RPKI ?
Le RIR (R I régional internet R egistry) fournit la racine de confiance du modèle de chiffrement RPKI. L'IANA (je internet A signé N nombres A autorité) fait partie de l'ICANN (I internet C société pour A signé N ames et N umbers) qui possède l'espace d'adressage IPv4 et IPv6.
L'IANA sous-alloue des morceaux d'espace IP aux RIR. Les RIR locaux sous-allouent ensuite l'espace IP aux réseaux, qui sous-allouent ensuite à des réseaux plus petits. Ce chemin crée une chaîne de confiance dans la signature des certificats. Les régions RIR se divisent en cinq zones géographiques :
Acronyme | Nom complet | Région |
ARIN | Registre américain des numéros Internet | Amérique du Nord |
LACNIC | Centre d'information du réseau d'Amérique latine et des Caraïbes | Amérique latine |
RIPE NCC | Centre de Coordination Réseaux IP Européens | Europe, Asie occidentale et ex-URSS |
AFRINIC | Centre d'information du réseau africain | Afrique |
APNIC | Centre d'information du réseau Asie-Pacifique | Asie-Pacifique |
ROA
La dernière partie de la chaîne est le ROA (R sortie O origine A autorisation). Le ROA est un simple document contenant deux informations :
1. Quel est l'itinéraire et la longueur maximale.
2. L'AS annonçant la route.
Par exemple, si AS65005 annonce dans la plage 1.0.0.0/8 à 1.0.0.0/12, le ROA contient la portée et l'identifiant AS65005, validant qui est le véritable propriétaire de l'information en toute confiance.
Comment créer une ROA
Il y a plusieurs choses à considérer avant de créer une ROA :
- Seuls les propriétaires de préfixes peuvent créer une ROA.
- Chaque ROA est spécifique à l'un des RIR existants.
- Les propriétaires doivent générer une paire de clés de requête ROA avant de créer la ROA.
- Les demandes ROA sont soumises au RIR approprié.
Pour des informations détaillées sur la façon de créer une ROA, veuillez vous référer aux instructions décrites par chaque RIR respectif :
- ARIN - https://www.arin.net/resources/manage/rpki/hosted/
- RIPE - https://www.ripe.net/manage-ips-and-asns/resource-management/rpki/resource-certification-roa-management#---creating-and-editing-roas
- APNIC - https://blog.apnic.net/2019/09/11/how-to-creating-rpki-roas-in-myapnic/
Comment le RPKI est-il déployé ?
Le P en RP KI signifie que les certificats et les ROA sont accessibles dans des référentiels publics. Les informations sont utilisées pour générer des listes indiquant quels préfixes appartiennent à quels ASN.
Les signatures des certificats et la durée de vie des ROA sont vérifiées indépendamment par chaque réseau. Si l'une des actions suivantes échoue, la ROA est ignorée :
1. La date de début ou la date de fin de ROA et les certificats revenant à la racine sont passés ou futurs.
2. L'une des signatures est invalide ou révoquée.
Toutes les ROA qui ont passé le test cache dans une liste validée. Un filtre est généré et téléchargé vers les routeurs sur la base de la liste de cache validée. Les routeurs vérifient les annonces BGP via le filtre avec l'un des trois résultats :
- Valide – ROA est présent. La longueur du préfixe et le numéro AS correspondent.
- Non valide – ROA est présent. La longueur du préfixe ou le numéro AS ne correspond pas.
- Non trouvé ou Inconnu – Aucun ROA présent.
Le routeur agit en fonction de l'état du préfixe généré par le filtre.
Préfixes de signature
Les RIR offrent des outils en ligne pour signer les préfixes. Cela lie un préfixe et une longueur de préfixe à un AS. Une fois qu'un préfixe est signé, d'autres personnes ayant implémenté la validation RPKI peuvent valider les préfixes.
La signature de certificat empêche les préfixes d'être piratés (intentionnellement ou non). Les certificats signés sont au cœur de ROA. RPKI n'offre aucune validation de chemin et les attaques de l'homme du milieu sont toujours possibles.
Valider les préfixes
La mise en œuvre de la validation dépend des détails du réseau. Les étapes générales de configuration d'un réseau pour la validation des préfixes sont les suivantes :
1. Installer des validateurs RPKI – Logiciel qui récupère les données RPKI de tous les registres de routage Internet (IRR) et vérifie les signatures.
2. Configurer la validation sur les routeurs frontaliers avec le validateur de route – Les routeurs remplissent le cache de validation avec des combinaisons de préfixes validés, de longueurs de préfixe et d'ASN sources.
3. Mettre en œuvre des filtres BGP sur des sessions BGP externes – Ajout d'une politique à toutes les sessions BGP (homologue, transit et clients) pour rejeter tout préfixe RPKI invalide .