Атака CPDoS, якая дазваляе зрабіць недаступнымі старонкі, якія аддаюцца праз CDN

Даследчыкі з Гамбургскага і Кёльнскага ўніверсітэтаў
распрацавалі новую тэхніку нападаў на сеткі дастаўкі кантэнту і кэшуючыя проксі CPDoS (Cache-Poisoned Denial-of-Service). Атака дазваляе дамагчыся адмовы доступу да старонкі праз атручванне кэша.

Праблема звязана з тым, што CDN кэшуюць не толькі паспяхова выкананыя запыты, але і сітуацыі, калі http-сервер вяртае памылку. Як правіла, пры праблемах з фармаваннем запытаў сервер выдае памылку 400 (Bad Request), выключэнне складае толькі IIS, які выдае для занадта вялікіх загалоўкаў памылку 404 (Not Found). Стандарт дазваляе кэшаваць толькі памылкі з кодамі 404 (Not Found), 405 (Method Not Allowed), 410 (Gone) і 501 (Not Implemented), але некаторыя CDN таксама кэшуюць і адказы з кодам 400 (Bad Request), які залежыць ад адпраўленага запыту.

Атакуючыя могуць выклікаць на арыгінальным рэсурсе вяртанне памылкі «400 Bad Request» праз адпраўку запыту з вызначанай выявай аформленымі HTTP-загалоўкамі. Дадзеныя загалоўкі не ўлічваюцца CDN, таму ў кэш трапіць інфармацыя аб немагчымасці атрымаць доступ да старонкі і ўсе астатнія карэктныя запыты карыстальнікаў да заканчэння таймаўту могуць прыводзіць да высновы памылкі, нягледзячы на ​​тое, што зыходны сайт без праблем аддае змесціва.

Для прымусу HTTP-сервера да звароту памылкі прапанавана тры варыянты нападу:

  • HMO (HTTP Method Override) - атакавалы можа перавызначыць зыходны метад запыту праз загалоўкі "X-HTTP-Method-Override", "X-HTTP-Method" ці "X-Method-Override", якія падтрымліваюцца некаторымі серверамі, але не ўлічваюцца ў CDN . Напрыклад, можна памяняць зыходны метад "GET" на забаронены на серверы метад "DELETE" або непрымяняльны для статыкі метад "POST";

    Атака CPDoS, якая дазваляе зрабіць недаступнымі старонкі, якія аддаюцца праз CDN

  • HHO (HTTP Header Oversize) - атакавалы можа падабраць памер загалоўка такім чынам, каб ён перавышаў ліміт зыходнага сервера, але не падпадаў пад абмежаванні CDN. Напрыклад, Apache httpd абмяжоўвае памер загалоўка ў 8 КБ, а CDN Amazon Cloudfront дапушчае загалоўкі да 20 КБ;
    Атака CPDoS, якая дазваляе зрабіць недаступнымі старонкі, якія аддаюцца праз CDN

  • HMC (HTTP Meta Character) — атакавалы можа падставіць у запыт спецзнакі (\n, \r, \a), якія лічацца недапушчальнымі на зыходным серверы, але ігнаруюцца ў CDN.

    Атака CPDoS, якая дазваляе зрабіць недаступнымі старонкі, якія аддаюцца праз CDN

Найбольш схільны нападу аказаўся CDN CloudFront, які выкарыстоўваецца ў Amazon Web Services (AWS). У цяперашні час кампанія Amazon ужо ўхіліла праблему праз забарону кэшавання памылак, але на тое, каб дамагчыся даданні абароны, даследнікам запатрабавалася больш за тры месяцы. Праблема таксама закранула Cloudflare, Varnish, Akamai, CDN77 і
Fastly, але атака праз іх абмежавана мэтавымі серверамі, на якіх выкарыстоўваецца IIS, ASP.NET, Колба и Гуляць 1. адзначаецца, Што нападу патэнцыйна могуць быць схільныя 11% даменаў Міністэрства абароны ЗША, 16% URL з базы HTTP Archive і каля 30% з 500 найбуйных сайтаў па рэйтынгу Alexa.

У якасці абыходнага метаду блакавання нападу на баку сайта можна выкарыстоўваць выстаўленне загалоўка "Cache-Control: no-store", які забараняе кэшаванне адказаў. У некаторых CDN, напрыклад, у
CloudFront і Akamai, можна на ўзроўні налад профіля адключыць кэшаванне памылак. Для абароны таксама можна выкарыстоўваць міжсеткавыя экраны для web-прыкладанняў (WAF, Web Application Firewall), але яны павінны ўкараняцца на баку CDN перад хастамі, якія здзяйсняюць кэшаванне.

Крыніца: opennet.ru

Дадаць каментар