Détails d’une nouvelle forme de DDOS qui nécessite des ressources relativement minimes pour lancer une attaque d’une ampleur sans précédent, ce qui en fait un danger évident pour les sites Web alors que les éditeurs de logiciels serveurs s’empressent de publier des correctifs pour s’en protéger.
Exploit de réinitialisation rapide HTTP/2
La vulnérabilité tire parti des protocoles réseau HTTP/2 et HTTP/3 qui autorisent plusieurs flux de données vers et depuis un serveur et un navigateur.
Cela signifie que le navigateur peut demander plusieurs ressources à un serveur et les récupérer toutes, plutôt que d’avoir à attendre que chaque ressource soit téléchargée une par une.
L’exploit annoncé publiquement par Cloudflare, Amazon Web Services (AWS) et Google s’appelle HTTP/2 Rapid Reset.
La grande majorité des serveurs Web modernes utilisent le protocole réseau HTTP/2.
Comme il n’existe actuellement aucun correctif logiciel pour corriger la faille de sécurité HTTP/2, cela signifie que pratiquement tous les serveurs sont vulnérables.
Un exploit qui est nouveau et qui n’a aucun moyen de l’atténuer est appelé un exploit zero-day.
La bonne nouvelle est que les éditeurs de logiciels serveur travaillent au développement de correctifs pour remédier à la faiblesse HTTP/2.
Comment fonctionne la vulnérabilité de réinitialisation rapide HTTP/2
Le protocole réseau HTTP/2 dispose d’un paramètre de serveur qui autorise un nombre défini de requêtes à tout moment.
Les demandes dépassant ce nombre sont refusées.
Une autre fonctionnalité du protocole HTTP/2 permet d’annuler une requête, ce qui supprime ce flux de données de la limite de requête prédéfinie.
C’est une bonne chose car cela libère le serveur pour qu’il puisse se retourner et traiter un autre flux de données.
Cependant, ce que les attaquants ont découvert, c’est qu’il est possible d’envoyer des millions (oui, des millions) de requêtes et d’annulations à un serveur et de le submerger.
À quel point la réinitialisation rapide HTTP/2 est-elle mauvaise ?
Le L’exploit HTTP/2 Rapid Reset est extrêmement mauvais car les serveurs n’ont actuellement aucune défense contre cela.
Cloudflare a indiqué avoir bloqué une attaque DDOS 300 % plus importante que la plus grande attaque DDOS jamais réalisée dans l’histoire.
Le plus gros problème bloqué dépassait les 201 millions de requêtes par seconde (RPS).
Google signale une attaque DDOS dépassant les 398 millions de RPS.
Mais ce n’est pas là toute la gravité de cet exploit.
Ce qui rend cet exploit encore pire, c’est qu’il faut une quantité relativement insignifiante de ressources pour lancer une attaque.
Les attaques DDOS de cette taille nécessitent normalement des centaines de milliers, voire des millions d’ordinateurs infectés (appelés botnets) pour lancer des attaques à cette échelle.
L’exploit HTTP/2 Rapid Reset nécessite seulement 20 000 ordinateurs infectés pour lancer des attaques trois fois plus importantes que les plus grandes attaques DDOS jamais enregistrées.
Cela signifie que la barre est beaucoup plus basse pour que les pirates puissent lancer des attaques DDOS dévastatrices.
Comment se protéger contre la réinitialisation rapide HTTP/2 ?
Les éditeurs de logiciels serveur travaillent actuellement à la publication de correctifs pour remédier à la faiblesse de l’exploit HTTP/2. Les clients Cloudflare sont actuellement protégés et n’ont pas à s’inquiéter.
Cloudflare indique que dans le pire des cas, si un serveur est attaqué et sans défense, l’administrateur du serveur peut rétrograder le protocole réseau HTTP vers HTTP/1.1.
La dégradation du protocole réseau empêchera les pirates de poursuivre leur attaque, mais les performances du serveur pourraient ralentir (ce qui est au moins mieux que d’être hors ligne).
Lire les bulletins de sécurité
Article du blog Cloudflare :
La vulnérabilité HTTP/2 Zero-Day entraîne des attaques DDoS record
Alerte de sécurité Google Cloud :
Google a atténué la plus grande attaque DDoS à ce jour, culminant au-dessus de 398 millions de rps
Alerte de sécurité AWS :
CVE-2023-44487 – Attaque de réinitialisation rapide HTTP/2