Всего один компьютер с интернет-подключением на скорости 100 Мбит/с оказался способен произвести DoS-атаку, которой присвоили название HTTP/2 Bomb, сообщили эксперты в области кибербезопасности из компании Calif. Это открытие им помог сделать агент искусственного интеллекта OpenAI Codex.
Источник изображения: Shamin Haky / unsplash.com
В основу схемы атаки легла методика злоупотребления форматом сжатия заголовков HPACK. Гипотетический злоумышленник обманом заставляет веб-сервер резервировать большие объёмы памяти, отправляя при этом очень небольшие фрагменты данных. Он эксплуатирует функцию протокола HTTP/2, которая позволяет небольшим объёмам разрастаться до больших объёмов данных на сервере, заставляя его выделять ресурсы памяти. Обычно после обработки запроса память высвобождается, но атакующий подключает другую функцию HTTP/2, позволяющую поддерживать соединение открытым неограниченно долго. По мере поступления запросов сервер потребляет всё больше памяти, после чего замедляется и выходит из строя.
Механизм атаки работает на конфигурациях HTTP/2 основных веб-серверов, в том числе NGINX, Apache HTTP Server, Microsoft IIS, Envoy и Cloudflare Pingora. Они «обеспечивают работу значительной области веб-пространства», то есть риск весьма значителен. Некоторые разработчики уже выпустили обновления, а другие продукты ещё остаются уязвимыми. В случае Apache httpd и Envoy один клиент может потреблять и удерживать 32 Гбайт памяти сервера примерно за 20 секунд. Существующие средства защиты бессильны против HTTP/2 Bomb, потому что значения используемых в атаке заголовком ничтожно малы.