Útok CPDoS, který znepřístupní stránky obsluhované prostřednictvím CDN

Výzkumníci z univerzit v Hamburku a Kolíně nad Rýnem
se vyvinuly nová technika útoku na sítě pro doručování obsahu a mezipaměti proxy - CPDoS (Cache-Poisoned Denial-of-Service). Útok umožňuje odepřít přístup na stránku prostřednictvím otravy mezipaměti.

Problém je způsoben tím, že CDNs cache ukládají nejen úspěšně dokončené požadavky, ale také situace, kdy http server vrátí chybu. Pokud se vyskytnou problémy s vytvářením požadavků, server zpravidla vypíše chybu 400 (Bad Request), jedinou výjimkou je IIS, která u příliš velkých hlaviček vypíše chybu 404 (Not Found). Norma umožňuje ukládat do mezipaměti pouze chyby s kódy 404 (Nenalezeno), 405 (Metoda není povolena), 410 (Odstraněno) a 501 (Neimplementováno), ale některé CDN také ukládají do mezipaměti odpovědi s kódem 400 (Bad Request), což závisí na na zaslanou žádost.

Útočníci mohou způsobit, že původní zdroj vrátí chybu „400 Bad Request“ odesláním požadavku s HTTP hlavičkami naformátovanými určitým způsobem. Tyto hlavičky CDN nebere v úvahu, takže informace o nemožnosti přístupu na stránku budou uloženy do mezipaměti a všechny ostatní platné požadavky uživatelů před vypršením časového limitu mohou vést k chybě, a to navzdory skutečnosti, že původní web zobrazuje obsah bez problémů.

Byly navrženy tři možnosti útoku, které přinutí HTTP server vrátit chybu:

  • HMO (HTTP Method Override) – útočník může přepsat původní metodu požadavku prostřednictvím hlaviček „X-HTTP-Method-Override“, „X-HTTP-Method“ nebo „X-Method-Override“, podporovaných některými servery, ale nezohledněno v CDN . Můžete například změnit původní metodu „GET“ na metodu „DELETE“, která je na serveru zakázána, nebo metodu „POST“, která není použitelná pro statiku;

    Útok CPDoS, který znepřístupní stránky obsluhované prostřednictvím CDN

  • HHO (HTTP Header Oversize) – útočník může zvolit velikost hlavičky tak, aby překročila limit zdrojového serveru, ale nespadala do omezení CDN. Například Apache httpd omezuje velikost záhlaví na 8 KB a Amazon Cloudfront CDN umožňuje záhlaví až 20 KB;
    Útok CPDoS, který znepřístupní stránky obsluhované prostřednictvím CDN

  • HMC (HTTP Meta Character) – útočník může do požadavku vložit speciální znaky (\n, \r, \a), které jsou na zdrojovém serveru považovány za neplatné, ale v CDN jsou ignorovány.

    Útok CPDoS, který znepřístupní stránky obsluhované prostřednictvím CDN

Nejnáchylnější k útoku byl CloudFront CDN používaný Amazon Web Services (AWS). Amazon nyní problém vyřešil tím, že zakázal ukládání chyb do mezipaměti, ale výzkumníkům trvalo více než tři měsíce, než přidali ochranu. Problém také ovlivnil Cloudflare, Varnish, Akamai, CDN77 a
Rychle, ale útok přes ně je omezen na cílové servery, které používají IIS, ASP.NET, Baňka и Hrát 1. Je zaznamenáno, že 11 % domén amerického ministerstva obrany, 16 % URL z databáze HTTP Archive a asi 30 % z 500 nejlepších webových stránek hodnocených Alexou by mohlo být potenciálně předmětem útoku.

Jako řešení k zablokování útoku na straně webu můžete použít hlavičku „Cache-Control: no-store“, která zakazuje ukládání odpovědí do mezipaměti. V některých CDN, např.
CloudFront a Akamai můžete zakázat ukládání chyb do mezipaměti na úrovni nastavení profilu. Pro ochranu můžete také použít firewally webových aplikací (WAF, Web Application Firewall), ale musí být implementovány na straně CDN před cachovacími hostiteli.

Zdroj: opennet.ru

Přidat komentář