CPDoS napad može zatrovati CDN-ove da isporuče stranice s pogreškama umjesto legitimnih stranica

  • Oct 17, 2023

CloudFront, Cloudflare, Fastly, Akamai i drugi pogođeni novim CPDoS napadom trovanja predmemorije weba.

CPDoS

Vidi al

  • 10 opasnih ranjivosti aplikacija na koje treba pripaziti (besplatni PDF)

Dva akademika s Tehničkog sveučilišta u Kölnu (TH Koln) ovaj su tjedan otkrila novu vrstu web napada koji mogu zatrovati mreže za isporuku sadržaja (CDN-ove) u predmemoriju i posluživanje stranica s pogreškama umjesto legitimnih web stranice.

Novi napad nazvan je CPDoS (Cache-Poisoned Denial-of-Service), ima tri varijante i smatra se praktičnim u stvarnom svijetu (za razliku od većine drugih napada na web cache).

Kako funkcioniraju CPDoS napadi

CPDoS napadi usmjereni su na dvije komponente modernog weba -- (1) web poslužitelje i (2) mreže za isporuku sadržaja.

Web poslužitelji pohranjuju originalnu web stranicu i njen sadržaj, dok CDN-ovi pohranjuju predmemoriranu kopiju web stranice koja se samo osvježava u određenim vremenskim intervalima.

Unatoč svojoj jednostavnoj ulozi, CDN-ovi su ključni dio modernog interneta jer mogu ublažiti opterećenje web poslužitelja. Umjesto da web poslužitelj uvijek iznova računa isti zahtjev korisnika, CDN može nekim od dolaznih korisnika osigurati kopiju web stranice, dok se CDN ne osvježi novom verzijom.

CDN-ovi su naširoko korišteni. Svaki napad na CDN sustav može imati razorne posljedice na dostupnost web stranice, a time i na njenu profitabilnost.

U ovom kontekstu, CPDoS radi ovako:

  • Napadač se spaja na web mjesto sve dok njegov zahtjev ne generira novi CDN unos
  • Napadačev zahtjev sadrži neispravno ili preveliko HTTP zaglavlje
  • CDN dopušta ovom zaglavlju da prođe do legitimne stranice, tako da se može obraditi i generirati web stranicu koju CDN sprema u predmemoriju
  • Predimenzionirano zaglavlje uzrokuje pogrešku na web poslužitelju
  • Poslužitelj generira stranicu s pogreškom (pogreška "400 Bad Request")
  • Stranica s pogreškom je predmemorirana na CDN-u
  • Drugi korisnici koji pristupaju stranici dobivaju stranicu s pogreškom umjesto stvarne web stranice
  • Predmemorirana pogreška širi se na druge čvorove CDN mreže, stvarajući lažni prekid rada na legitimnom mjestu
Slika: Nguyen et al.

Prema istraživačkom timu, postoje tri varijante CPDoS napada, ovisno o tome kako napadači odluče strukturirati krivo oblikovano zaglavlje. Imena su sama po sebi razumljiva, s korištenjem prevelikih polja zaglavlja, meta znakova koji pokreću pogreške ili uputa koje nadjačavaju normalne odgovore poslužitelja.

  • Preveliko HTTP zaglavlje (HHO)
  • HTTP meta znak (HMC)
  • Nadjačavanje HTTP metode (HMO)

Nećemo raspravljati o tehničkim razlikama svakog napada, budući da je to izvan dosega ovog članka. Dostupno je više detalja i demonstracija na ovoj web stranici, ili kod istraživača CPDoS bijeli papir.

CPDoS napadi smatraju se praktičnima

Tijekom istraživanja praktičnosti CPDoS napada, tim TH Koln rekao je da su uspjeli prenijeti iz široko rasprostranjenih napada trovanjem predmemorije na testnu web stranicu smještenu na mreži nekoliko CDN-ova pružatelji usluga.

Na primjer, karta ispod prikazuje napadača (simbol opasnosti) koji pokreće napad na CDN poslužitelj legitimne web-lokacije (plavo marker), koji zatim širi predmemoriranu stranicu pogreške na druge CDN poslužitelje (crveni markeri), trujući veliki dio CDN davatelja mreža.

Slika: Nguyen et al.

Takvi napadi kao što je gore opisani mogu uzrokovati produženi prekid rada legitimnih web stranica, stvarajući financijske gubitke vlasniku web stranice.

Dobra vijest je da nisu svi web poslužitelji (implementacije HTTP protokola) i CDN mreže ranjivi.

Donja tablica pokazuje koje su kombinacije poslužitelja i CDN-a ranjive, prema testovima istraživača.

Slika: Nguyen et al.

Ublažavanja postoje

Sredstva za ublažavanje CPDoS napada, srećom, postoje. Najjednostavnije rješenje je da vlasnici web stranica konfiguriraju svoju CDN uslugu tako da prema zadanim postavkama ne spremaju stranice s HTTP pogreškama u predmemoriju.

Mnogi pružatelji CDN usluga uključuju takve postavke u svoje nadzorne ploče, tako da ovo neće biti težak korak.

Ako vlasnici web-mjesta nemaju kontrole na svojoj CDN web nadzornoj ploči za onemogućavanje predmemoriranja stranica s pogreškama, mogu onemogućiti ovo iz konfiguracijskih datoteka poslužitelja dodavanjem HTTP zaglavlja "Cache-Control: no-store" na svaku stranicu pogreške tip.

Složenije rješenje za rješavanje CPDoS napada nalazi se na samim pružateljima CDN-a, koji će vjerojatno morati modificirati način rada svojih proizvoda.

Da objasnimo – i prema istraživačkom timu – razlog zašto su neki CDN pružatelji ranjivi na CPDoS napade je taj što ne slijede protokole internetskog predmemoriranja.

"Standard web predmemoriranja dopušta samo [CDN-ovima] da predmemoriraju kodove pogrešaka 404 nije pronađeno, 405 Metoda nije dopuštena, 410 Otišao i 501 Nije implementirano", rekao je istraživački tim, ističući da CDN-ovi ne bi trebali spremati u predmemoriju stranice s pogreškama "400 Bad Request" koje generiraju CPDoS napadi.

"Stoga je pohranjivanje stranica s pogreškama u predmemoriju prema pravilima HTTP standarda prvi korak u izbjegavanju CPDoS napada", rekli su.

Primjena ovog pristupa je složenija i zahtijeva određeni rad u pozadini mnogih CDN pružatelja usluga. Do tada je lakše primijeniti prve protumjere.

Budući da su CPDoS napadi praktički mogući, uz minimalan napor većina vlasnika web stranica trebala bi moći zaštititi svoje poslužitelje od moguće zlouporabe.

Istraživači upozoravaju webmastere da ne ignoriraju problem. Prema njihovim testovima, 30% Alexa Top 500 web stranica, 11% domena Ministarstva obrane i 16% URL-ovi iz uzorka od 365 milijuna URL-ova dobivenog iz arhive Google Big Query bili su potencijalno ranjivi na CPDoS napadi.

Usluge u oblaku: 24 manje poznate web usluge koje vaša tvrtka mora isprobati

Sigurnost

8 navika iznimno sigurnih radnika na daljinu
Kako pronaći i ukloniti špijunski softver s telefona
Najbolje VPN usluge: Kako se uspoređuju prvih 5?
Kako saznati jeste li uključeni u povredu podataka -- i što učiniti sljedeće
  • 8 navika iznimno sigurnih radnika na daljinu
  • Kako pronaći i ukloniti špijunski softver s telefona
  • Najbolje VPN usluge: Kako se uspoređuju prvih 5?
  • Kako saznati jeste li uključeni u povredu podataka -- i što učiniti sljedeće