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

25 октября 2019 года

Исследователи из Гамбургского и Кёльнского университетов разработали новую технику атак на сети доставки контента и кэширующие прокси - 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";
  • HHO (HTTP Header Oversize) - атакующий может подобрать размер заголовка таким образом, чтобы он превышал лимит исходного сервера, но не подпадал под ограничения CDN. Например, Apache httpd ограничивает размер заголовка в 8 КБ, а CDN Amazon Cloudfront допускает заголовки до 20 КБ;
  • HMC (HTTP Meta Character) - атакующий может подставить в запрос спецсимволы (\n, \r, \a), которые считаются недопустимыми на исходном сервере, но игнорируются в 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, можно на уровне настроек профиля отключить кэширование ошибок. Для защиты также можно использовать межсетевые экраны для web-приложений (WAF, Web Application Firewall), но они должны внедряться на стороне CDN перед хостами, осуществляющими кэширование.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Атака CPDoS, позволяющая сделать недоступными страницы, отдаваемые через CDN», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.