RangeAmp - niz CDN napada koji manipuliraju Range HTTP zaglavljem

Tim istraživača sa Sveučilišta Peking, Sveučilišta Tsinghua i Sveučilišta Texas u Dallasu otkriveno nova klasa DoS napada - RangeAmp, temeljena na korištenju HTTP zaglavlja Raspon organizirati povećanje prometa putem mreža za isporuku sadržaja (CDN). Bit metode je da zbog načina na koji se Range zaglavlja obrađuju u mnogim CDN-ovima, napadač može zatražiti jedan bajt iz velike datoteke kroz CDN, ali će CDN preuzeti cijelu datoteku ili puno veći blok podataka s ciljni poslužitelj koji će se smjestiti u predmemoriju. Stupanj pojačanja prometa tijekom takvog napada, ovisno o CDN-u, kreće se od 724 do 43330 puta, što se može koristiti za preopterećenje CDN-a dolaznim prometom ili smanjenje kapaciteta konačnog komunikacijskog kanala do mjesta žrtve.

RangeAmp - niz CDN napada koji manipuliraju Range HTTP zaglavljem

Zaglavlje Range daje klijentu mogućnost da specificira raspon pozicija u datoteci koje treba preuzeti umjesto vraćanja cijele datoteke. Na primjer, klijent može navesti "Raspon: bajtova=0-1023" i poslužitelj će prenijeti samo prvih 1024 bajta podataka. Ova značajka je tražena prilikom preuzimanja velikih datoteka - korisnik može pauzirati preuzimanje i zatim nastaviti s prekinutog položaja. Kada se specificira “bytes=0-0”, standard upućuje da se da prvi bajt u datoteci, “bytes=-1” - posljednji, “bytes=1-” - počevši od 1 bajta do kraja datoteke. Moguće je prenijeti nekoliko raspona u jednom zaglavlju, na primjer “Raspon: bajt=0-1023,8192-10240”.

Dodatno, predložena je druga opcija napada, usmjerena na povećanje opterećenja mreže prilikom prosljeđivanja prometa kroz drugi CDN, koji se koristi kao proxy (na primjer, kada Cloudflare djeluje kao sučelje (FCDN), a Akamai djeluje kao pozadina ( BCDN). Metoda je slična prvom napadu, ali je lokalizirana unutar CDN mreža i omogućuje povećani promet kada se pristupa putem drugih CDN-ova, povećavajući opterećenje infrastrukture i smanjujući kvalitetu usluge.

Ideja je da napadač CDN-u šalje Range zahtjeve nekoliko raspona, kao što su "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." ili "bajtova=-1024,0 ,0-,0-...". Zahtjevi sadrže veliki broj raspona "0-", što znači da se datoteka vraća od nulte pozicije do kraja. Zbog neispravne implementacije parsiranja raspona, kada prvi CDN pristupi drugom, kompletna datoteka se šalje za svaki raspon "53-" (rasponi se ne agregiraju, već se ponavljaju uzastopno), ako postoji dupliciranje i križanje raspona u zahtjev koji je inicijalno poslao napadač. Stupanj pojačanja prometa u takvom napadu kreće se od 7432 do XNUMX puta.

RangeAmp - niz CDN napada koji manipuliraju Range HTTP zaglavljem

Tijekom istraživanja proučavano je ponašanje 13 CDN-ova -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath i Tencent Cloud. Svi ispitani CDN-ovi dopuštali su prvu vrstu napada na krajnji poslužitelj. Druga varijanta CDN napada zahvatila je 6 servisa, od kojih su četiri mogla djelovati kao frontend u napadu (CDN77, CDNsun, Cloudflare i StackPath), a tri kao backend (Akamai, Azure i StackPath). Najveći dobitak postignut je u Akamaiju i StackPathu, koji dopuštaju navođenje više od 10 tisuća raspona u zaglavlju Range. Vlasnici CDN-a su o ranjivostima obaviješteni prije otprilike 7 mjeseci, a do trenutka kada je informacija javno objavljena, 12 od 13 CDN-ova je riješilo uočene probleme ili izrazilo spremnost za njihovo uklanjanje (jedino StackPath servis nije odgovorio).

Izvor: opennet.ru

Dodajte komentar