Китай научился блокировать даже «невидимый» зашифрованный трафик: как работает Великий файерволл

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

Автор:

«Великий китайский файерволл» часто представляют в виде огромного списка запрещённых сайтов: пользователь пытается зайти на Google, YouTube или другой заблокированный ресурс, а система просто не пропускает соединение. На самом деле современная китайская инфраструктура интернет-фильтрации гораздо сложнее.

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

Особенно показательным стал 2021 год. Тогда исследователи GFW Report зафиксировали новый механизм, который позволил Большому файерволу в режиме реального времени массово блокировать полностью зашифрованные протоколы Shadowsocks, VMess и obfs4 даже без предварительной активной проверки сервера.

Это стало очередным этапом многолетней технологической гонки между китайской системой цензуры и разработчиками инструментов для её обхода.

Сначала достаточно было подменить адрес

Первые поколения «Великого файервола» в значительной степени опирались на несколько относительно простых методов.

Один из них — подмена DNS. Когда компьютер запрашивает, какому IP-адресу соответствует определённый домен, система цензуры может подставить неверный ответ. В результате пользователь не попадает на нужный сервер, даже если сам сайт продолжает нормально работать.

Масштабное исследование GFWatch показало, насколько обширной стала эта система. В ходе девятимесячных измерений ученые проверяли в среднем 411 млн доменов ежедневно и выявили более 311 тысяч доменов, к которым применялась DNS-цензура. Причем из-за особенностей правил блокировки под них попадали и тысячи невиновных адресов.

Второй очевидный метод — блокировка IP-адресов.

Еще один механизм работает непосредственно с незашифрованной информацией внутри соединения. Например, брандмауэр может обнаружить домен в HTTP-запросе или в поле SNI во время установки TLS-соединения и принудительно разорвать его с помощью поддельных TCP-пакетов.

Однако с распространением шифрования эффективность таких подходов начала снижаться.

VPN оказались зашифрованными, но не невидимыми

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

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

Различные системы устанавливают соединение по-разному, имеют характерную структуру первых пакетов и другие сетевые «отпечатки». Для системы глубокого анализа пакетов, или DPI, этого иногда достаточно, чтобы отличить обычное HTTPS-соединение от Tor или определённого VPN-протокола.

Китай пошёл ещё дальше и начал применять активное зондирование.

VPN

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

Исследования Tor Project показали, что таким образом «Великий файерволл» научился проверять Tor, obfs2, obfs3 и другие системы. При этом тысячи IP-адресов, с которых поступали запросы, предположительно контролировались централизованной инфраструктурой.

Таким образом, брандмауэр не просто следил за пользователем — он сам начинал «общаться» с сервером.

Shadowsocks пытался выглядеть как ничто

Одним из ответов на DPI стал Shadowsocks, созданный китайским программистом под псевдонимом clowwindy.

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

В 2015 году сам clowwindy написал на GitHub, что к нему обратилась полиция с требованием прекратить работу над проектом и удалить код. Автор приостановил разработку, однако к тому моменту Shadowsocks уже был открытым проектом и продолжил существовать благодаря сообществу.

Технологическая борьба на этом не закончилась.

В 2019 году исследователи выяснили, что «Великий файерволл» научился обнаруживать даже Shadowsocks.

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

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

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

В 2021 году правила игры изменились

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

Протоколы Shadowsocks, VMess и obfs4 стремились сделать каждый байт передаваемых данных максимально случайным. Логика была понятна: если в потоке нет узнаваемого заголовка, сигнатуры или структуры, цензору, казалось бы, не за что зацепиться.

Великий файерволл превратил именно это свойство в отличительную черту.

Исследователи GFW Report установили, что система проверяет первую полезную нагрузку TCP-соединения по ряду эвристических правил.

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

Идея оказалась парадоксально простой.

Обычный интернет-трафик часто имеет определённую структуру. Даже HTTPS начинается с TLS-рукопожатия, которое содержит узнаваемые поля. А поток, который с самого первого байта выглядит совершенно случайным, может оказаться именно тем, кто специально старается ничем не выделяться.

То есть «выглядеть как ничто» само по себе стало подозрительным поведением.

При этом некорректно утверждать, что Китай просто составил абсолютный «белый список» и начал блокировать всё остальное. Исследователи описали набор правил-исключений, а сама фильтрация применялась не ко всему интернету одинаково и носила вероятностный характер.

По расчетам авторов исследования, если бы алгоритм применялся повсеместно без ограничений, он мог бы случайно затронуть около 0,6 % обычного интернет-трафика.

Маскировка под HTTPS также не стала окончательным решением

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

К этому поколению относится VLESS, первая публичная версия которого вышла в 2020 году.

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

В октябре 2022 года GFW Report зафиксировал массовую блокировку серверов, использовавших системы обхода цензуры на основе TLS. Среди пострадавших называли Trojan, Xray, V2Ray с TLS и WebSocket, VLESS и gRPC.

Это наглядно демонстрирует главную особенность китайской системы: она не сводится к одному фильтру или одному алгоритму.

DNS-подмена, блокировка IP-адресов, анализ SNI, DPI, статистический анализ трафика и активное зондирование могут применяться одновременно.

И метод, который работает сегодня, не обязательно будет работать через год.

Крупный файерволл превратился в лабораторию сетевой цензуры

За десятилетие противостояния разработчиков и цензоров «Великий китайский файерволл» фактически превратился в одну из самых сложных систем контроля интернет-трафика в мире.

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

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

С другой стороны, каждый новый метод фильтрации порождает новое поколение технологий маскировки. Tor, Shadowsocks, VMess, obfs4 и VLESS — фактически различные этапы одной долгой технологической гонки.

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

Поделиться этой статьей