Технологии VPN

Почему VPN блокируют и как работают устойчивые соединения

13 мин чтения

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

Схема фильтрации VPN-трафика: обычные соединения блокируются, устойчивый поток проходит через систему анализа

Почему VPN перестает работать

Еще вчера VPN подключался за несколько секунд, а сегодня приложение долго пытается установить соединение, перебирает серверы или вообще сообщает об ошибке.

Первая мысль обычно очевидна: проблема с VPN-сервисом. Возможно, сервер перегружен, приложение работает некорректно или само интернет-соединение нестабильно.

Иногда причина действительно в этом.

Но существует другой сценарий: сервер исправен, интернет работает, однако сеть распознает определенный тип VPN-трафика и ограничивает его.

Чтобы понять, почему такое возможно, необходимо разделить две задачи, которые часто ошибочно считают одной:

защитить содержимое интернет-трафика

и

снизить заметность признаков, по которым соединение можно классифицировать.

Современный VPN может прекрасно решать первую задачу и практически не решать вторую.

Поэтому фраза «VPN использует надежное шифрование» сама по себе еще ничего не говорит о том, насколько хорошо он будет работать в сети с активной фильтрацией.

Что происходит при подключении к VPN

Без VPN устройство устанавливает соединения с интернет-ресурсами через сеть провайдера.

После подключения VPN между устройством и удаленным сервером создается защищенное соединение. Интернет-трафик передается через него, а уже сервер взаимодействует с необходимыми ресурсами.

Для наблюдателя между пользователем и сервером содержимое защищенного трафика недоступно в открытом виде.

Однако это не означает, что соединение становится невидимым.

Сеть по-прежнему передает пакеты между определенными адресами. Она может наблюдать доступные характеристики соединения: транспорт, размеры и последовательность пакетов, время их передачи и другие метаданные.

Именно эти признаки в некоторых случаях позволяют определить не содержимое соединения, а тип используемого трафика.

Шифрование не делает VPN невидимым

Представьте непрозрачный контейнер.

Наблюдатель не знает, что находится внутри, но все равно видит сам контейнер, его размер, направление движения и время отправления.

Примерно такое различие существует между шифрованием содержимого и маскировкой сетевого соединения.

VPN может надежно защищать передаваемые данные, но при этом сохранять характерный сетевой профиль.

Если этот профиль достаточно стабилен, система фильтрации может попытаться классифицировать соединение, не расшифровывая пользовательские данные.

Поэтому при противодействии блокировкам возникает дополнительная задача:

Сделать защищенное соединение сложнее для надежной классификации как VPN или прокси-трафик.

Это принципиально другая задача, чем просто использование современной криптографии.

Даже без доступа к содержимому DPI может анализировать наблюдаемые характеристики соединения: размеры пакетов, интервалы и поведение трафика.

Как VPN могут блокировать

Не каждая блокировка требует сложного анализа трафика.

Самый очевидный вариант — ограничить доступ к известным IP-адресам VPN-серверов. Если адрес сервера известен системе фильтрации, соединение с ним можно просто заблокировать.

Другой вариант — фильтрация определенных портов или транспортов.

Однако современные системы могут анализировать трафик глубже.

Именно здесь появляется DPI — Deep Packet Inspection.

Что такое DPI

DPI можно перевести как глубокий анализ пакетов.

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

Важно: для этого необязательно знать содержимое зашифрованного трафика.

Система может учитывать совокупность признаков:

характер начала соединения, структуру доступных протокольных данных, последовательность и размеры пакетов, направление передачи, временные характеристики и другие наблюдаемые особенности.

По отдельности такие признаки могут ничего не доказывать.

Вместе они способны сформировать сетевой отпечаток — fingerprint.

Возможность такого подхода подтверждается исследованиями. Например, исследователи University of Michigan и других организаций продемонстрировали fingerprinting OpenVPN по сочетанию протокольных особенностей, размеров пакетов и поведения сервера. Их система объединяла пассивное распознавание трафика с последующим active probing.

Поэтому правильный вопрос звучит не так:

Зашифрован ли VPN?

А так:

Насколько легко зашифрованное соединение отличить от остального интернет-трафика?

Что такое сигнатура VPN-протокола

Чтобы клиент и сервер могли взаимодействовать, любой сетевой протокол должен следовать определенным правилам.

