Перейти к содержанию

Вызов времени

Где-то в 2018 или 2019 году на Хабре вышла статья, которую я так и не смог найти снова. Судя по всему — удалена в одну из волн зачисток по закону о запрете рекламы средств обхода блокировок. Жаль.

Это была одна из первых статей, с которых начиналось мое знакомство с темой. Хороший обзор решений, аргументы за и против собственного VPN — само по себе ценно. Но по-настоящему примечательным было другое: автор попытался заглянуть в будущее. Взял тенденции тогдашнего дня — еще до закона о суверенном рунете, еще до массового внедрения DPI, еще до большой волны блокировок — и попробовал экстраполировать. Это неблагодарный труд, предсказывать. Но большинство прогнозов из той статьи — сбылось.

Если вам удастся найти эту статью — удивитесь, насколько пророческой она окажется. Я не смог.

Upd: Я все-таки нашел ту статью. Как всегда: в памяти все осталось совсем по-другому… Тем не менее — многие темы из этой статейки до сих пор интересны и актуальны, а написана она — как будто сейчас. Кому интересно: Туннели и VPN, устойчивые к DPI.

Как оказалось, её не удалили с Хабра, но автор уже не автор.

Инструментарий эпохи #

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

OpenVPN — главный «народный» VPN эпохи. Надежный, гибкий, хорошо задокументированный. Но тяжелый — и узнаваемый: характерный TLS-рукопожатие и паттерны трафика делали его видимым для любого DPI, который хотел его увидеть. SSH-форвард — другая крайность: минималистичный туннель поверх SSH, мимикрирующий под служебный трафик. Для точечных задач годился, для повседневного использования — не то. Shadowsocks появился как прямой ответ на Великий Китайский Файрвол: прокси, маскирующийся под зашифрованный поток без явных признаков протокола, созданный именно для противодействия DPI — и долгое время с задачей справлявшийся. WireGuard выбивался из ряда: простой, быстрый, элегантный — но откровенный. Никакой обфускации, трафик идентифицируется моментально. Скорость в обмен на скрытность.

Я в итоге осел на IKEv2 — корпоративном стандарте, непопулярном у энтузиастов. Именно поэтому он долго оставался ниже уровня радаров: нет массовости — нет устойчивых паттернов — нет приоритета для блокировки.

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

Спустя несколько лет мы увидели именно это.

Предсказание сбылось #

Пионерами стали VMESS, а вслед за ним — VLESS. Общий принцип у них и у появившихся следом аналогов один: шифрование через TLS, минимальный объем заголовков, мимикрия под действующий HTTPS-хост, система «свой-чужой» на уровне рукопожатия. Фоллбек на настоящий веб-сервер — для всех, кто постучался не так. Никакого TLS поверх TLS и других тяжелых схем, которые сами по себе становятся демаскирующим признаком. Детали реализации у разных протоколов различаются — порядок рукопожатия, уровень шифрования данных, — но принципы неизменны.

Протоколы оказались настолько эффективны, что крупные коммерческие VPN-сервисы начали один за другим выводить свои решения в опенсорс — повышая доверие и приглашая к аудиту.

Казалось: задача решена.

Гонка вооружений #

Но на каждую хитрую гайку найдется болт с нарезкой. А на болт с нарезкой — жопа с закоулками. И так по спирали, без конца.

Типичная история — борьба меча и щита. Системы обнаружения не стоят на месте: появляются более умные анализаторы трафика, активное зондирование, эвристики, основанные не на содержимом пакетов, а на поведении соединения в целом.

Точка, в которой мы находимся сейчас: взломать лучшие из современных протоколов по-прежнему не удалось. Но поиски — в активной фазе. И основное направление борьбы, избранное регулятором, — не взлом криптографии. Это выявление паттернов поведения трафика: характерных признаков, по которым можно вычислить узел и заблокировать его точечно. Иногда «точечно» означает целые подсети или отключение крупных хостеров. Но принцип именно такой: не ломать замок, а научиться узнавать нужную дверь.

Отсюда — главный вызов состоит не в том, чтобы найти правильный протокол. Протоколы будут появляться — один лучше другого. Вызов в другом: сделать соединение статистически невидимым — не выделяющимся из фонового трафика ни по объему, ни по ритму, ни по поведению.

С этой точки зрения схема «арендовать VDS за рубежом и прокинуть туннель» — мертва. Такие каналы будут вычислены и заблокированы. А с развитием DPI срок этого процесса будет только сокращаться.

Завернуть трафик в туннель — теперь недостаточно. Его надо растворить. По каким принципам — об этом в следующей части. И (хотя дело это неблагодарное) я попробую не только описать принципы, но и заглянуть немного вперед. Кто знает — может, через пять-шесть лет кто-нибудь сошлется и на меня?