Tým výzkumníků z Pekingské univerzity, Tsinghua University a Texaské univerzity v Dallasu
Záhlaví Range dává klientovi možnost zadat rozsah pozic v souboru, které by se měly stáhnout namísto vracení celého souboru. Klient může například zadat "Range: bytes=0-1023" a server přenese pouze prvních 1024 bajtů dat. Tato funkce je žádaná při stahování velkých souborů – uživatel může stahování pozastavit a poté pokračovat z přerušené pozice. Při specifikaci „bytes=0-0“ standard přikazuje zadat první bajt v souboru, „bytes=-1“ - poslední, „bytes=1-“ - počínaje 1 bajtem až do konce souboru. V jedné hlavičce je možné přenášet několik rozsahů, například „Range: bytes=0-1023,8192-10240“.
Kromě toho byla navržena druhá možnost útoku, jejímž cílem je zvýšit zatížení sítě při předávání provozu přes jinou síť CDN, která se používá jako proxy (například když Cloudflare funguje jako frontend (FCDN) a Akamai funguje jako backend ( BCDN). Metoda je podobná prvnímu útoku, ale je lokalizována v rámci sítí CDN a umožňuje zvýšený provoz při přístupu přes jiné sítě CDN, což zvyšuje zatížení infrastruktury a snižuje kvalitu služeb.
Myšlenka je taková, že útočník odešle do CDN požadavky na rozsah několika rozsahů, například "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." nebo "bajty=-1024,0 ,0-,0-...". Požadavky obsahují velký počet rozsahů „0-“, což znamená, že soubor je vrácen od pozice nula do konce. V důsledku nesprávné implementace analýzy rozsahu, když první CDN přistupuje k druhému, je odeslán úplný soubor pro každý rozsah „53-“ (rozsahy nejsou agregovány, ale sekvenčně iterovány), pokud dochází k duplikaci a průniku rozsahů v požadavek původně zaslaný útočníkem. Stupeň zesílení provozu při takovém útoku se pohybuje od 7432 do XNUMXkrát.
Během studie bylo studováno chování 13 CDN -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath a Tencent Cloud. Všechny zkoumané CDN umožňovaly první typ útoku na koncový server. Druhá varianta útoku CDN zasáhla 6 služeb, z nichž čtyři mohly v útoku fungovat jako frontend (CDN77, CDNsun, Cloudflare a StackPath) a tři jako backend (Akamai, Azure a StackPath). Největšího zisku je dosaženo v Akamai a StackPath, které umožňují specifikovat více než 10 tisíc rozsahů v záhlaví Range. Vlastníci CDN byli o zranitelnosti informováni zhruba před 7 měsíci a v době, kdy byly informace zveřejněny, 12 ze 13 CDN opravilo identifikované problémy nebo vyjádřilo připravenost je opravit (pouze služba StackPath neodpověděla).
Zdroj: opennet.ru