UPDATE: в актуальном Firefox 68 уязвимость уже исправлена(спасибо Dukat).


Тришта Тивари(Trishita Tiwari) и Ари Трахтенберг(Ari Trachtenberg) из Бостонского университета опубликовали работу, показывающую новый метод атаки для сканирования портов на хостах внутренней сети пользователя или на локальном хосте(CVE-2019-11728). Атака осуществляется с помощью HTTP заголовка Alt-Svc, введённого в RFC-7838 HTTP Alternate Services(утверждён в 2016 году).


HTTP заголовок Alt-Svc позволяет перенаправить запрос на новый хост и порт. Это используется для балансировки нагрузки. Например:


Alt-Svc: http/1.1="other.example.com:443";ma=200;persist=1


предписывает браузеру для получения запрошенной страницы соединиться с хостом other.example.org на порту 443 используя HTTP/1.1. Параметр "ma" задаёт максимальное время действия перенаправления. Кроме HTTP/1.1, поддерживаются протоколы HTTP/2-over-TLS (h2), HTTP/2-over plain text (h2c), SPDY(spdy) и QUIC (quic), использующий UDP.


типичное использования Alt-Svc


Атакующий хост может последовательно перебирать адреса внутренней сети и сетевые порты, используя в качестве признака задержку между повторными запросами: при недоступности перенаправляемого ресурса браузер мгновенно получает в ответ пакет RST и сразу помечает альтернативный сервис недоступным и обнуляет заданное в запросе время жизни перенаправления. Если сетевой порт открыт то для завершения соединения требуется больше времени (будет предпринята попытка установки соединения с соответствующим обменом пакетами) и браузер отреагирует не мгновенно.


В том числе это позволяет обойти ограничения на соединения к портам, которые браузеры считают небезопасными для соединения(Firefox, Chrome), например порты почтовых и DNS сервисов.


Возможные способы применения атаки, кроме сканирования портов:


  • DDoS атаки с усилением. Например, TLS хендшейк для не-HTTP сервисов заставляет сервер передать клиенту информацию о сертификате, вынуждая сервер ответить в 60 раз большим количеством данных, чем было запрошено.

Alt-Svc DDOS атака с усилением


  • Обход защиты от вредоносного и фишингового ПО при помощи Google Safe Browsing. Перенаправление на вредоносный хост при помощи Alt-Svc не приводит к выводу предупреждения.
  • Отслеживание пользователя в обход средств защиты от трекеров. Используется iframe, вызывающий в Alt-Svc на внешний обработчик отслеживания перемещения. Также может применяться для отслеживания пользователя провайдерами, имеющими веб страницу для входа, например WiFi captive portal. Браузер пользователя запоминает уникальный Alt-Svc для iframe отслеживающего домена. При следующем посещении этой страницы можно увидеть на сетевом уровне, куда обратится браузер клиента.

At-Svc отслеживание пользователя


Alt-Svc ISP отслеживание пользователя на уровне ISP


  • Если сайт использует Alt-Svc перенаправление, то ISP(или любой другой man-in-the-middle), при переходе пользователя на определённую страницу, может установить факт предыдущего посещения этого сайта.
  • Засорения логов IDS ложными срабатываниями

Для Firefox обработка Alt-Svc может быть отключена следующим образом: about:config -> network.http.altsvc.enabled: false (за совет спасибо Анониму с opennet).

Комментарии (3)


  1. Dukat
    15.08.2019 08:06

    Стоило добавить, что в актуальном Firefox 68 уязвимость уже устранена.


    1. selivanov_pavel Автор
      15.08.2019 16:20

      Спасибо, добавил


  1. dartraiden
    15.08.2019 15:23

    В Firefox это исправлено ещё в начале июля, ничего делать не нужно.