Le 1er avril, une partie du trafic de quelques-uns des plus grands CDN et fournisseurs de cloud a été reroutée par la Russie. Un détournement BGP dont s'est rendu coupable l'opérateur national Rostelecom, dont on ne sait s'il a été intentionnel ou accidentel.
Google, Amazon, Facebook, Akamai, CloudFlare, GoDaddy, Digital Ocean… tous ont vu leur trafic détourné mercredi dernier. En cause, une technique bien connue sur le backbone Internet : le détournement BGP, pour Border Gateway Protocol. Ce système de routage basé sur TCP a ses mérites, notamment en termes de décentralisation, mais n'est plus tout jeune, ni très robuste. D'où de multiples détournements, parfois intentionnels, parfois accidentels.
Et dès lors que le pirate du routage est Chinois ou Russe, le détournement fait les gros titres. China Telecom s'en est fait une spécialité, mais l'opérateur télécom national russe, Rostelecom, n'est pas en reste. En 2017, il détournait ainsi le trafic de Visa, MasterCard et d'autres géants de la finance. Il a rempilé le 1er avril, à grande échelle cette fois-ci. L'incident a concerné, pendant une heure, près de 8000 préfixes, pour quelque 200 opérateurs de Cloud et de CDN.
Une mauvaise blague
BGPmon explique avoir détecté le détournement peu après 19h UTC mercredi 1er avril. Détourner le trafic n'est guère complexe, puisqu'il suffit à un système autonome (AS) de communiquer un faux chemin d'accès de sorte à passer pour les autres acteurs comme le destinataire légitime des paquets IP qu'ils envoient : leur trafic sera donc rerouté par les serveurs du pirate.
Avant l'essor du HTTPS, le détournement BGP servait notamment à des attaques de type man-in-the-middle, mais avec le recours croissant au chiffrement du classique, la méthode a perdu de son intérêt. A moins d'avoir bien sûr les moyens de le stocker et de le déchiffrer. Cependant, il est également probable que ce détournement soit purement accidentel, une erreur humaine ou informatique pouvant annoncer des chemins d'accès, des préfixes ou des ASN (Autonomous System Number) erronés.