CPDoS-angrep for å gjøre sider servert via CDN utilgjengelige

Forskere fra universitetene i Hamburg og Köln
utviklet en ny angrepsteknikk på innholdsleveringsnettverk og hurtigbufferproxyer - CPDoS (Cache-forgiftet Denial-of-Service). Angrepet gjør at tilgang til en side kan nektes gjennom cache-forgiftning.

Problemet skyldes det faktum at CDN-er cacher ikke bare vellykket fullførte forespørsler, men også situasjoner når http-serveren returnerer en feil. Som regel, hvis det er problemer med å opprette forespørsler, utsteder serveren en 400 (Dårlig forespørsel) feil; det eneste unntaket er IIS, som gir en 404 (Ikke funnet) feil for store overskrifter. Standarden tillater bare at feil med kodene 404 (Ikke funnet), 405 (Method Not Allowed), 410 (Borte) og 501 (Ikke implementert) bufres, men noen CDN-er hurtigbufrer også svar med kode 400 (Bad Request), som avhenger på den sendte forespørselen.

Angripere kan få den opprinnelige ressursen til å returnere en "400 Bad Request"-feil ved å sende en forespørsel med HTTP-hoder formatert på en bestemt måte. Disse overskriftene tas ikke i betraktning av CDN, så informasjon om manglende tilgang til siden vil bli bufret, og alle andre gyldige brukerforespørsler før tidsavbruddet utløper kan resultere i en feil, til tross for at det opprinnelige nettstedet serverer innholdet uten problemer.

Tre angrepsalternativer er foreslått for å tvinge HTTP-serveren til å returnere en feil:

  • HMO (HTTP Method Override) - en angriper kan overstyre den opprinnelige forespørselsmetoden gjennom "X-HTTP-Method-Override", "X-HTTP-Method" eller "X-Method-Override"-hodene, støttet av noen servere, men ikke tatt i betraktning i CDN . For eksempel kan du endre den opprinnelige "GET"-metoden til "DELETE"-metoden, som er forbudt på serveren, eller "POST"-metoden, som ikke er aktuelt for statikk;

    CPDoS-angrep for å gjøre sider servert via CDN utilgjengelige

  • HHO (HTTP Header Oversize) - en angriper kan velge header-størrelsen slik at den overskrider grensen for kildeserveren, men faller ikke innenfor CDN-restriksjonene. For eksempel begrenser Apache httpd topptekststørrelsen til 8 KB, og Amazon Cloudfront CDN tillater overskrifter på opptil 20 KB;
    CPDoS-angrep for å gjøre sider servert via CDN utilgjengelige

  • HMC (HTTP Meta Character) - en angriper kan sette inn spesialtegn i forespørselen (\n, \r, \a), som anses som ugyldige på kildeserveren, men ignoreres i CDN.

    CPDoS-angrep for å gjøre sider servert via CDN utilgjengelige

Den mest utsatte for angrep var CloudFront CDN brukt av Amazon Web Services (AWS). Amazon har nå løst problemet ved å deaktivere feilbufring, men det tok forskere mer enn tre måneder å legge til beskyttelse. Problemet påvirket også Cloudflare, Varnish, Akamai, CDN77 og
Rask, men angrepet gjennom dem er begrenset til målservere som bruker IIS, ASP.NET, Kolbe и Spill av 1. Det er notert, at 11 % av domenene fra det amerikanske forsvarsdepartementet, 16 % av nettadressene fra HTTP-arkivdatabasen og omtrent 30 % av de 500 beste nettstedene rangert av Alexa potensielt kan bli utsatt for angrep.

Som en løsning for å blokkere et angrep på sidesiden, kan du bruke «Cache-Control: no-store»-overskriften, som forbyr svarbufring. I noen CDN-er, f.eks.
CloudFront og Akamai, kan du deaktivere feilbufring på profilinnstillingsnivå. For beskyttelse kan du også bruke nettapplikasjonsbrannmurer (WAF, Web Application Firewall), men de må implementeres på CDN-siden foran caching-vertene.

Kilde: opennet.ru

Legg til en kommentar