RangeAmp — serija napada na CDN, koja manipulira HTTP zaglavljem Range.

Grupa istraživača s Pekinškog sveučilišta, Sveučilišta Tsinghua i Sveučilišta Texas u Dallasu otkrila novu klasu DoS napada — RangeAmp, koji se temelji na korištenju HTTP zaglavlja Raspon za organizaciju pojačanja prometa putem mreža za isporuku sadržaja (CDN). Suština metode leži u tome da, zbog osobitosti obrade Range zaglavlja u mnogim CDN-ima, napadač može zatražiti jedan bajt iz velikog datoteke putem CDN-a, ali će CDN preuzeti cijelu datoteku ili znatno veći blok podataka s ciljnog poslužitelja za pohranu u predmemoriji. Stepen pojačanja prometa tokom takvog napada, ovisno o CDN-u, iznosi od 724 do 43330 puta, što se može iskoristiti za preopterećenje dolaznog prometa CDN-a ili smanjenje propusnosti krajnjeg komunikacijskog kanala do web stranice žrtve.

RangeAmp - serija napada na CDN, koja manipulira HTTP zaglavljem Range

Zaglavlje Range omogućuje klijentu da odredi raspon pozicija u datoteci koje bi trebalo preuzeti umjesto isporuke cijele datoteke. Na primjer, klijent može navesti "Range: bytes=0-1023" i poslužitelj će prenijeti samo prvih 1024 bajta podataka. Ova mogućnost je posebno korisna pri preuzimanju velikih datoteka — korisnik može pauzirati preuzimanje i zatim ga nastaviti s prekinutog mjesta. Kada se navede "bytes=0-0", standard nalaže isporuku prvog bajta u datoteci, "bytes=-1" — posljednjeg, "bytes=1-" — počevši od 1 bajta do kraja datoteke. Dopušteno je slanje nekoliko raspona u jednom zaglavlju, primjerice "Range: bytes=0-1023,8192-10240".

Dodatno je predložena druga varijanta napada, usmjerena na povećanje mrežnog opterećenja putem propuštanja prometa kroz još jedan CDN, koji se koristi kao proxy (na primjer, kada kao frontend (FCDN) djeluje Cloudflare, a backend (BCDN) — Akamai). Ova metoda podsjeća na prvi napad, ali se lokalizira unutar CDN mreža i omogućuje pojačanje prometa pri pozivanju kroz druge CDN-e, povećavajući opterećenje na infrastrukturi i smanjujući kvalitetu usluge.

Ideja je u tome da napadač šalje CDN Range zahtjeve za nekoliko raspona, poput «bytes=0-,0-,0-…», «bytes=1-,0-,0-…» ili «bytes=-1024,0-,0-…». Zahtjevi sadrže velik broj raspona «0-«, podrazumijevajući isporuku datoteke od nulte pozicije do kraja. Zbog nepravilne implementacije analize raspona prilikom pozivanja prvog CDN-a na drugi, za svaki raspon «0-» isporučuje se cijela datoteka (rasponi se ne agregiraju, već se pravilno obrađuju), ako u izvorno poslanom napadačevom zahtjevu postoji dupliciranje i preklapanje raspona. Stepen pojačanja prometa u takvom napadu iznosi od 53 do 7432 puta.

RangeAmp - serija napada na CDN, koja manipulira HTTP zaglavljem Range

Tijekom istraživanja proučeno je ponašanje 13 CDN-a —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath i Tencent Cloud. Svi analizirani CDN-i dopustili su prvi tip napada na krajnji server. Drugu vrstu napada na CDN podvrgnuto je 6 usluga, od kojih četiri mogu djelovati kao frontend u napadu (CDN77, CDNsun, Cloudflare i StackPath) i tri kao backend (Akamai, Azure i StackPath). Najveće pojačanje postiže se u Akamai i StackPath, koji dopuštaju navođenje u Range zaglavlju više od 10 tisuća raspona. Vlasnici CDN-a obaviješteni su o ranjivostima prije otprilike 7 mjeseci, a do trenutka javnog otkrića 12 od 13 CDN-a popravili su uočene probleme ili izrazili spremnost za njihovo rješavanje (samo usluga StackPath nije odgovorila).

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster