Что такое Deep Packet Inspection и как VPN его обходят
Твой провайдер видит каждый пакет, который ты отправляешь. Большую часть времени он читает только заголовок: source IP, destination IP, номер порта. Этого хватает для маршрутизации. Deep packet inspection идёт дальше. Он открывает пакет и инспектирует сам payload.
Аналогия, к которой обычно прибегают — почта. Почтовый работник читает адрес на конверте, чтобы отсортировать. DPI — это почтовый работник, открывающий конверт, читающий письмо и решающий, доставлять ли его, исходя из содержимого. Только DPI работает на line speed на миллионах пакетов в секунду, и решение принимается до того, как пакет дойдёт до назначения.
Так правительства блокируют VPN. Не по IP-адресу (слишком легко поменять), не по номеру порта (любой протокол можно запустить на любом порту), а глядя на сам трафик и идентифицируя, какой протокол его сгенерировал.
Что DPI-системы реально делают
DPI-устройство стоит inline на сетевом пути между тобой и интернетом. Каждый пакет проходит через него. Устройство держит flow state, пересобирает TCP-стримы и прогоняет классификационные движки против пересобранных данных.
Классификация идёт слоями. Сначала система проверяет номера портов и базовые заголовки протоколов. Потом гонит signature matching против известных протокольных fingerprint. Потом, если первые два слоя не дали уверенного матча, скармливает признаки трафика статистическим классификаторам. Некоторые системы также делают активное зондирование: видя подозрительный трафик, они сами подключаются к серверу назначения и пытаются спровоцировать его раскрыть, что он запускает.
Это не теория. Cisco, Huawei, Sandvine и Allot продают DPI-боксы провайдерам и правительствам по всему миру. PacketLogic от Sandvine нашли в Египте, Турции, Ливии и Сирии. Технология Huawei работает внутри Великого Китайского Файрвола. Это реальные продукты с реальными отделами продаж и реальными развёртываниями.
Где DPI развёрнут для цензуры
Страны с самыми агрессивными DPI-программами этого не скрывают. Некоторые публикуют тендерную документацию.
Великий Китайский Файрвол — старейшая и самая изощрённая система. Сочетает пассивный DPI (signature matching, статистическую классификацию, машинное обучение) с активным зондированием. Когда GFW видит подключение, которое подозревает в proxy, он запускает собственное подключение к тому же серверу, отсылая специально сконструированные payload, рассчитанные на провоцирование протокол-специфичных ответов. Исследователи задокументировали зонды, приходящие с более чем 12 000 разных IP-адресов. В четырёхмесячном исследовании было записано более 50 000 активных зондов против одного сервера, причём 25% replay-зондов прибывали в течение секунды после оригинального подключения.
Российский ТСПУ (Технические средства противодействия угрозам) — новее, но хорошо профинансирован. Роскомнадзор, агентство, отвечающее за регулирование интернета, имеет бюджет 2,27 миллиарда рублей до 2027-го на AI-анализ трафика. ТСПУ-боксы стоят внутри каждого лицензированного провайдера в России. Они обязательны. Система может троттлить или блокировать конкретные протоколы на национальном уровне, и она это делает. Россия троттлила Twitter в 2021-м с помощью ТСПУ. К середине 2024-го ТСПУ детектировал и блокировал WireGuard-подключения с почти 100% точностью.
Иран импортирует китайскую DPI-технологию и эксплуатирует собственную фильтрующую инфраструктуру. Во время «stealth blackout» в июне 2025-го власти не отрубали интернет полностью. Вместо этого они использовали DPI, чтобы селективно блокировать VPN-протоколы, оставляя обычный HTTPS-браузинг функциональным. Это новый playbook: таргетированная блокировка протоколов дешевле и политически менее затратна, чем полный shutdown.
Индонезия идёт другим путём. Правительство мапит интернет-трафик к идентификационным номерам граждан, связывая DPI-классифицированные потоки с конкретными людьми. Это не просто цензура. Это слежка с атрибуцией.
Отчёт Freedom House за 2025-й задокументировал 15-й подряд год снижения интернет-свободы глобально. 57 из 72 изученных стран арестовывали людей за онлайн-выражение. DPI — технология, обеспечивающая большинство этих правоприменительных действий.
Как DPI идентифицирует VPN-трафик
DPI использует три различных метода для отлова VPN-подключений. Каждый таргетирует свою слабость.
Метод 1: Протокольный fingerprinting
У каждого протокола есть структурные паттерны в пакетах. DPI-системы держат базы сигнатур, которые матчат эти паттерны.
WireGuard — самый очевидный пример. Его handshake-инициация всегда ровно 148 байт. Первый байт — 0x01 (тип сообщения), потом три нулевых байта, 4-байтный sender index и 32-байтный незашифрованный эфемерный публичный ключ. Эта структура никогда не меняется. DPI-правило, матчащее по размеру пакета плюс первым четырём байтам, ловит каждое WireGuard-подключение на первом пакете.
OpenVPN лишь чуть сложнее. Статья 2022-го на USENIX Security («OpenVPN is Open to VPN Fingerprinting») показала, что исследователи могут идентифицировать 85% OpenVPN-потоков с нулём ложных срабатываний. Метод работал на трафике реального провайдера, не на лабораторных данных. Они тестировали 41 разную обфускационную конфигурацию и всё равно идентифицировали 34 из них. Фрейминг control channel у OpenVPN, структура опкодов и тайминг TLS-handshake производят узнаваемые сигнатуры.
TLS-fingerprinting добавляет ещё слой. JA3 и JA3S хешируют параметры TLS ClientHello (cipher suites, расширения, поддерживаемые группы, форматы точек эллиптической кривой — и SNI виден plaintext рядом) в fingerprint. Если твой VPN-клиент генерирует ClientHello, не матчащий ни один известный браузер, подключение флагается. Хэш JA3 может различить Chrome, Firefox, curl и большинство proxy-клиентов. GFW Китая использует TLS-fingerprinting как минимум с 2019-го.
Метод 2: Статистический анализ
Когда fingerprinting не справляется, статистика подбирает. ML-классификаторы, обученные на размеченных датасетах трафика, могут детектировать VPN-подключения по распределениям размеров пакетов, межприбытийным интервалам, длительности потоков и энтропии байтов.
Опубликованные исследования показывают, что эти классификаторы достигают 80–95% точности на зашифрованном VPN-трафике. Random Forest-модели берут 85%+ точности на Shadowsocks конкретно. Классификатору ничего расшифровывать не нужно. Он смотрит на форму трафика: насколько большие пакеты, как часто прибывают, сколько случайности в байтовом стриме.
Высокая энтропия — реально красный флаг. У нормального HTTPS-трафика структурные элементы: TLS-handshake с цепочками сертификатов, заголовки HTTP/2-фреймов, поля content-length. Shadowsocks и другие SOCKS-прокси производят стримы почти равномерной случайности с первого байта. Этот уровень энтропии необычен в нормальном веб-браузинге, и классификаторы быстро его подхватывают.
Распределение размеров пакетов тоже важно. Веб-браузинг производит характерный паттерн маленьких request-пакетов и больших response-пакетов с конкретной кластеризацией вокруг частых размеров контента. VPN-туннель, несущий тот же веб-трафик, добавляет инкапсуляционный overhead, сдвигает распределение размеров и создаёт паттерны, отличные от прямых HTTPS-подключений.
Метод 3: Активное зондирование
Это специальность Китая, хотя Россия и Иран принимают на вооружение.
Активное зондирование работает так: DPI-система видит подключение, которое не может уверенно классифицировать. Вместо того чтобы блокировать сразу, она записывает destination IP и порт. Потом с отдельной машины открывает собственное подключение к этому серверу и шлёт тщательно сконструированные payload.
Если сервер запускает Shadowsocks, зонд шлёт случайный payload. Shadowsocks-сервер попробует расшифровать, провалится и либо закроет подключение, либо произведёт характерный error-ответ. Легитимный HTTPS-сервер вернул бы корректный TLS alert.
Если сервер запускает Trojan, зонд шлёт HTTP-запрос. Правильно сконфигурированный Trojan-сервер обслужит реальный сайт. Но зонд потом проверяет, матчится ли TLS-сертификат с certificate transparency логами, матчится ли тайминг сервера с реальным веб-сервером, согласованы ли HTTP response-заголовки с заявленным серверным софтом.
Масштаб активного зондирования огромен. Исследователи, гоняющие honeypot, видели зонды с тысяч разных китайских IP-адресов. Зонды распределены по нескольким ASN, чтобы избежать blacklisting. Они тестируют HTTP, TLS и кастомные протокол-специфичные payload. Они replay-ят захваченный трафик, проверяя, отвечает ли сервер по-разному на replay против свежих подключений.
Уровни детекции по протоколам
Данные агрегированы из тестов российского ТСПУ, наблюдений китайского GFW и отчётов исследователей (Habr, февраль 2026):
| Протокол | Уровень детекции | Время до детекции | Метод |
|---|---|---|---|
| OpenVPN | ~100% | Менее 30 секунд | Signature matching по структуре опкодов |
| WireGuard | ~100% | Первый пакет | 148-байтный fingerprint handshake |
| Shadowsocks (AEAD) | ~95% | Минуты | Анализ энтропии + replay-детекция |
| Trojan | ~90% | Часы | Активное зондирование + проверка сертификата |
| VMess | ~80% | Минуты | Статистический анализ padding/тайминга |
| VLESS Reality | <5% | N/A | Известных надёжных методов детекции нет |
Эти числа сдвигаются. Протокол на 80% сегодня может быть на 99% через полгода. Но иерархия стабильна с середины 2024-го: традиционные VPN-протоколы тривиально детектируемы, pre-Reality инструменты обхода детектируемы с усилиями, а Reality-подключения остаются сложно отличимыми от легитимного HTTPS.
Как протоколы пытаются уворачиваться от DPI
Стратегии уклонения делятся на три поколения.
Поколение 1: Обфускационные обёртки
Самый ранний подход — оборачивать VPN-трафик в другой слой. OpenVPN-пользователи гоняли подключения через obfs4, Stunnel или похожие инструменты, которые либо рандомизировали трафик, либо оборачивали в TLS. obfs4 целился произвести трафик без какой-либо опознаваемой структуры.
Это работало против простого signature matching. Это провалилось против статистического анализа. Случайный шум выделяется, когда всё остальное в сети — структурированный HTTP/S, DNS или QUIC. Как только Китай развернул классификаторы энтропии, obfs4-обёрнутые подключения стало легко флагать.
Shadowsocks представлял собой уточнение. AEAD-шифры добавили аутентификацию, более поздние версии пытались сделать replay-атаки сложнее. Но фундаментальная проблема осталась: трафик Shadowsocks не похож ни на один легитимный протокол. Он слишком случаен, слишком равномерен, слишком чист. К сентябрю 2024-го российский ТСПУ ловил 95% потоков Shadowsocks.
Поколение 2: Протокольная мимикрия
Trojan был первым широко развёрнутым инструментом, который пытался выглядеть как конкретный легитимный протокол (HTTPS), а не как ничто. Trojan-сервер предъявляет валидный TLS-сертификат и обслуживает реальный сайт неаутентифицированным подключениям. Только подключения с правильным паролем проксируются.
Это было значительное улучшение. Пассивный DPI не мог отличить Trojan от реального HTTPS-сервера по трафику. Проблема — активное зондирование. GFW Китая начал подключаться к подозреваемым Trojan-серверам, проверяя, реально ли там хостится показываемый сайт, сравнивая детали сертификата и измеряя тайминг ответа. К августу 2025-го уровень детекции Trojan вырос до примерно 90%.
Поколение 3: Неотличимый трафик
VLESS Reality решил проблему сертификата. Вместо того чтобы генерировать собственный TLS-сертификат, Reality-сервер связывается с реальной мишенью маскировки (типа microsoft.com) и форвардит подлинный сертификат этого сервера. Цепочка сертификатов настоящая. OCSP stapling настоящий. TLS-fingerprint матчит реальный браузер, потому что клиент использует uTLS для воспроизведения браузер-идентичных ClientHello.
Активное зондирование упирается в стену. Когда зонд подключается к Reality-серверу без валидной аутентификации, сервер проксирует подключение прямо к реальной мишени маскировки. Зонд разговаривает с настоящим microsoft.com. Детектировать нечего.
Уровень детекции <5% для VLESS Reality в данных Habr — не из протокольного анализа. Это из операционных ошибок: люди используют необычные порты, неправильно конфигурируют мишень маскировки или запускают сервер в IP-диапазонах, не хостящих легитимные сайты.
Проприетарные подходы
NordVPN везёт NordWhisper, описанный как протокол, который «маскирует VPN-трафик под обычный веб-браузинг». Технические детали скудны. ProtonVPN предлагает Stealth-режим, который похоже использует TLS-обфускацию. Ни одна компания не публикует исходный код или детальную спецификацию протокола, что делает независимую верификацию их claim censorship resistance невозможной.
Open-source-сообщество обхода цензуры в целом скептически относится к проприетарным подходам. Закрытые протоколы не могут быть проаудированы исследователями, не могут быть протестированы против известных DPI-систем в контролируемых условиях и полностью полагаются на claim вендора об их эффективности.
Гонка вооружений не останавливается
Каждая описанная техника детекции когда-то считалась невозможной. Десять лет назад большая часть интернет-цензуры полагалась на DNS-poisoning и IP-blacklisting. DPI был дорогим и медленным. Это изменилось. Железо стало быстрее. ML-модели стали лучше. Правительства выделили реальные бюджеты.
Российская инвестиция 2,27 миллиарда рублей в AI-анализ трафика — не разовая трата. Это продолжающаяся разработка. Команда GFW Китая публикует академические статьи по классификации трафика на топ-конференциях по безопасности. Это не любители.
Ответ со стороны обхода — поднимать планку для детекции. Каждое поколение инструментов делало DPI сложнее, не невозможным. Обфускация купила несколько лет. Протокольная мимикрия — ещё несколько. Reality сделал детекцию требующей отличить VPN-подключение от идентично выглядящего легитимного HTTPS-подключения, что фундаментально сложнее всего предыдущего.
Но «фундаментально сложнее» не значит «навсегда невозможно». Потенциальные будущие атаки против Reality включают:
- Корреляция таймингов: матчинг тайминга твоего локального трафика против трафика, наблюдаемого на конце мишени маскировки
- Репутация сервера: построение баз известных Reality-серверных IP через сетевое сканирование
- Поведенческий анализ: флаговать IP, поддерживающие необычно длинные HTTPS-подключения к microsoft.com с высоким bandwidth
- Принятие ECH: если Encrypted Client Hello станет универсальным, серверы, не поддерживающие его, но claim-ящие быть microsoft.com, начнут выделяться
RPRX и команда разработки XRay осведомлены о этих векторах. Обновления XRay core уже адресовали несколько из них. Транспорт XHTTP, добавленный в v24.12.18, разбивает трафик на множество short-lived HTTP-сессий, выглядящих как обычные веб-API-вызовы, а не как long-lived туннели.
Что это значит для выбора VPN
Если ты в стране, не гоняющей DPI для цензуры (большая часть Европы, Северной Америки, части Южной Америки и Африки), выбор протокола мало значит для уклонения от детекции. Скорость и простота WireGuard делают его лучшим вариантом. Используй его.
Если ты в Китае, России, Иране или любой стране, активно блокирующей VPN-протоколы, выбор протокола — единственный самый важный фактор того, будет ли VPN вообще работать. WireGuard заблокируют. OpenVPN заблокируют быстрее. Нужен протокол, производящий трафик, неотличимый от обычного HTTPS-браузинга.
Поэтому Fexyn запускает VLESS Reality рядом с WireGuard и OpenVPN. Когда твоё подключение к WireGuard-серверу блокируется, движок ротации протоколов Fexyn автоматически переключается на VLESS Reality поверх TCP или XHTTP. Твой трафик начинает выглядеть как нормальное HTTPS-подключение к microsoft.com. У DPI-системы, только что заблокировавшей WireGuard, нет надёжного способа отличить твой VPN-трафик от миллионов легитимных HTTPS-подключений, текущих через ту же сеть.
DPI реален, развёрнут в масштабе и становится лучше. Протоколы, которые выживают — те, что не пытаются прятаться. Они просто выглядят ровно как всё остальное. Для пользователей, чья модель угроз центрирована на враждебных сетях — особенно журналистов — выбор протокола это единственная самая последовательная настройка в любом VPN.
Самый конкретный ежедневный пример DPI в работе — блокировка VoIP в Заливе и Египте: Etisalat, du, STC, Mobily, Zain и крупные египетские операторы используют DPI, чтобы дропать сигналинг WhatsApp, FaceTime и Skype-звонков на уровне пакетов, оставляя текстовые сообщения проходить. Защита телефонной выручки операторов — мотив; технический fingerprint этих VoIP-сигналов — механизм. Гайды по странам и приложениям — VPN для WhatsApp, VPN для FaceTime, VPN для Skype — разбирают, какой протокол Fexyn запускает каждый из них обратно.
Для меж-странового среза глобальная карта цензуры имеет фильтр «DPI развёрнут», поднимающий все 18+ стран с задокументированной DPI-инфраструктурой на одном экране.