Атаката CPDoS позволява да се направят страниците, доставяни чрез CDN, недостъпни

Изследователи от университетите в Хамбург и Кьолн
разработиха нова техника за атаки срещу мрежи за доставка на съдържание и кеширащи проксита — CPDoS (Cache-Poisoned Denial-of-Service). Атаката позволява да се постигне отказ на достъпа до страницата чрез отравяне на кеша.

Проблемът е свързан с това, че CDN кешират не само успешно изпълнени заявки, но и ситуации, когато HTTP сървърът връща грешка. Обикновено, при проблеми с формирането на запитвания, сървърът издава грешка 400 (Невалидно запитване), с изключение на IIS, който издава грешка 404 (Не намерен) за прекалено големи заглавия. Стандартът разрешава кеширането само на грешки с кодове 404 (Не намерен), 405 (Методът е забранен), 410 (Отсъства) и 501 (Не е имплементиран), но някои CDN също кешират отговори с код 400 (Невалидно запитване), който зависи от изпратеното запитване.

Атакуващите могат да предизвикат на оригиналния ресурс връщането на грешка «400 Невалидно запитване» чрез изпращане на запитване с определени 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, Flask и Play 1. Отбелязва се, което означава, че на атака потенциално могат да бъдат подложени 11% от домейните на Министерството на отбраната на САЩ, 16% от URL адресите в базата данни HTTP Archive и около 30% от 500-те най-големи сайта по рейтинг на Alexa.

Като обходен метод за блокиране на атаката от страна на сайта може да се използва задаване на заглавка „Cache-Control: no-store“, забраняваща кеширането на отговорите. В някои CDN, например в
CloudFront и Akamai, може на ниво настройки на профила да се изключи кеширането на грешки. За защита може също да се използват защити на приложения (WAF, Web Application Firewall), но те трябва да бъдат внедрени от страна на CDN преди хостовете, които извършват кеширане.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster