Серия уязвимостей в реализациях HTTP/2

6 августа 2016 года

Исследователи безопасности из компании Imperva представили (Архивная копия от 10 декабря 2017 на Wayback Machine) на конференции 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 - атака нацелена на эксплуатацию недоработок в реализациях механизма мультиплексирования потоков в одном соединении и может привести к краху серверного процесса.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Серия уязвимостей в реализациях HTTP/2», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

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