Логотип
Главная | Статьи | HTTP/3 и QUIC: новые векторы через UDP-based протоколы
HTTP/3 и QUIC: новые векторы через UDP-based протоколы

HTTP/3 и QUIC: новые векторы через UDP-based протоколы

30 марта, 2026

36

HTTP/3 – это не просто «очередной апдейт», это полная смена транспортного уровня: вместо старого доброго TCP под капотом теперь работает QUIC (Quick UDP Internet Connections), и это открывает совершенно новую поверхность атаки.

Что такое QUIC и почему это важно

QUIC – транспортный протокол поверх UDP, изначально разработанный Google, а затем стандартизированный IETF в RFC 9000. Он решает три главные боли TCP: блокировку заголовка очереди (HoL blocking), медленный TLS-хендшейк и невозможность смены сети без обрыва соединения. QUIC совмещает первоначальное соединение с TLS-рукопожатием, уменьшая задержку до 0-RTT при повторных коннектах.

Стек выглядит так:

Новые векторы атак

1. Обход Deep Packet Inspection (DPI)

Традиционные IDS/IPS заточены под TCP-трафик. QUIC шифрует весь payload с самого первого пакета, включая служебные заголовки. Это значит, что middleware-устройства – файрволы, WAF, прокси – не могут разобрать содержимое трафика. Сигнатурный анализ ломается, как деревянный меч об дракона.

2. UDP Amplification через QUIC

UDP по своей природе – connectionless протокол, а это классический вектор амплификационных DDoS-атак. С QUIC появляется новая возможность:

  • Initial packet spoofing – атакующий отправляет поддельный QUIC Initial пакет с чужим IP-адресом источника
  • Сервер отвечает Retry/Version Negotiation пакетами объёмом больше входящего
  • Коэффициент амплификации: до ~8x на Initial пакет

3. Connection Migration Abuse

QUIC поддерживает Connection Migration – соединение привязано не к IP:PORT, а к уникальному Connection ID. Это удобно для пользователей (переход с Wi-Fi на мобильную сеть без разрыва), но создаёт новые угрозы:

  • Connection hijacking: если атакующий перехватит Connection ID, он может «угнать» сессию, отправив пакеты с нового IP
  • Path validation bypass: уязвимые реализации могут не проверять PATH_CHALLENGE/PATH_RESPONSE должным образом
  • CID enumeration: брутфорс Connection ID в слабых реализациях

4. 0-RTT Replay Attack

QUIC поддерживает 0-RTT resumption – данные отправляются до завершения хендшейка. Это создаёт классический вектор replay-атаки:

  • Атакующий перехватывает 0-RTT данные из легитимного соединения
  • Воспроизводит их на сервере (особенно опасно для не-идемпотентных операций)
  • RFC 9001 описывает механизмы защиты, но реализации часто уязвимы

5. QUIC Smuggling / Protocol Confusion

Поскольку QUIC работает по UDP/443, можно использовать protocol confusion для обхода корпоративных прокси. Многие фильтры блокируют TCP/443, но пропускают UDP/443, ошибочно полагая, что «HTTPS всегда TCP».

Инструменты для исследования

ИнструментНазначение
quiche (Cloudflare)QUIC/HTTP3 библиотека на Rust
aioquicPython реализация QUIC
Wireshark 3.3+Диссектор QUIC трафика
ngtcp2Низкоуровневая QUIC имплементация
curl --http3Быстрое тестирование HTTP/3

Защита: что делать

Инфраструктурные меры против новых векторов:

  • Rate limiting на UDP/443 – ограничивай Initial пакеты по IP (не более 10-20/сек)
  • Включай Retry token – защищает от спуфинга источника в амплификационных атаках
  • Мониторинг Connection Migration – аномальные смены IP в рамках одного CID = подозрительно
  • Отключай 0-RTT для критических эндпоинтов – особенно для POST-запросов с побочными эффектами
  • Обновляй QUIC-библиотеки – RFC 9000/9001/9002 имплементации активно патчатся

Итог по поверхности атаки

QUIC и HTTP/3 – это прогресс, который сломал привычные модели безопасности. Весь трафик зашифрован с первого байта, UDP обходит большинство legacy-защит, а новые фичи типа Connection Migration и 0-RTT добавляют нетривиальные векторы. Безопасник, который не знает QUIC – уже отстал. Изучай RFC 9000, ставь Wireshark, и всегда тестируй свою инфраструктуру раньше, чем это сделают другие.