Он использует определенный формат сообщений, последовательность обмена данными, механизмы установления соединения и транспорт.

Именно благодаря этому две стороны понимают друг друга.

Но та же предсказуемость потенциально создает признаки, пригодные для классификации.

Хороший пример — WireGuard. Это современный и криптографически надежный VPN-протокол, однако его сетевое поведение не проектировалось как имитация обычного HTTPS-трафика. Актуальная документация Xray прямо отмечает, что WireGuard обладает сильной криптографией, но имеет узнаваемую UDP-сигнатуру и сам по себе не обеспечивает внешний профиль обычного HTTPS.

Это не делает WireGuard плохим протоколом.

Просто безопасность туннеля и устойчивость к классификации — разные свойства.

Почему стандартные VPN-протоколы могут блокироваться

WireGuard, OpenVPN и IKEv2/IPsec прежде всего решают задачу создания защищенного сетевого соединения.

Это именно то, для чего они были разработаны.

В обычной сети такой подход может обеспечивать прекрасное сочетание безопасности, производительности и надежности.

Проблема возникает, когда модель угроз меняется.

Теперь от соединения требуется:

  • защитить передаваемые данные
  • не дать системе фильтрации легко определить тип самого соединения

Это уже другая инженерная задача.

Поэтому корректнее не противопоставлять «плохие стандартные протоколы» и «хорошие антиблокировочные».

Они просто оптимизируются под разные условия.

Почему смены порта может быть недостаточно

Один из классических способов решения проблем с VPN — сменить порт.

Иногда это действительно работает.

Если сеть блокирует исключительно определенный порт, перенос соединения может решить проблему.

Но против полноценной классификации трафика этого недостаточно.

Если система определяет протокол по совокупности характеристик соединения, номер порта становится лишь одним из признаков.

Особенно часто возникает идея использовать порт 443, поскольку именно через него обычно работает HTTPS.

Но здесь важно различать две вещи:

  • работать через порт 443
  • выглядеть для сети как обычный веб-трафик

Это не одно и то же.

Порт — это только часть сетевого профиля.

Обфускация: как меняется внешний вид трафика

Именно здесь появляется понятие обфускации трафика.

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

Проще говоря:

Шифрование:
«Нельзя прочитать, что находится внутри».

Обфускация:
«Сложнее понять, что это за соединение».

Обе задачи могут решаться одновременно.

При этом обфускация — не один конкретный протокол и не кнопка, которую можно универсально добавить к любой технологии.

Существуют разные архитектурные подходы к тому, как сделать трафик менее очевидным для систем фильтрации.

Active Probing: когда сеть сама проверяет сервер

Система фильтрации может не ограничиваться наблюдением за уже существующим соединением.

Предположим, определенный сервер показался подозрительным.

Система может самостоятельно попытаться подключиться к нему и посмотреть, как он отреагирует.

Это называется active probing — активное зондирование.

Упрощенно процесс выглядит так:

подозрительное соединение → предварительная классификация → проверочное подключение → анализ ответа сервера.

Такой подход исследовался, в частности, применительно к обнаружению OpenVPN.

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

Что значит «устойчивый к блокировкам протокол»

На самом деле корректнее говорить не об одном протоколе, а о стеке технологий.

Он может состоять из нескольких уровней, каждый из которых отвечает за свою задачу.

Например:

  1. Протокол
  2. Транспорт
  3. Защита транспортного соединения
  4. Серверная инфраструктура

Такой подход важен для понимания AltairVPN, поскольку используемая здесь архитектура отличается от классической схемы «один VPN-протокол поверх UDP или TCP».

Как устроено соединение AltairVPN

Для подключения AltairVPN использует клиент HAPP и стек на базе VLESS + XHTTP + REALITY.

Здесь важно понимать назначение каждого компонента. Это не три конкурирующих протокола. Они находятся на разных уровнях архитектуры.

Технически REALITY и XHTTP правильнее рассматривать не как последовательные «туннели»: XHTTP является транспортным методом, а REALITY — механизмом transport security, который используется совместно с ним. Именно так их классифицирует документация Xray.

Разберем каждый компонент отдельно.

Что такое VLESS

VLESS — протокол, используемый экосистемой Xray для организации соединения между клиентом и сервером.

Здесь есть важный нюанс.

Не стоит описывать VLESS как «новый зашифрованный VPN-протокол».

