«Но ведь трафик зашифрован!» — звучит убедительно, но современный DPI на такое только усмехнётся. Как рассказал пользователь Хабра dmitry__ilyin, классификатору необязательно читать пакеты: достаточно посмотреть на их размеры, направление, интервалы, TLS-рукопожатие и общий рисунок соединения.
OpenVPN, например, выдаёт себя характерным хендшейком, а WireGuard — фиксированными размерами некоторых служебных сообщений.
Даже протокол, притворяющийся обычным TLS, можно раскусить, если после красивого ClientHello он ведёт себя совсем не как браузер.
Команда автора разрабатывает туннельную инфраструктуру, устойчивую к DPI, и решила портить классификаторам жизнь сразу по нескольким направлениям. Клиент с помощью uTLS копирует ClientHello настоящих Chrome, Firefox, Edge и Safari, чередуя варианты между соединениями.
Транспорт работает поверх HTTP/2, а параллельно клиент отправляет реальные запросы к CDN, чтобы сделать общую сетевую активность менее однозначной.
Дополняет картину pacing — сглаживание всплесков передачи, которое мешает анализировать временной рисунок потока. А любители активного прощупывания серверов получают унылый и ни к чему не обязывающий код 404.
Магии, впрочем, не случилось. Дополнительная маскировка прибавляет примерно 40–80 мс задержки, а decoy-трафик заметно нагружает процессор клиента. Наблюдения проводились в сетях Ростелекома, Билайна, Мегафона, МТС, Теле2 и Дом.ру, но автор честно предупреждает: это полевые данные, а не лабораторный бенчмарк против конкретных DPI-систем.
Цель проекта — не сделать трафик невидимым, а лишить DPI простых и стабильных признаков. Часть разработки уже открыта — SDK, протокол обфускации и decoy-логику можно изучить на GitHub.









