Skip to main content

Как DPI распознает VPN-трафик

1. Транспорт и профиль соединения ⚰️

Транспорт — имеется в виду транспортный уровень модели OSI.

Многие VPN-протоколы используют характерный транспорт. Например, WireGuard вообще не пытается маскироваться под обычный трафик. Это дает DPI сильный сигнал, что перед ним туннельный трафик

2. Характер рукопожатия 🤝

Про TLS-рукопожатие я рассказывал в этой статье. У VPN-туннелей часто узнаваемая форма начала соединения: последовательность первых пакетов, интервалы между ними, реакция на таймаут. Это значит, что DPI может узнавать соединение по характерному паттерну/шаблону (сигнатуре) начала обмена данными.

3. Часто VPN маскируют под обычный HTTPS.🙂

Но DPI очень подробно смотрит на TLS ClientHello: версию, набор шифров, порядок их передачи. Разные клиенты, оставляют разные отпечатки.

4. Разная статистика соединения 🤨

При обычном пользовании веб-трафиком будет рваная картина: запрос, крупный ответ, пауза, еще запрос и так далее

У VPN картина часто другая: долгая сессия, более ровный профиль обмена, близкие интервалы между пакетами, узнаваемое соотношение входящего и исходящего трафика.

Как раз по вышеуказанным признакам DPI получает материал для эвристической классификации*

5. Почерк VPN-туннеля 😁

DPI ловит VPN не по одному какому-то признаку, а по совокупности вышеописанных сигналов. Все вместе дает классификацию — «это похоже на VPN».

DPI — это не только жесткая сигнатура VPN-протокола*, но и комбинация сигнатурного и эвристического анализа

6. Инфраструктура 🤬

И также распознается инфраструктура для VPN:

— IP-диапазоны

— Дата-центры

— VPS-площадки

И тогда просто банится весь трафик к конкретной инфраструктуре.

———

DPI не обязательно знать, что у тебя внутри VPN-туннеля. Ему достаточно понять, что VPN-туннель есть, чтобы его заблокировать/замедлить

———

Сигнатурный метод анализа.

Это поиск точного совпадения с известным шаблоном. Система сравнивает увиденные признаки с базой известных сигнатур: например, характерный handshake, конкретный TLS-отпечаток или узнаваемую структуру начала соединения.

Это похоже на Shazam: есть образец, и система ищет совпадение в большой базе.

Эвристический анализ.

Система уже не сравнивает точный образец, а смотрит на совокупность косвенных признаков. «Я не знаю точной сигнатуры, но по поведению — это очень похоже на VPN».