4 стратегии защиты от уязвимости HTTP/2 Rapid Reset (CVE-2023-44487)
Qrator

 

В августе 2023 года была обнаружена уязвимость в протоколе HTTP/2, известная как CVE-2023-44487 или Rapid Reset. В этой статье мы расскажем о том, как работает CVE-2023-44487, какое влияние она оказывает на HTTP/2, и предложим 4 стратегии защиты от этой уязвимости.

Общие сведения о CVE-2023-44487

HTTP/2 привнес несколько улучшений в сетевой протокол HTTP, включая мультиплексирование потоков, позволяющее открывать несколько потоков через одно TCP-соединение. Однако уязвимость Rapid Reset эксплуатирует механизм отмены потока в протоколе с использованием RST_STREAM кадров.

При просмотре веб-сайта, поддерживающего HTTP/2, одно соединение может быть использовано для нескольких ресурсов, что повышает эффективность просмотра. Однако такая возможность потоковой передачи может вызывать сложности, поскольку позволяет одному соединению генерировать множество запросов,  что может увеличить риск эксплуатации уязвимостей. Для решения этой проблемы HTTP/2 предоставляет механизм ограничения количества активных одновременных потоков, чтобы клиенты не перегружали сервер.

Эксплуатация уязвимости Rapid Reset заключается в том, что злоумышленник отправляет RST_STREAM кадр сразу после отправки кадра запроса. Это дает серверу указание начать обработку запроса, но быстро отменяет его. Несмотря на то, что запрос отменен, соединение HTTP/2 остается открытым, что позволяет создавать новые потоки. В результате серверу необходимо выделять ресурсы и выполнять такие задачи, как парсинг запроса и распаковка заголовка для каждого отмененного запроса, что приводит к сценарию отказа в обслуживании (DoS).

Последствия CVE-2023-44487

Уязвимость Rapid Reset привела к беспрецедентным распределенным атакам типа «отказ в обслуживании» (DDoS). Крупные сервис-провайдеры, такие как Google, AWS и Cloudflare, сообщили о массовых атаках, достигающих пиковой частоты в сотни миллионов запросов в секунду. Эти атаки были сгенерированы с использованием относительно небольших ботнетов, что подчеркивает серьезность уязвимости.

Киберпреступники делятся доказательством работоспособности концепции CVE-2023-44487

Обмен доказательствами работоспособности концепций киберпреступниками свидетельствует о росте вредоносной активности, связанной с этой уязвимостью. Киберпреступники активно эксплуатируют уязвимость Rapid Reset, используя ее для проведения DDoS-атак. Простота эксплуатации и потенциальный ущерб сделали эту уязвимость главной мишенью для киберпреступников.

4 способа устранения уязвимости CVE-2023-44487

Для эффективной защиты от уязвимости Rapid Reset HTTP/2 (CVE-2023-44487) компаниям следует внедрить следующие стратегии:

1. Отслеживание подключений: внимательно следите за статистикой подключений, включая количество активных потоков, скорость создания потоков и частоту отмены. Выявляйте неправомерные подключения HTTP/2 и реализуйте бизнес-логику для оценки полезности каждого подключения на основе таких факторов, как содержимое запроса и поведение клиента. Закрывайте соединения, отображающие оскорбительные паттерны, чтобы смягчить последствия атаки Rapid Reset.

2. Rate Limiting: Реализуйте механизмы Rate Limiting на уровне соединения и потока для управления трафиком. Выявляйте подозрительные паттерны трафика, такие как большое количество быстро отмененных потоков или запросов с известных вредоносных IP-адресов, и блокируйте их. Используйте такие методы, как адаптивное регулирование или очередь запросов, чтобы динамически корректировать ограничения скорости в зависимости от серьезности атаки и доступных ресурсов сервера.

