RangeAmp – niz napadov CDN, ki manipulirajo z glavo Range HTTP

Skupina raziskovalcev z Univerze v Pekingu, Univerze Tsinghua in Univerze v Teksasu v Dallasu razkrila nov razred DoS napadov - RangeAmp, ki temelji na uporabi glave HTTP Območje organizirati povečanje prometa prek omrežij za dostavo vsebin (CDN). Bistvo metode je, da lahko zaradi načina obdelave glav Range v številnih CDN-jih napadalec zahteva en bajt iz velike datoteke prek CDN-ja, vendar bo CDN prenesel celotno datoteko ali veliko večji blok podatkov iz ciljni strežnik, ki bo nameščen v predpomnilniku. Stopnja povečanja prometa med takšnim napadom se glede na CDN giblje od 724 do 43330-krat, kar se lahko uporabi za preobremenitev CDN z dohodnim prometom ali zmanjšanje zmogljivosti končnega komunikacijskega kanala do mesta žrtve.

RangeAmp – niz napadov CDN, ki manipulirajo z glavo Range HTTP

Glava obsega daje odjemalcu možnost, da določi obseg položajev v datoteki, ki jih je treba prenesti, namesto da vrne celotno datoteko. Na primer, odjemalec lahko določi "Range: bytes=0-1023" in strežnik bo poslal samo prvih 1024 bajtov podatkov. Ta funkcija je potrebna pri nalaganju velikih datotek - uporabnik lahko začasno ustavi prenos in nato nadaljuje s prekinjenega položaja. Pri podajanju “bytes=0-0” standard naroča podati prvi bajt v datoteki, “bytes=-1” - zadnji, “bytes=1-” - začenši od 1 bajta do konca datoteke. V eni glavi je mogoče prenesti več obsegov, na primer »Obseg: bajti=0-1023,8192-10240«.

Poleg tega je bila predlagana druga možnost napada, katere cilj je povečati obremenitev omrežja pri posredovanju prometa prek drugega CDN, ki se uporablja kot proxy (na primer, ko Cloudflare deluje kot frontend (FCDN), Akamai pa kot backend ( BCDN). Metoda je podobna prvemu napadu, vendar je lokalizirana znotraj omrežij CDN in omogoča povečan promet pri dostopu prek drugih CDN, kar poveča obremenitev infrastrukture in zmanjša kakovost storitve.

Ideja je, da napadalec CDN pošlje zahteve za obseg več obsegov, kot so "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." oz. "bajtov=-1024,0 ,0-,0-...". Zahteve vsebujejo veliko število obsegov »0-«, kar pomeni, da je datoteka vrnjena od položaja nič do konca. Zaradi nepravilne implementacije razčlenjevanja obsega se, ko prvi CDN dostopa do drugega, pošlje celotna datoteka za vsak obseg »53-« (obsegi niso združeni, ampak se zaporedno ponavljajo), če pride do podvajanja in preseka obsegov v zahtevo, ki jo je prvotno poslal napadalec. Stopnja povečanja prometa pri takšnem napadu se giblje od 7432 do XNUMX-krat.

RangeAmp – niz napadov CDN, ki manipulirajo z glavo Range HTTP

Med študijo so preučevali obnašanje 13 CDN -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath in Tencent Cloud. Vsi pregledani CDN-ji so omogočili prvo vrsto napada na končni strežnik. Druga različica napada CDN je prizadela 6 storitev, od katerih bi lahko štiri delovale kot frontend v napadu (CDN77, CDNsun, Cloudflare in StackPath) in tri kot backend (Akamai, Azure in StackPath). Največji dobiček je dosežen pri Akamai in StackPath, ki omogočata podajanje več kot 10 tisoč obsegov v glavi Range. Lastniki CDN so bili o ranljivosti obveščeni pred približno 7 meseci in do javne objave podatka je že 12 od 13 CDN odpravilo ugotovljene težave oziroma izrazilo pripravljenost za njihovo odpravo (le storitev StackPath se ni odzvala).

Vir: opennet.ru

Dodaj komentar