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

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

Проблемът се дължи на факта, че CDN кешират не само успешно изпълнени заявки, но и ситуации, когато http сървърът връща грешка. Като правило, ако има проблеми с формирането на заявки, сървърът издава грешка 400 (Bad Request), единственото изключение е IIS, който издава грешка 404 (Not Found) за твърде големи заглавки. Стандартът позволява да се кешират само грешки с кодове 404 (Не е намерен), 405 (Методът не е разрешен), 410 (Изчезнал) и 501 (Не е внедрен), но някои CDN също така кешират отговори с код 400 (Лоша заявка), което зависи по изпратената заявка.

Нападателите могат да накарат оригиналния ресурс да върне грешка „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 KB, а Amazon Cloudfront CDN позволява заглавки до 20 KB;
    CPDoS атака, която прави страниците, обслужвани чрез CDN, недостъпни

  • HMC (HTTP Meta Character) - атакуващият може да вмъкне специални символи в заявката (\n, \r, \a), които се считат за невалидни на изходния сървър, но се игнорират в CDN.

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

Най-податливият на атака беше CloudFront CDN, използван от Amazon Web Services (AWS). Amazon вече коригира проблема, като деактивира кеширането на грешки, но на изследователите отне повече от три месеца, за да добавят защита. Проблемът също засегна Cloudflare, Varnish, Akamai, CDN77 и
Бързо, но атаката чрез тях е ограничена до целеви сървъри, които използват IIS, ASP.NET, Колба и Игра 1. Отбелязва се, че 11% от домейните на Министерството на отбраната на САЩ, 16% от URL адресите от базата данни HTTP Archive и около 30% от 500-те най-големи сайта, класирани от Alexa, могат потенциално да бъдат обект на атака.

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

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

Добавяне на нов коментар