Hervé Debar, Télécom SudParis – Institut Mines-Télécom
En fin de journée le 4 octobre, de nombreux utilisateurs ont été dans l’incapacité de se connecter à leurs comptes Facebook, Instagram ou WhatsApp. Tous ces services sont la propriété de l’entreprise Facebook, et ils ont été affectés par le même type de panne : une mise à jour accidentelle et erronée des informations de routage vers les serveurs de Facebook.
Le fonctionnement de l’Internet repose sur un ensemble de technologies, dont deux sont impliquées dans l’incident d’hier, BGP (border gateway protocol) et DNS (domain name system).
Rappelons que pour communiquer, chaque machine doit disposer d’une adresse IP. Une communication sur Internet consiste à mettre en relation deux adresses IP. Le contenu de chaque communication est découpé en paquets, échangés par le réseau entre une source et une destination.
Le fonctionnement du BGP (border gateway protocol)
Internet est composé d’un ensemble de « systèmes autonomes » (autonomous system ou AS en anglais). Il en existe plusieurs dizaines, certains très gros, d’autres plus petits. Certains AS sont interconnectés par des points d’échange qui leur permettent d’échanger des données. Chacun de ces systèmes est composé d’un ensemble de matériels appelés routeurs, reliés entre eux par des liens de communication optique ou électrique. Une communication sur Internet circule sur ces liens, et les routeurs sont chargés de faire passer une communication d’un lien à un autre suivant des règles de routage. Chaque AS est connecté au moins à un autre, voire plusieurs.
Lorsqu’un utilisateur connecte sa machine à Internet, il le fait en général par l’intermédiaire d’un fournisseur d’accès Internet (FAI). Ce FAI est lui-même un « système autonome ». Il dispose de plages d’adresse et en attribue une à chaque machine de ses clients. Chaque routeur recevant un paquet examine les deux adresses source et destination et décide de transférer le paquet sur le lien suivant, en fonction des règles de routage transmises dans ses tables.
Afin de peupler ces règles de routage, chaque AS diffuse vers les autres des informations décrivant la manière d’associer une plage d’adresses qu’il possède à un chemin de systèmes autonomes. Cette diffusion se fait par le protocole BGP (border gateway protocol), de proche en proche. Chaque routeur dispose ainsi de l’ensemble des informations nécessaires pour acheminer un paquet.
Le système de nommage DNS (domain name system)
L’utilisation des adresses IP étant peu transparente pour l’utilisateur final, Internet propose le système de nommage DNS (domain name system). Pour les serveurs disponibles sur Internet, cela permet d’associer « facebook.com » à l’adresse IP « 157.240.196.35 ».
Chaque possesseur de nom de domaine met en place (ou délègue) un serveur DNS qui associe les noms de domaine avec des adresses IP. C’est lui qui est considéré comme la source la plus fiable (autorité) de l’information DNS. C’est souvent la première cause de panne, car si la machine n’arrive pas à résoudre un nom (c’est-à-dire à associer le nom demandé par l’utilisateur à une adresse), l’utilisateur final reçoit un message d’erreur.
Chaque opérateur majeur de l’Internet, Facebook mais aussi Google, Netflix, Orange, OVH… possède un (ou plusieurs) AS et pilote le service BGP associé en relation avec ses pairs. Il possède également un ou plusieurs serveurs DNS qui font autorité sur ses domaines.
La panne
En fin de matinée le 4 octobre, Facebook a procédé à une modification de sa configuration BGP et l’a diffusée aux AS auxquels il est connecté. Cette modification a entraîné la disparition des routes vers Facebook, pour l’ensemble de l’Internet.
Les communications en cours avec les serveurs de Facebook se sont en conséquence interrompues, à mesure que l’effacement des routes se propageait d’AS en AS, puisque les routeurs n’étaient plus en mesure d’acheminer les paquets.
La conséquence la plus visible pour les utilisateurs a été une interruption du service DNS et un message d’erreur, puis que les serveurs DNS des FAI n’étaient plus en mesure (en raison de la panne BGP) de contacter le serveur autorité de Facebook.
Du côté de Facebook, cette panne a également entraîné des perturbations très importantes puisqu’aucun accès à distance n’était plus possible (donc concrètement, plus aucune possibilité de télétravailler). Les employés de Facebook se sont retrouvés dans l’impossibilité de communiquer entre eux, puisqu’ils utilisaient les mêmes outils pour leurs échanges. Il a donc été nécessaire de recourir à une intervention sur place dans les centres de calcul. Les contrôles d’accès des bâtiments étant également des services en ligne, cet accès semble s’être révélé plus complexe que prévu.
Finalement, le nom de domaine « facebook.com » n’étant plus référencé a été identifié comme libre par plusieurs sites spécialisés pendant la durée de la panne, et a été présenté comme un candidat à enchères.
Les conséquences pour les utilisateurs
L’accès aux informations de tous les utilisateurs de Facebook a donc été impossible pendant la durée de la panne. Facebook est devenu un service très important pour de nombreuses communautés d’utilisateurs, permettant à des professionnels ou des étudiants d’échanger sur des groupes privés par exemple. Ces utilisateurs ont donc été dans l’impossibilité de travailler normalement.
Facebook est également un fournisseur d’identité pour de nombreux services sur Internet, agissant comme « single sign-on ». Les utilisateurs réutilisent leur compte Facebook pour accéder à d’autres services que ceux proposés par la société. Du fait de l’impossibilité d’accéder à Facebook, les utilisateurs ont dû réutiliser d’autres informations de connexion (qu’ils avaient peut-être perdues par ailleurs) pour obtenir l’accès.
Tout au long de la panne, les utilisateurs ont continué à demander à accéder à Facebook, engendrant ainsi un accroissement du nombre de requêtes DNS diffusées sur Internet. Cela a créé une surcharge temporaire mais bien visible de l’activité DNS mondiale.
Cette panne illustre la place croissante et la criticité de ces services en ligne sur notre vie quotidienne. Elle illustre également la fragilité encore importante de ces services et la difficulté que nous avons à les piloter. Il devient donc de plus en plus important d’opérer ces services avec autant de professionnalisme et de rigueur que d’autres services critiques.
Par exemple, nos services bancaires sont largement, si ce n’est uniquement, en ligne sur Internet aujourd’hui. Une panne telle que celle ayant affecté Facebook peut plus difficilement se produire sur un service bancaire en raison des normes et réglementations mises en place pour déployer ces services (Directive sur la sécurité des réseaux et services, Règlement général sur la protection des données, PCI-DSS).
En comparaison, Facebook édicte ses propres règles de fonctionnement et échappe partiellement aux règles communes telles que le RGPD. La mise en place d’obligations de service pour ces grandes plates-formes pourrait ainsi amener à une meilleure qualité de service. Notons toutefois qu’aucune banque n’opère un réseau aussi imposant que l’infrastructure de Facebook, dont la taille accroît bien évidemment les difficultés de fonctionnement.
Plus généralement, après de nombreuses années de recherche et de normalisation, des mécanismes de sécurité pour BGP et DNS sont en train d’être déployés, pour prévenir des attaques ayant des effets similaires. Il convient donc d’accélérer le déploiement de ces mécanismes de sécurité pour améliorer encore la fiabilité d’Internet.
Hervé Debar, Directeur de la Recherche et des Formations Doctorales, Directeur adjoint, Télécom SudParis – Institut Mines-Télécom
Cet article est republié à partir de The Conversation sous licence Creative Commons. Lire l’article original.