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

Комментарии[править]

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