Raziskovalci iz Hamburške in Kölnske univerze
novo tehniko napadov na omrežja za prenos vsebin in predpomnilniške proksije — (Cache-Poisoned Denial-of-Service). Napad omogoča dosego zavrnitve dostopa do strani preko zasužnjevanja predpomnilnika.
Problem je povezan s tem, da CDN-ji ne predpomnijo le uspešno izvedenih zahtevkov, temveč tudi situacije, ko http-strežnik vrne napako. Običajno, ob težavah pri oblikovanju zahtevkov, strežnik vrne napako 400 (Bad Request), izjema je le IIS, ki izda napako 404 (Not Found) za prevelike glave. Standard dovoljuje predpomniti le napake s kodami 404 (Not Found), 405 (Method Not Allowed), 410 (Gone) in 501 (Not Implemented), vendar nekateri CDN-ji prav tako predpomnijo odgovore s kodo 400 (Bad Request), ki je odvisna od poslanega zahtevka.
Napadalci lahko na izvorni vire povzročijo vrnitev napake "400 Bad Request" preko pošiljanja zahtevka z določenimi oblikovanimi HTTP-glavami. Ti glave se ne upoštevajo od CDN-jev, zato bo v predpomnilniku podatkov o onemogočenem dostopu do strani in vsi ostali pravilni zahtevki uporabnikov do poteka časovnega limita lahko povzročili napako, čeprav izvorna stran brez težav vrača vsebino.
Za prisilitev HTTP-strežnika k vrnitvi napake so predlagane tri možnosti napada:
- HMO (HTTP Method Override) — napadalec lahko prek glave "X-HTTP-Method-Override", "X-HTTP-Method" ali "X-Method-Override", ki jih podpirajo nekateri strežniki, vendar jih CDN ne upošteva, nadomesti izvorno metodo zahtevka. Na primer, lahko spremeni izvorno metodo "GET" v prepovedano metodo "DELETE" na strežniku ali neprimerno metodo "POST" za statične vsebine;
- HHO (HTTP Header Oversize) — napadalec lahko prilagodi velikost glave tako, da presega omejitev izvornega strežnika, a ne spada pod omejitve CDN. Na primer, Apache httpd omejuje velikost glave na 8 KB, medtem ko CDN Amazon Cloudfront dovoljuje glave do 20 KB;
- HMC (HTTP Meta Character) — napadalec lahko v zahtevek vključi posebne znake (\n, \r, \a), ki se štejejo za nedopustne na izvorni strežnik, a jih CDN ignorira.
Najbolj izpostavljen napadu je bil CDN CloudFront, ki ga uporablja Amazon Web Services (AWS). Trenutno je podjetje Amazon že odpravilo težavo z onemogočenjem predpomnjenja napak, toda raziskovalcem je trajalo več kot tri mesece, da so dosegli dodajanje zaščite. Težava je prav tako prizadela Cloudflare, Varnish, Akamai, CDN77 in
Fastly, vendar je bila napad na njih omejen na ciljne strežnike, kjer se uporablja IIS, ASP.NET, in . , kar pomeni, da bi lahko napadu bilo izpostavljenih 11 % domen Ministrstva za obrambo ZDA, 16 % URL-jev iz baze HTTP Archive in približno 30 % od 500 največjih spletnih mest po uvrstitvi Alexa.
Kot obvozni način blokiranja napada na strani spletnega mesta lahko uporabite nastavitev glave "Cache-Control: no-store", ki prepoveduje predpomnjenje odgovorov. V nekaterih CDN, na primer v
CloudFront in Akamai, lahko na ravni nastavitev profila onemogočite predpomnjenje napak. Za zaščito lahko uporabite tudi požarne zidove za spletne aplikacije (WAF, Web Application Firewall), vendar morajo biti implementirani na strani CDN pred gostitelji, ki izvajajo predpomnjenje.
Izvor: opennet.ru
