CPDoS napad koji čini nepristupačnim stranice koje se poslužuju preko CDN-a

Istraživači sa univerziteta u Hamburgu i Kelnu
su se razvile nova tehnika napada na mreže za isporuku sadržaja i keširanje proxyja - CPDoS (Cache-Oisoned Denial-of-Service). Napad omogućava da se pristup stranici uskrati trovanjem keša.

Problem je zbog činjenice da CDN-ovi keširaju ne samo uspješno završene zahtjeve, već i situacije kada http server vraća grešku. U pravilu, ako postoje problemi s formiranjem zahtjeva, server izdaje grešku 400 (Bad Request), jedini izuzetak je IIS, koji izdaje grešku 404 (Not Found) za prevelika zaglavlja. Standard dozvoljava samo keširanje grešaka s kodovima 404 (nije pronađen), 405 (metoda nije dozvoljena), 410 (nestalo) i 501 (nije implementirano), ali neki CDN-ovi također keširaju odgovore s kodom 400 (loš zahtjev), što ovisi na poslani zahtjev.

Napadači mogu uzrokovati da izvorni resurs vrati grešku “400 Bad Request” slanjem zahtjeva sa HTTP zaglavljima formatiranim na određeni način. CDN ne uzima u obzir ova zaglavlja, tako da će se informacije o nemogućnosti pristupa stranici keširati, a svi ostali važeći korisnički zahtjevi prije isteka vremena mogu rezultirati greškom, unatoč činjenici da izvorna stranica opslužuje sadržaj bez ikakvih problema.

Predložene su tri opcije napada kako bi se HTTP server prisilio da vrati grešku:

  • HMO (HTTP Method Override) - napadač može nadjačati originalnu metodu zahtjeva putem zaglavlja "X-HTTP-Method-Override", "X-HTTP-Method" ili "X-Method-Override", koje podržavaju neki serveri, ali nije uzeto u obzir u CDN-u. Na primjer, možete promijeniti originalnu metodu “GET” u metodu “DELETE”, koja je zabranjena na serveru, ili metodu “POST”, koja nije primjenjiva za statiku;

    CPDoS napad koji čini nepristupačnim stranice koje se poslužuju preko CDN-a

  • HHO (HTTP Header Oversize) - napadač može odabrati veličinu zaglavlja tako da premašuje ograničenje izvornog servera, ali ne spada u CDN ograničenja. Na primjer, Apache httpd ograničava veličinu zaglavlja na 8 KB, a Amazon Cloudfront CDN dozvoljava zaglavlja do 20 KB;
    CPDoS napad koji čini nepristupačnim stranice koje se poslužuju preko CDN-a

  • HMC (HTTP Meta Character) - napadač može umetnuti posebne znakove u zahtjev (\n, \r, \a), koji se smatraju nevažećim na izvornom serveru, ali se ignoriraju u CDN-u.

    CPDoS napad koji čini nepristupačnim stranice koje se poslužuju preko CDN-a

Najpodložniji napadima bio je CloudFront CDN koji koristi Amazon Web Services (AWS). Amazon je sada riješio problem tako što je onemogućio keširanje grešaka, ali je istraživačima trebalo više od tri mjeseca da dodaju zaštitu. Problem je također uticao na Cloudflare, Varnish, Akamai, CDN77 i
Brzo, ali napad preko njih je ograničen na ciljane servere koji koriste IIS, ASP.NET, boca и Igrajte 1. Zabilježeno je, da bi 11% domena američkog Ministarstva odbrane, 16% URL-ova iz baze podataka HTTP arhive i oko 30% od 500 najboljih web lokacija koje rangira Alexa potencijalno moglo biti predmet napada.

Kao rešenje za blokiranje napada na strani sajta, možete koristiti zaglavlje „Cache-Control: no-store“, koje zabranjuje keširanje odgovora. U nekim CDN-ovima, npr.
CloudFront i Akamai, možete onemogućiti keširanje grešaka na nivou postavki profila. Za zaštitu možete koristiti i zaštitne zidove za web aplikacije (WAF, Web Application Firewall), ali oni moraju biti implementirani na CDN strani ispred hostova za keširanje.

izvor: opennet.ru

Dodajte komentar