![]() |
Исследователи из Гамбургского и Кёльнского университетов разработали новую технику атак на сети доставки контента и кэширующие прокси - 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-сервера к возврату ошибки предложено три варианта атаки:
В качестве обходного метода блокирования атаки на стороне сайта можно использовать выставление заголовка "Cache-Control: no-store", запрещающего кэширование ответов. В некоторых CDN, например, в CloudFront и Akamai, можно на уровне настроек профиля отключить кэширование ошибок. Для защиты также можно использовать межсетевые экраны для web-приложений (WAF, Web Application Firewall), но они должны внедряться на стороне CDN перед хостами, осуществляющими кэширование. |
| Время: 09:41 |