La raison de l'échec était que CenturyLink, en tant que fournisseur Level3, avait incorrectement formulé la règle BGPFlowspec dans le protocole de sécurité. BGP Flowspec est utilisé pour rediriger le trafic, cette erreur a donc entraîné de graves problèmes de routage au sein du réseau du fournisseur, ce qui a également affecté la stabilité de l'Internet mondial. Bien sûr, les utilisateurs aux États-Unis ont été les plus durement touchés, mais des échos des problèmes ont été ressentis dans le monde entier.
Il est important de noter que CenturyLink est la troisième plus grande entreprise de télécommunications d'Amérique, juste derrière AT&T et Verizon.
BGP Flowspec par IETF est RFC 5575 et est décrit comme une extension multi-protocole de BGP MP-BGP qui contient des informations d'accessibilité de couche réseau (NLRI) . BGP FlowSpec est une méthode alternative de vidage du trafic DDoS attaquant à partir d'une route, qui est considérée comme un moyen plus subtil d'échapper à une attaque que RTBH (Remote Triggered Black Hole Filtering) , lorsque tout le trafic de l'adresse d'attaque est bloqué, ou le trafic vers l'adresse de destination. En général, la RTBH est une «arme apocalyptique» et constitue un dernier recours pour arrêter une attaque, puisque son utilisation permet souvent à un attaquant de réaliser ce qu'il veut, c'est-à -dire d'isoler l'une des adresses.
BGP FlowSpec est plus subtil et est essentiellement un filtre de pare-feu qui est inséré dans BGP pour filtrer des ports et des protocoles spécifiques et détermine quel trafic passer quelle route. Ainsi, le trafic «blanc» va à l'adresse de destination, et défini comme DDoS - est supprimé de l'itinéraire. Le trafic est analysé par au moins 12 paramètres NLRI:
- Préfixe de destination. Spécifie le préfixe de destination de la correspondance.
- Préfixe source. Spécifie le préfixe d'origine.
- Protocole IP. Contient un ensemble de paires {opérateur, valeur} utilisées pour mapper l'octet de valeur IP dans les paquets IP.
- Port. Détermine si les paquets seront traités par TCP, UDP ou les deux.
- . , FlowSpec.
- . , FlowSpec.
- ICMP.
- ICMP.
- TCP.
- . IP- ( 2, IP-).
- DSCP. Class Of Service flag.
- Fragment Encoding
Il n'y a pas de rapports de crash complets de CenturyLink eux-mêmes, ils ne mentionnent que leur centre de données près de l'Ontario. Cependant, l'échec du routage était suffisamment grave pour être remarqué non seulement par les utilisateurs ordinaires, mais également par les ingénieurs de CloudFlare, qui utilisent également les services de CenturyLink en tant que grand fournisseur. Tout a commencé par un pic de 522 erreurs à 10 h 03 GMT le 30 août,
selon un rapport de CloudFlare .
Par exemple, le système de réacheminement automatique des pannes a pu réduire le nombre d'erreurs et les ramener à 25% de la valeur maximale, mais les problèmes de connectivité réseau et de disponibilité des ressources étaient encore persistants et étaient de nature mondiale. Tout cela a été fait dans une fenêtre entre 10h03 au début du crash et jusqu'à 10h11 UTC. Pendant ces huit minutes, l'automatisation et les ingénieurs ont déconnecté leur infrastructure de CenturyLink dans 48 (!) Villes d'Amérique du Nord et redirigé le trafic vers les canaux de secours d'autres fournisseurs.
De toute évidence, cela n'a pas été fait uniquement chez CloudFlare. Cependant, cela n'a pas complètement résolu le problème. Pour plus de clarté, quelle influence le fournisseur problématique a sur le marché des télécommunications aux États-Unis et au Canada, les ingénieurs de la société ont fourni une carte officielle de la disponibilité des services CenturyLink:
Aux États-Unis, le fournisseur est utilisé par 49 millions de personnes, ce qui signifie que pour certains clients, si l'on parle du rapport CloudFlare, et même de centres de données entiers, CenturyLink est le seul fournisseur disponible.
En conséquence, en raison de la chute presque complète de CenturyLink, les spécialistes de CloudFlare ont enregistré une réduction de 3,5% du trafic Internet mondial. Voici à quoi cela ressemblait sur le graphique des six principaux fournisseurs avec lesquels l'entreprise travaille. CenturyLink est rouge dessus.
Le fait que l'échec était mondial, et pas seulement «un problème dans le centre de données à l'extérieur de l'Ontario», comme l'a dit le fournisseur lui-même, est attesté par la taille des mises à jour des règles Flowspec. En règle générale, les mises à jour de configuration BGP Flowspec ont une taille d'environ 2 mégaoctets, mais les experts CloudFlare ont enregistré des mises à jour de configuration BGP jusqu'à 26 Mo (!).
Ces mises à jour, qui sont distribuées toutes les 15 minutes, partagent des informations avec les hôtes sur les modifications de l'intégrité des routes. Cela vous permet de répondre de manière flexible à certains problèmes locaux. Des mises à jour 10 à 15 fois plus importantes que d'habitude indiquent que la quasi-totalité du réseau du fournisseur est en panne ou qu'il existe des problèmes de connectivité extrêmement graves.
CloudFlare pense que l'échec a été causé par une règle BGP Flowspec globale incorrecte, qui a reçu la grande majorité des routeurs, qui ont ensuite effectué un redémarrage inversé pour tenter de restaurer la connexion. Cela s'inscrit dans l'image d'un accident qui a duré plus de 4 heures. C'était à ce moment-là que la surcharge de mémoire et de CPU des routeurs pouvait amener les ingénieurs à perdre l'accès à distance à un certain nombre de nœuds et d'interfaces de contrôle.
Au fait, cette histoire est loin d'être unique. Il y a un peu plus d'un an, Internet partout dans le monde «se couchait» en raison de la faute de CloudFlare eux-mêmes et de l'échec de leur DNS , et la même société mentionne honnêtement des problèmes similaires avec Flowspec il y a sept ans , après quoi ils ont abandonné son utilisation.