RangeAmp - en række CDN-angreb, der manipulerer Range HTTP-headeren

Et team af forskere fra Peking University, Tsinghua University og University of Texas i Dallas afsløret en ny klasse af DoS-angreb - RangeAmp, baseret på brugen af ​​en HTTP-header Range at organisere trafikforstærkning gennem indholdsleveringsnetværk (CDN). Essensen af ​​metoden er, at på grund af den måde, Range headers behandles i mange CDN'er, kan en angriber anmode om en byte fra en stor fil gennem CDN'et, men CDN'en vil downloade hele filen eller en meget større blok af data fra målserver, der skal placeres i cachen. Graden af ​​trafikforstærkning under et sådant angreb, afhængigt af CDN, varierer fra 724 til 43330 gange, hvilket kan bruges til at overbelaste CDN med indgående trafik eller reducere kapaciteten af ​​den endelige kommunikationskanal til offerets websted.

RangeAmp - en række CDN-angreb, der manipulerer Range HTTP-headeren

Range-headeren giver klienten mulighed for at angive en række positioner i filen, der skal downloades i stedet for at returnere hele filen. For eksempel kan klienten angive "Range: bytes=0-1023", og serveren sender kun de første 1024 bytes data. Denne funktion er efterspurgt ved download af store filer - brugeren kan sætte download på pause og derefter fortsætte fra den afbrudte position. Når du angiver "bytes=0-0", instruerer standarden at give den første byte i filen, "bytes=-1" - den sidste, "bytes=1-" - startende fra 1 byte til slutningen af ​​filen. Det er muligt at transmittere flere områder i én header, for eksempel "Range: bytes=0-1023,8192-10240".

Derudover er en anden angrebsmulighed blevet foreslået, rettet mod at øge netværksbelastningen, når trafik videresendes gennem et andet CDN, som bruges som en proxy (f.eks. når Cloudflare fungerer som frontend (FCDN), og Akamai fungerer som backend ( BCDN). Metoden ligner det første angreb, men er lokaliseret inden for CDN-netværk og giver mulighed for øget trafik, når den tilgås via andre CDN'er, hvilket øger belastningen på infrastrukturen og reducerer servicekvaliteten.

Ideen er, at angriberen sender Range-anmodninger af flere områder til CDN, såsom "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." eller "bytes=-1024,0 ,0-,0-...". Anmodninger indeholder et stort antal "0-" intervaller, hvilket betyder, at filen returneres fra position nul til slutningen. På grund af en forkert implementering af områdeparsing, når den første CDN får adgang til den anden, sendes en komplet fil for hvert "53-" område (intervallerne er ikke aggregeret, men sekventielt itereret), hvis der er duplikering og skæring af områder i anmodningen oprindeligt sendt af angriberen. Graden af ​​trafikforstærkning i et sådant angreb varierer fra 7432 til XNUMX gange.

RangeAmp - en række CDN-angreb, der manipulerer Range HTTP-headeren

I løbet af undersøgelsen blev adfærden af ​​13 CDN'er undersøgt -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath og Tencent Cloud. Alle de undersøgte CDN'er tillod den første type angreb på slutserveren. Den anden variant af CDN-angrebet påvirkede 6 tjenester, hvoraf fire kunne fungere som frontend i angrebet (CDN77, CDNsun, Cloudflare og StackPath) og tre som backend (Akamai, Azure og StackPath). Den største gevinst opnås i Akamai og StackPath, som tillader mere end 10 intervaller at blive specificeret i Range-headeren. CDN-ejere blev underrettet om sårbarhederne for omkring 7 måneder siden, og da oplysningerne blev offentliggjort, havde 12 ud af 13 CDN'er rettet de identificerede problemer eller udtrykt parathed til at rette dem (kun StackPath-tjenesten svarede ikke).

Kilde: opennet.ru

Tilføj en kommentar