Протокол успешно протестирован в Китае и Иране.
С начала августа многие пользователи столкнулись с проблемой в работе VPN - протоколов. Поступали жалобы на работу WireGuard IKEv2 и OpenVPN. Стоит отметить, что большая часть жалоб касалось мобильного интернета и малых региональных провайдеров. По нашим подсчетам примерно у 20-30% пользователей работа этих протоколов так и не возобновилась. До этого момента практически все VPN-сервисы использовали эти протоколы, а после этого случая некоторые коммерческие VPN перешли на ShadowSocks в версии от Outline с дополнительной защитой от блокировок.
Тридцатого октября стали известны случаи, когда не работал ShadowSocks, однако позже некоторые эксперты сошлись во мнении, что в этих регионах скорее хотели заблокировать не конкретный протокол, а вообще все что не распознала система DPI. То есть, по мнению экспертов, распознавать ShadowSocks по прежнему не умеют, а вместо попыток запретить ShadowSocks, были предприняты попытки закрыть доступ к Telegram-прокси, чей трафик также не имеет явных сигнатур. В пользу этого мнения говорит еще и то, что протоколы OpenVPN и WireGuard в этих регионах работали у многих пользователей несмотря на то, что их давно научились ограничивать. Сейчас работа ShadowSocks полностью восстановлена.
Однако ShadowSocks не единственный протокол с защитой от распознавания. Разработчики AmneziaVPN недавно выпустили релиз приложения с поддержкой собственного протокола с защитой от детектирования AmneziaWG. К слову, он также работал во время недавних ограничений к доступу. AmneziaWG - это форк WireGuard. Он отличается наличием дополнительных настроек, что позволяет изменить некоторые статичные параметры в WireGuard, по которым этот протокол обычно и распознается. Если же оставить эти параметры по умолчанию (равными 0), то протокол будет работать как обычный WireGuard.
В AmneziaWG изменены заголовки всех пакетов:
Так как заголовки у каждого пользователя разные, то и написать универсальное правило на основе заголовков для систем отслеживания невозможно.
Еще одно слабое место WireGuard - это размеры пакетов авторизации. В AmneziaWG к каждому пакету аутентификации дописываются рандомные байты, чтобы изменить их размер.
Так “init и response пакеты” рукопожатия дополнительно имеют “мусор” в начале данных, размер которого определяются значениями S1 и S2.
По умолчанию инициирующий пакет рукопожатия имеет фиксированный размер (148 байт), а после добавления мусора, его размер будет равен 148 байтам +S1.
В реализации AmneziaWG предусмотрен и еще один трюк для более надежной маскировки. Перед началом сессии Amnezia отправляет некоторое количество “мусорных” пакетов, чтобы совсем запутать системы анализа. Количество таких пакетов и их минимальный и максимальный размер в байтах тоже задается в настройках, параметрами Jc, Jmin и Jmax.
Протокол доступен с Self-hosted приложения AmneziaVPN. По скорости он не уступает обычному WireGuard, и имеет низкое энергопотребление. То есть, по сути работает как WireGuard, но защищен от обнаружения системами DPI. Сейчас уже есть первые успешные результаты тестирования в Китае и Иране. Присоединиться к тестированию можно скачав приложение Amnezia и установив AmneziaWG. Само приложение бесплатное, но нужны данные VPS, однако тут можно купить любой понравившийся VPS любого хостинг-провайдера.
Скачать приложение для любой платформы - https://amnezia.org/ru/downloads
репозиторий AmneziaWG - https://github.com/amnezia-vpn/amnezia-wg
репозиторий AmneziaVPN - https://github.com/amnezia-vpn/amnezia-clientСпойлер: мы раскрываем их любимые трюки