A hamburg-i és kölni egyetem kutatói
egy új technikát a tartalomelosztó hálózatok és a gyorsítótárazó proxik elleni támadásokra — (Cache-Poisoned Denial-of-Service). Ez a támadás lehetővé teszi, hogy a felhasználók ne férjenek hozzá egy weboldalhoz, a gyorsítótár megfertőzésével.
A probléma abból adódik, hogy a CDN-ek nemcsak a sikeres kéréseket, hanem azokat az eseteket is gyorsítótáraznak, amikor a HTTP-szerver hibát ad vissza. Általában, ha a kérések generálásával probléma van, a szerver 400 (Bad Request) hibát ad vissza, kivételt képez az IIS, amely a túl nagy fejléc esetén 404 (Not Found) hibát dob. A szabvány csak a 404 (Not Found), 405 (Method Not Allowed), 410 (Gone) és 501 (Not Implemented) kódú hibák gyorsítótárazását teszi lehetővé, de néhány CDN a 400 (Bad Request) kódú válaszokat is gyorsítótárazza, amely a benyújtott kérelemtől függ.
A támadók az eredeti erőforráson 400 Bad Request hibát okozhatnak, ha bizonyos módon formázott HTTP-fejlécekkel küldenek kéréseket. Ezeket a fejléceket nem veszi figyelembe a CDN, így a gyorsítótárba kerül az az információ, hogy a felhasználók nem férnek hozzá az oldalhoz, és minden más helyes kérés a timeout alatt hibát eredményezhet, még akkor is, ha az eredeti webhely problémák nélkül szolgáltatja a tartalmat.
A HTTP-szerver hibájának kiváltására három támadási lehetőséget javasoltak:
- HMO (HTTP Method Override) — a támadó a "X-HTTP-Method-Override", "X-HTTP-Method" vagy "X-Method-Override" fejlécek segítségével felülírhatja az alapértelmezett kérési módszert, amelyet egyes szerverek támogatnak, de a CDN figyelmen kívül hagy. Például az alapértelmezett "GET" módszert át lehet alakítani egy szerver által tiltottra, például "DELETE"-re, vagy egy statikus tartalomhoz nem alkalmazható "POST" módszerre;
- HHO (HTTP Header Oversize) — a támadó a fejléc méretét úgy választhatja meg, hogy az meghaladja az eredeti szerver korlátait, de nem esik a CDN korlátai alá. Például az Apache httpd 8 KB-ra korlátozza a fejléc méretét, míg az Amazon Cloudfront CDN akár 20 KB-os fejléceket is elfogad;
- HMC (HTTP Meta Character) — a támadó speciális karaktereket (\n, \r, \a) illeszthet a kérésbe, amelyek az eredeti szerveren érvénytelennek számítanak, de a CDN figyelmen kívül hagyja őket.
A legjobban a CloudFront CDN került a támadás célkeresztjébe, amely az Amazon Web Services (AWS) keretein működik. Jelenleg az Amazon már megoldotta a problémát a hibák gyorsítótárazásának letiltásával, de a védelmi intézkedések bevezetésére a kutatóknak több mint három hónapig tartott. A probléma a Cloudflare, Varnish, Akamai, CDN77 és
Fastly-t is érintette, de a támadás rajtuk keresztül korlátozódik az IIS-t, ASP.NET-et használó célkiszolgálókra. és . , hogy a támadás potenciálisan 11% -ban érintheti az Egyesült Államok Védelmi Minisztériumának domainjeit, 16% -ot a HTTP Archive adatbázisból és körülbelül 30% -ot az Alexa legnagyobb 500 weboldala közül.
Mint egy megkerülési módszer a támadás weboldal szintű blokkolására a „Cache-Control: no-store” fejléc beállítása használható, amely megtiltja a válaszok gyorsítótárazását. Néhány CDN-nél, például a
CloudFront és Akamai esetében a hibák gyorsítótárazásának kikapcsolása a profilbeállítások szintjén is lehetséges. A védelem érdekében webalkalmazás tűzfalakat (WAF, Web Application Firewall) is lehet alkalmazni, de ezeknek a CDN-en belül, a gyorsítást végző hosztok előtt kell telepítve lenniük.
Forrás: opennet.ru