3. Рекомендации Apache: Организациям, использующим веб-серверы Apache, следует сконфигурировать меры для ограничения чрезмерной нагрузки, такие как директивы MaxRequestWorkers и MaxConnectionsPerChild, на основе емкости сервера и ожидаемого трафика. Обновите зависимость libnghttp2 модуля mod_http2 до версии 1.57.0 или более поздней, которая включает исправления уязвимости Rapid Reset. Рассмотрите возможность внедрения дополнительных модулей или подключаемых модулей безопасности, таких как mod_security или mod_evasive, для усиления защиты от атак HTTP/2.

4. Рекомендации Nginx: Организации, использующие веб-серверы Nginx, должны убедиться, что keeplive-ограничение по умолчанию (keepalive_requests) существенно не увеличено, так как это может сделать сервер более восприимчивым к атакам Rapid Reset. Если используются конфигурации, отличные от конфигураций по умолчанию, с более высокими ограничениями keepalive, перестройте двоичные файлы Nginx из последней кодовой базы, включая патч для предотвращения чрезмерного потребления ресурсов, вызванного уязвимостью. Настройте директиву http2_max_concurrent_streams, чтобы ограничить количество одновременных потоков, разрешенных для одного подключения, в зависимости от емкости сервера и ожидаемых паттернов трафика.

Дополнительное примечание
Данная уязвимость не затрагивает пользователей HAProxy из-за защитных мер, реализованных в HAProxy 1.9 и перенесенных в последующие версии. Эти меры улучшают то, как HAProxy обрабатывает мультиплексирование потоков протокола HTTP/2, чтобы лучше противостоять таким атакам, как Rapid Reset. Вместо того, чтобы подсчитывать только известные, установленные потоки на уровне протокола, HAProxy 1.9 и более поздние версии подсчитывают выделенные ресурсы и хранят поток в своем учете до тех пор, пока ресурсы не будут полностью освобождены.

Часто задаваемые вопросы

1. Что такое уязвимость HTTP/2 Rapid Reset?
Уязвимость HTTP/2 Rapid Reset, так же известная, как CVE-2023-44487, представляет собой уязвимость безопасности в протоколе HTTP/2, которая позволяет злоумышленникам запускать DDoS-атаки.

2. Как работает уязвимость Rapid Reset?
Уязвимость использует механизм отмены потока с использованием RST_STREAM кадров, что позволяет злоумышленнику быстро отменять запросы и потреблять ресурсы сервера, что приводит к сценарию DoS.

3. Каковы распространенные признаки уязвимости HTTP/2 Rapid Reset?
Признаки могут включать высокую загрузку ЦП, повышенное потребление памяти и медленное время отклика из-за чрезмерного выделения ресурсов, вызванного отмененными запросами.

4. Как защитить веб-сервис от уязвимости Rapid Reset?
Реализуйте отслеживание подключений, rate limiting и рекомендации для Apache или Nginx, чтобы предотвратить неправомерные подключения и ограничить поток трафика.

Чем может помочь Qrator.AntiDDoS?

Ведущее в отрасли решение Qrator Labs для защиты от DDoS-атак Qrator.AntiDDoS обладает всеми необходимы инструментами для защиты от уязвимости HTTP/2 Rapid Reset (CVE-2023-44487). Глобальная сеть фильтрации Qrator Labs, состоящая из 15 центров фильтрации, с пропускной способностью более 4 Тбит/с обеспечивает комплексную защиту от всех типов DDoS-атак, в том числе с использованием уязвимости HTTP/2 Rapid Reset (CVE-2023-44487).

Не позволяйте уязвимости HTTP/2 Rapid Reset поставить под удар доступность ваших сервисов.  Выбирайте Qrator Labs и Qrator.AntiDDoS для лучшей в отрасли защиты от DDoS-атак. Свяжитесь с нами, чтобы узнать больше о том, как мы можем помочь обезопасить ваши интернет-ресурсы и защитить ваш бизнес от угрозы DDoS-атак.