HTTP/2 Rapid Reset Attack

Ieri, in una dichiarazione congiunta, Google , Amazon AWS e CloudFlare hanno reso noto un nuovo tipo di attacco DDOS, veicolato verso i vari webserver, sfruttando una caratteristica del protocollo di trasferimento HTTP/2.

Da quanto emerso, tale specifico attacco DDOS sarebbe iniziato dal 25 agosto di questo anno, ed avrebbe raggiunto volumi mai evidenziatesi in precedenza con nessun altra tipologia di attacco DDOS, anche considerando che la sorgente degli attacchi è stata una botnet non particolarmente grande (si parla di circa 20.000 device).

SI tratta quindi di un nuovo vettore di attacco, molto insidioso in quanto con pochi device zombie si riesce a veicolare un elevatissimo numero di pacchetti che portano il DDOS contro il webserver sotto attacco (Google ha registrato picchi di 398 milioni di pacchetti al secondo).

Questo attacco è attuato abusando di alcune funzionalità del protocollo HTTP/2 e – specialmente – delle singole specifiche di implementazione del protocollo HTTP/S nei vari webserver (vedere CVE-2023-44487 ed il dettagliato post sul blog di CloudFlare per tutti i dettagli).

Poiché l’attacco DDOS sfrutta una caratteristica del protocollo HTTP/2, in generale sono vulnerabili – più o meno – tutti i webserver attualmente usati. Semplificando, mentre nel protocollo precedente HTTP/1.1 ogni richiesta è “seriale”, nel protocollo HTTP/2 le richieste sono “parallelizzate”; l’attacco HTTP/2 Rapid Reset avviene generando un elevatissimo numero di richieste parallele verso il server web, immediatamente seguite dal comando “RST_STREAM”; questo determina che si realizzano un numero elevatissimo di “STREAMS” aperti in contemporanea, saturando la capacità del webserver.

La superficie di attacco comunque è variabile per ciascun webserver, derivante dalle specifiche implementazioni del protocollo HTTP/2 di ciascun vendor; senza voler entrare nelle guerre di religione di ciascun tifoso per un web-server o un altro, dai nostri controlli che stiamo svolgendo è emerso che:

  • Apache2 è parzialmente vulnerabile; il vendor non ha ancora dato molta evidenza alla nuova problematica, ma è stata prontamente rilasciata una libreria aggiornata che mitiga il problema.
  • IIS di Microsoft è risultato vulnerabile; Microsoft ha predisposto una pagina di approfondimento ed è stato già rilasciato l’aggiornamento dei componenti software interessati del webserver IIS.
  • NGINX è parzialmente vulnerabile, si suggeriscono misure di mitigazione e sono allo studio misure di hardening.
  • LiteSpeed dichiara che LiteSpeed servers are NOT subject to the attack, and this comes down to our unique HTTP/2 implementation“, anche se non ne saremmo così sicuri e vorremmo valutare il webserver sotto attacco portato da decine di migliaia di bot.

Ovviamente, questa ultima considerazione è valida per ogni tipologia di web-server, ed in ogni installazione, anche quella più robusta o prestazionale; in questa specifica tipologia di attacco DDOS (ma in generale anche per altre tipologie di attacchi DDOS, come ad esempio lo Slow HTTP Attack) la migliore misura di protezione è costituita dalla frapposizione di una CDN al webserver.

A presto con altri aggiornamenti, stiamo conducendo una moltitudine di test ed hardening di varie implementazioni; ovviamente non abbiamo 20k bots per testare dal vivo la resilienza delle contromisure attuate.

Stay tuned!