В архитектуре Xray защита транспортного соединения может обеспечиваться отдельным механизмом. Документация прямо разделяет уровень proxy protocol и transport security; для VLESS поддерживается использование REALITY.

Для AltairVPN это позволяет разделить функции системы: VLESS отвечает за протокольную часть взаимодействия, а другие компоненты стека — за транспорт и его защиту.

Что такое REALITY

REALITY — один из наиболее интересных компонентов этой архитектуры.

В официальной документации Xray он описывается как модифицированная форма TLS, которая использует внешний вид и характеристики TLS-handshake целевого сайта для маскировки соединения.

Именно здесь становится особенно заметно отличие от стандартного VPN.

Обычный VPN-туннель может быть прекрасно зашифрован, но иметь собственный узнаваемый сетевой профиль.

REALITY работает на другом уровне: его задача связана в том числе с тем, как защищенное соединение выглядит снаружи.

Документация Xray указывает, что внешне профиль REALITY рассчитан на соответствие обычному веб-трафику.

Это не означает, что соединение становится «невидимым».

Но надежная классификация такого трафика становится иной задачей, чем простое распознавание стандартного VPN-протокола.

Что такое XHTTP

XHTTP — транспортный метод Xray.

Именно транспорт определяет, каким способом данные протокольного уровня передаются между клиентом и сервером.

Это важно, потому что для систем анализа имеет значение не только первоначальный handshake, но и дальнейшее поведение потока.

В актуальной документации Xray XHTTP выделен как самостоятельный транспортный метод, который может работать совместно с REALITY.

Поэтому корректное название используемой AltairVPN схемы:

VLESS с транспортом XHTTP и transport security REALITY.

А не просто «протокол REALITY» или «протокол XHTTP».

Это небольшая терминологическая деталь, но для экспертной статьи она важна.

Трафик приложений проходит через клиент HAPP и стек VLESS + XHTTP + REALITY к серверу AltairVPN, после чего направляется в интернет.

Почему AltairVPN использует такой стек

Теперь можно вернуться к исходной проблеме.

Если использовать только стандартный VPN-протокол, защищенность содержимого соединения еще не гарантирует устойчивость к его классификации.

Стек AltairVPN решает задачу иначе.

VLESS обеспечивает протокольный уровень.

XHTTP определяет транспорт.

REALITY отвечает за защищенное транспортное соединение и его внешний TLS-профиль.

HAPP предоставляет пользователю клиент, который работает с полученной конфигурацией.

В результате система изначально строится с учетом того, что сетевое соединение может анализироваться, а не только передаваться через обычную неконтролируемую сеть.

Это и есть принципиальное отличие.

Стандартный VPN и устойчивое к блокировкам соединение

Стандартный VPNСоединение, устойчивое к блокировкам
Обычная сеть без фильтрацииПодходитПодходит
VPN-протоколы фильтруютсяМожет не работатьПредпочтительно
Используется DPI и анализ профиля трафикаМожет распознаватьсяУчитывает эту модель угроз
Требуется снижение заметности характерных признаков VPNНе основная задачаОдна из задач такого подхода

Почему мы не называем AltairVPN «неблокируемым»

Потому что такой гарантии не может дать ни один сервис.

Сетевые ограничения — динамическая среда.

Методы классификации меняются. Появляются новые правила DPI. Блокируются отдельные адреса и инфраструктура. Совершенствуются методы анализа поведения соединений.

В ответ развиваются и транспортные технологии.

Получается постоянный цикл:

обнаружение → ограничение → адаптация → новое обнаружение.

Поэтому технически корректная формулировка для AltairVPN — устойчивость к блокировкам, а не «невозможность блокировки».

Это важное различие.

А зачем тогда нужен HAPP

Большинство пользователей не хотят разбираться, чем VLESS отличается от XHTTP и что именно делает REALITY.

И не должны.

Для пользователя задача выглядит значительно проще:

получить конфигурацию → открыть ее в HAPP → подключиться.

HAPP выступает клиентской частью системы и позволяет использовать подготовленную конфигурацию подключения без ручного построения всего стека.

В результате сложная техническая архитектура остается за интерфейсом приложения.

Именно так, на мой взгляд, и должны работать современные сетевые инструменты: сложность остается внутри системы, а пользователь получает понятный сценарий подключения.

