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

Транспорты нельзя выстроить по силе — у них разные, а не сравнимые профили уязвимости. Разбор четырёх семейств по пяти осям и правило разнообразия режимов отказа.

2026-08-31 GIGATAP Team #vpn
#vpn#anticensorship#reality#hysteria#shadowsocks#architecture

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

Вопрос «какой транспорт лучше» задаётся постоянно и не имеет ответа в такой формулировке. Не потому, что все одинаковы, а потому, что они уязвимы к разному. Транспорты различаются не силой, а тем, к чему именно они уязвимы, поэтому осмысленный выбор — это не победитель, а набор с непересекающимися режимами отказа.

Разберём, по каким осям они действительно различаются.

Пять осей, а не одна шкала#

Устойчивость транспорта — не число. Это набор свойств, и транспорт, сильный по одной оси, обычно слаб по другой.

Ось Вопрос, на который отвечает
Содержимое есть ли постоянные байты, по которым опознаётся протокол
Форма потока выдают ли размеры, направления и паузы
Состояние использует ли различия в реализациях протоколов
Зондирование что получит посторонний, постучавшийся в порт
Метаданные что видно об адресе, имени и разрешении имён

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

Четыре семейства#

Маскировка под TLS. Внешне соединение выглядит обычным защищённым соединением к правдоподобному сайту. Неавторизованный запрос обрабатывается так, как обработал бы настоящий веб-сервер.

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

Случайный поток. Цель — отсутствие опознаваемой структуры. Ни заголовков, ни фиксированных полей.

Сильно против поиска по содержимому и, при правильной реализации, против зондирования. Слабо против модели «неизвестное и высокоэнтропийное — подозрительно», разобранной отдельно.

UDP-семейства. Скорость и низкие накладные расходы; часть решений умеет менять порт на ходу.

Отдельная оговорка, о которой узнают поздно: UDP не выводит из-под объёмного ограничения. Уточнение к описанию механизма прямо указывает, что лимит применяется и к TCP, и к UDP. Плюс QUIC разбирается наблюдателями — имя из начального пакета извлекается.

Мимикрия под веб. Транспорт не имитирует разрешённый протокол, а является им: за ним стоит настоящий веб-сервер, и часть трафика — настоящий веб-трафик.

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

Сводка: где каждое семейство слабо#

                 содержимое  форма  состояние  зондирование  метаданные
TLS-маскировка       ✓✓        ~        ~          ✓✓            ~
Случайный поток      ✓✓        ~        ~           ✓            ~
UDP-семейства        ✓✓        ~        ✓           ~            ~
Веб-мимикрия         ✓✓       ✓✓        ~          ✓✓            ~

✓✓ сильно   ✓ средне   ~ зависит от реализации и условий

Заметьте столбец «метаданные»: он одинаков у всех. Ни один транспорт не скрывает адрес назначения. Репутация адреса — свойство размещения, а не протокола, и никакая маскировка её не меняет.

Ошибка сравнения: разные профили, не разная сила#

Показательный случай — вывод из портфеля двух транспортов одним решением.

Транспорт Против сигнатур Против «неизвестного высокоэнтропийного» Против зондирования
Случайный поток сильно слабо — это и есть тот класс средне
Маскировка под TLS сильно неприменимо — это настоящий TLS сильно при хорошем запасном пути

Профили противоположны. Первый уязвим ровно там, где второй неуязвим по построению.

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

Почему выбирать надо не один?#

Из всего сказанного следует практический критерий, который важнее выбора «лучшего». Если два транспорта уязвимы к одному и тому же, второй не даёт запаса — он даёт копию.

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

ПЛОХОЙ НАБОР
транспорт A ─┐
             ├── оба уязвимы к анализу формы потока
транспорт B ─┘    один механизм закрывает оба

ХОРОШИЙ НАБОР
транспорт A ── уязвим к анализу формы
транспорт B ── уязвим к классификации энтропии
                механизмы независимы, переключение имеет смысл

Критерий формулируется так: разнообразие режимов отказа важнее суммарной силы. Два разных транспорта устойчивее двух хороших однотипных.

Что не решается выбором транспорта#

Полезно назвать явно, чтобы не искать не там.

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

Позиция в сети. К чему применяются какие правила — свойство размещения, а не протокола.

Доставка настроек. Транспорт бесполезен, если конфигурацию нельзя обновить.

Поведение клиента. Массовый веер проб провоцирует ограничение при любом транспорте.

Вывод#

Рейтинга транспортов не существует, потому что ось не одна. Есть профили уязвимости, и они различаются по виду, а не по силе.

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

Термины#

  • Профиль уязвимости - набор осей, по которым транспорт слаб или силён, вместо единой оценки силы.
  • Режим отказа - конкретный механизм, из-за которого транспорт перестаёт работать.
  • Разнообразие режимов отказа - свойство набора транспортов, при котором один механизм не выводит из строя сразу несколько.

FAQ: частые вопросы#

Какой транспорт самый устойчивый?#

Вопрос не имеет ответа в такой форме: осей несколько, и сильный по одной обычно слаб по другой.

Зачем держать несколько транспортов?#

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

Что учитывать при выводе транспорта из набора?#

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

Что читать дальше#