Как 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».