Что делать, если VPN не работает

Не стоит сразу считать причиной DPI.

Сначала убедитесь, что интернет работает без VPN. Затем перезапустите приложение, попробуйте другой сервер и проверьте наличие обновлений клиента.

Полезно также проверить другую сеть.

Например:

Wi-Fi не работает → проверить мобильную сеть.

И наоборот.

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

Если же не работает один конкретный сервер, проблема вполне может находиться на стороне сервера, а не фильтрации.

Главное — не делать вывод о блокировке по одной неудачной попытке подключения.

Можно ли просто использовать WireGuard

Конечно.

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

WireGuard остается современным и криптографически сильным VPN-протоколом.

Но его задача отличается от задачи REALITY/XHTTP.

В документации Xray это различие сформулировано достаточно прямо: WireGuard обеспечивает защищенный туннель, однако не имеет внешнего профиля обычного HTTPS, который дают TLS/REALITY.

Поэтому выбор зависит от условий.

В свободной сети приоритетом может быть простота и производительность.

В сети с активной фильтрацией на первый план выходит устойчивость к классификации.

Что лучше: WireGuard или VLESS + XHTTP + REALITY

Сравнивать их как два равнозначных VPN-протокола не совсем корректно.

WireGuard — самостоятельный VPN-протокол.

VLESS + XHTTP + REALITY — комбинация нескольких технологий разных уровней.

Поэтому правильнее сравнивать сценарии применения.

WireGuard хорошо подходит для создания эффективного защищенного туннеля.

Стек VLESS + XHTTP + REALITY становится интересен, когда необходимо дополнительно учитывать условия сетевой фильтрации и внешний профиль соединения.

Ни один вариант не является абсолютным победителем.

Контекст важнее названия технологии.

Может ли DPI все равно обнаружить REALITY

Нельзя корректно обещать обратное.

Любая технология работает в конкретной среде и против конкретных методов классификации.

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

Но из этого не следует, что существует математическая гарантия невозможности обнаружения.

Кроме анализа handshake могут использоваться другие характеристики трафика, блокировка IP-адресов и новые методы классификации.

Поэтому архитектура должна развиваться вместе с системами фильтрации.

Часто задаваемые вопросы

Может ли провайдер увидеть, что я использую VPN?

Стандартное VPN-соединение не обязательно скрывает сам факт существования защищенного туннеля. Даже не имея доступа к содержимому, сеть может анализировать доступные характеристики соединения.

Может ли DPI расшифровать VPN?

Распознавание типа трафика не требует его расшифровки. DPI может использовать метаданные и наблюдаемые особенности сетевого потока для классификации.

Что такое VLESS?

VLESS — протокол экосистемы Xray, который в AltairVPN используется как протокольный уровень соединения. Транспорт и transport security задаются отдельно.

Что такое REALITY?

REALITY — механизм transport security Xray на основе модифицированного TLS. Он использует внешний вид и характеристики TLS-handshake целевого сайта для маскировки соединения.

Что такое XHTTP?

XHTTP — транспортный метод Xray, определяющий способ передачи данных между сторонами соединения. Он поддерживает совместное использование с REALITY.

Что использует AltairVPN?

AltairVPN использует HAPP в качестве клиента и конфигурацию VLESS + XHTTP + REALITY для подключения к серверной инфраструктуре.

Можно ли полностью скрыть использование VPN?

Гарантировать абсолютную невозможность обнаружения нельзя. Корректнее говорить о технологиях, которые усложняют классификацию и повышают устойчивость соединения к определенным видам блокировок.

Заключение

Самое важное различие можно сформулировать одной фразой:

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

Именно поэтому современная криптография сама по себе не гарантирует, что VPN будет работать в сети с активной фильтрацией.

WireGuard, OpenVPN и другие стандартные VPN-протоколы могут отлично выполнять свою основную задачу — создавать защищенное соединение.

Но когда сеть начинает классифицировать и ограничивать VPN-трафик, появляется дополнительная инженерная проблема.

В AltairVPN для ее решения используется стек VLESS + XHTTP + REALITY, а подключение со стороны пользователя выполняется через HAPP.

Это более сложная архитектура, чем обычный VPN-туннель.

Но пользователю не нужно разбираться в этой сложности.

Ему нужно, чтобы соединение работало.

Почему VPN не работает: блокировка протоколов и DPI