Исследователи безопасности из компании Imperva представили на конференции Black Hat USA 2016 отчёт с результатами анализа безопасности протокола HTTP/2. В процессе анализа были выявлены четыре концептуальные уязвимости, проявляющиеся в различных реализациях HTTP/2 и приводящие к отказу в обслуживании.

Интересно, что две проблемы не специфичны HTTP/2 и не обусловлены расширением функциональности протокола, а являются давно известными проблемами реализаций HTTP/1.x. По данным W3Techs протокол HTTP/2 уже используется на 9.1% сайтов, при том, что в декабре 2015 года этот показатель составлял 2.3%, а месяц назад 8.4%.

Выявленные техники атак:

  • Slow Read - метод аналогичен известной DDoS-атаке Slowloris, при которой клиент принимает ответ на запрос очень медленно, что позволяет исчерпать лимит на число активных соединений. Атаке подвержены реализации HTTP/2 в Apache, IIS, Jetty, NGINX и nghttp2. Разработчики nginx сообщили, что проблема была устранена в феврале в выпуске NGINX 1.9.12, актуальные выпуски NGINX уязвимости не подвержены;
  • HPACK Bomb - атака через манипуляцию сжатыми запросами, аналогичная по своей сути "zip-бомбе". Суть метода в передаче небольших сжатых сообщений, которые на сервере распаковываются в гигабайты данных и приводят к исчерпанию доступных ресурсов;
  • Dependency Cycle Attack - метод построен на манипуляции механизмами управления потоком, применяемым в HTTP/2 для сетевой оптимизации. Атакующий может отправить специально оформленные запросы, которые приведут к взаимному использованию зависимостей и бесконечному зацикливанию при попытке обработать такие запросы. Проблема проявляется в Apache httpd и библиотеке nghttpd2.
  • Stream Multiplexing Abuse - атака нацелена на эксплуатацию недоработок в реализациях механизма мультиплексирования потоков в одном соединении и может привести к краху серверного процесса.


Источник: http://www.opennet.ru/opennews/art.shtml?num=44925