Ranjivosti HTTP/2 protokola na 'Rapid Reset' DDoS napade

Dana 10. listopada 2023. godine Cloudflare, Google i Amazon AWS su zajednički objavili ranjivost koja pogađa HTTP/2 protokol. Ranjivost identificirana kao CVE-2023-44487, utječe na različite web usluge i korisnike u oblaku. Ova ranjivost se aktivno iskorištava i rezultira raspodijeljenim napadima uskraćivanja usluge (engl. Distributed Denial of Service - DDoS) koji su značajno veći od prethodnih napada na aplikacijskom sloju (engl. Application Layer - Layer 7).
Preporučuje se identifikacija svih usluga koje koriste HTTP/2, a izložene su na internetu, te primjenu zakrpa ili preporuka za ublažavanje štetnih posljedica povezanih s navedenom ranjivosti.
 
Tehnički detalji ranjivosti:
Ranjivost iskorištava propust u HTTP/2 protokolu, omogućujući napadačima generiranje hiper-volumetrijskih DDoS napada. Napad uključuje slanje velikog broja HTTP/2 stream-ova i njihovo trenutno otkazivanje, stvarajući asimetriju u komunikaciji između klijenta i poslužitelja. Napadač iskorištava RST_STREAM i GOAWAY okvire HTTP/2 protokola kako bi manipulirao vezom čime ostavlja poslužitelj da obavlja značajan posao za otkazane zahtjeve dok klijent gotovo i nije aktivan.
 
Zahvaćeni proizvodi: 
Sve web usluge i proizvodi koji koriste HTTP/2 protokol (nginx, apache, IIS, itd.).
Apache Tomcat
  • Od verzije 8.5.0 do verzije 8.5.93
Kong
Sve podržane verzije Kong Gatewaya, Kong Mesha i Kume su zakrpane. Sljedeće verzije navedenih proizvoda sadrže ažuriranje za ranjivost HTTP/2 protokola na 'Rapid Reset' DDoS napade:
  • Kong Gateway Enterprise: 2.8.4.4, 3.1.1.6, 3.2.2.5, 3.3.1.1, 3.4.1.1
  • Kong Gateway OSS: 3.4.2
  • Kong Mesh: 2.0.8, 2.1.7, 2.2.5, 2.3.3, 2.4.3
  • Kuma: 2.0.8, 2.1.7, 2.2.5, 2.3.3, 2.4.3
Proizvodi koji nisu zahvaćeni: 
Web aplikacije, zaštićene su od strane sljedećih pružatelja zaštite od DDoS napada ili mreža za isporuku sadržaja (engl. Content Delivery Networks - CDN), ne bi trebale biti pogođene:
  • AWS
  • Cloudflare
  • Google Cloud
  • Microsoft Azure
  • HAProxy
Detekcija omogućenog HTTP/2
Openssl:
echo 1 | openssl s_client -alpn h2 -connect google.com:443 -status 2>&1 | grep "ALPN"
Nmap:
nmap -p 443 --script=tls-nextprotoneg <www.google.com>
 
Preporuke:
Apache, Microsoft (IIS i MsQuic) te Kong su izdali zakrpu za ovu ranjivost te se preporučuje žurna primjena potrebnih zakrpa.
 
Također ako je sustav zahvaćen, preporučuje se:
  • Praćenje statistika veza i identifikacija zlouporabe veza.
  • Zatvaranje veza koje premašuju ograničenje istovremenih tokova, ili odmah ili nakon malog broja ponovljenih prekršaja.
  • Implementiranje snažnih GOAWAY okvira kako bi se odmah ograničila kreacija tokova.
  • Kao posljednje rješenje, razmotriti onemogućavanje HTTP/2 i HTTP/3 kako biste ublažili prijetnju, iako to može rezultirati problemima s performansama.
Na dugoročnoj razini, preporučuje se korištenje mehanizama zaštite od DDoS napada.
 
Ublažavanje štetnih posljedica povezanih s navedenom ranjivosti:
S obzirom da je ranjivost nedavno otkrivena, svi proizvođači još nisu pružili preporuke te je potrebno pratiti sigurnosne objave i detaljne upute povezane s navedenom ranjivosti.
Nginx
Onemogućavanje HTTP/2 u NGINX-u nije potrebno, već je potrebno konfigurirali sljedeće elemente:
  • keepalive_requests treba ostati na zadanoj postavci od 1000 zahtjeva
  • http2_max_concurrent_streams treba ostati na zadanoj postavci od 128 tokova
  • limit_conn primjenjuje ograničenje na broj veza dopuštenih od jednog klijenta. Ovaj element treba biti dodana s razumnom postavkom balansiranja između performansi aplikacije i sigurnosti.
  • limit_req primjenjuje ograničenje na broj zahtjeva koji će biti obrađeni unutar određenog vremenskog razdoblja od jednog klijenta. Ovaj element treba biti dodana s razumnom postavkom balansiranja između performansi aplikacije i sigurnosti.
Nginx planira izdati zakrpu koja povećava stabilnost pod ovim uvjetima.
Microsoft IIS i MsQuic
Microsoft je objavio sigurnosno ažuriranje kao i privremenu mjeru čije se korištenje preporučuje samo ako ne postoji mogućnost instaliranja najnovijeg ažuriranja.
Nadalje, objavljena je zakrpa za proizvod MsQuic te se savjetuje žurna primjena ažuriranja. 
Netscaler
Netscaler je objavio preporuke za smanjenje opterećenja na pozadinskim poslužiteljima iza Netscaler proizvoda za uravnoteženje opterećenja (engl. loadbalancers) i prebacivanje sadržaja (engl. content switching). Prije primjene predloženih riješenja savjetuje se razmatranje učinaka njihove primjene.
Opće rješenje ublažavanja:
Ukloniti referencu na http2 u listening dijelu konfiguracijske datoteke web poslužitelja.

Više informacija moguće je pročitati na poveznicama u nastavku: 

[Inicijalna objava: 13.10.2023 - 13:35]
[Ažurirana objava: 18.10.2023 - 15:18]