Útok CPDoS, ktorý znemožňuje dostupnosť stránok poskytovaných prostredníctvom siete CDN

Výskumníci z univerzít v Hamburgu a Kolíne nad Rýnom
vyvinuté nová technika útoku na siete na doručovanie obsahu a servery proxy na ukladanie do vyrovnávacej pamäte - CPDoS (Cache-Poisoned Denial-of-Service). Útok umožňuje zakázať prístup na stránku prostredníctvom otrávenia vyrovnávacej pamäte.

Problém je spôsobený skutočnosťou, že CDN cache ukladá nielen úspešne dokončené požiadavky, ale aj situácie, keď http server vráti chybu. Spravidla, ak sa vyskytnú problémy s vytváraním požiadaviek, server vydá chybu 400 (Bad Request), jedinou výnimkou je IIS, ktorá pre príliš veľké hlavičky vydá chybu 404 (Not Found). Štandard umožňuje ukladať do vyrovnávacej pamäte iba chyby s kódmi 404 (nenájdené), 405 (metóda nie je povolená), 410 (preč) a 501 (neimplementovaná), ale niektoré siete CDN ukladajú do vyrovnávacej pamäte aj odpovede s kódom 400 (zlá požiadavka), čo závisí na odoslanú žiadosť.

Útočníci môžu spôsobiť, že pôvodný zdroj vráti chybu „400 Bad Request“ odoslaním požiadavky s HTTP hlavičkami naformátovanými určitým spôsobom. CDN tieto hlavičky neberie do úvahy, takže informácie o nemožnosti prístupu na stránku sa uložia do vyrovnávacej pamäte a všetky ostatné platné požiadavky používateľov pred uplynutím časového limitu môžu viesť k chybe, a to aj napriek skutočnosti, že pôvodný web zobrazuje obsah bez akýchkoľvek problémov.

Boli navrhnuté tri možnosti útoku, aby server HTTP vrátil chybu:

  • HMO (HTTP Method Override) – útočník môže prepísať pôvodnú metódu požiadavky prostredníctvom hlavičiek „X-HTTP-Method-Override“, „X-HTTP-Method“ alebo „X-Method-Override“, podporovaných niektorými servermi, ale nezohľadňuje sa v CDN . Môžete napríklad zmeniť pôvodnú metódu „GET“ na metódu „DELETE“, ktorá je na serveri zakázaná, alebo metódu „POST“, ktorá nie je použiteľná pre statiku;

    Útok CPDoS, ktorý znemožňuje dostupnosť stránok poskytovaných prostredníctvom siete CDN

  • HHO (HTTP Header Oversize) – útočník si môže vybrať veľkosť hlavičky tak, aby prekročila limit zdrojového servera, ale nespadala pod obmedzenia CDN. Napríklad Apache httpd obmedzuje veľkosť hlavičky na 8 KB a Amazon Cloudfront CDN umožňuje hlavičky do 20 KB;
    Útok CPDoS, ktorý znemožňuje dostupnosť stránok poskytovaných prostredníctvom siete CDN

  • HMC (HTTP Meta Character) – útočník môže do požiadavky vložiť špeciálne znaky (\n, \r, \a), ktoré sú na zdrojovom serveri považované za neplatné, no v CDN sú ignorované.

    Útok CPDoS, ktorý znemožňuje dostupnosť stránok poskytovaných prostredníctvom siete CDN

Najnáchylnejšie na útok bol CloudFront CDN používaný Amazon Web Services (AWS). Amazon teraz problém vyriešil zakázaním ukladania chýb do vyrovnávacej pamäte, no výskumníkom trvalo viac ako tri mesiace, kým pridali ochranu. Problém ovplyvnil aj Cloudflare, Varnish, Akamai, CDN77 a
Rýchlo, ale útok cez ne je obmedzený na cieľové servery, ktoré používajú IIS, ASP.NET, Banka и Hrať 1. Je poznamenané, že 11 % domén amerického ministerstva obrany, 16 % adries URL z databázy HTTP Archive a približne 30 % z 500 najlepších webových stránok hodnotených Alexou by potenciálne mohlo byť predmetom útoku.

Ako riešenie na zablokovanie útoku na strane lokality môžete použiť hlavičku „Cache-Control: no-store“, ktorá zakazuje ukladanie odpovedí do vyrovnávacej pamäte. V niektorých CDN, napr.
CloudFront a Akamai môžete zakázať ukladanie chýb do vyrovnávacej pamäte na úrovni nastavení profilu. Na ochranu môžete použiť aj firewally webových aplikácií (WAF, Web Application Firewall), ale musia byť implementované na strane CDN pred hostiteľmi vyrovnávacej pamäte.

Zdroj: opennet.ru

Pridať komentár