Бесплатно Экспресс-аудит сайта:

14.11.2023

AmneziaWG - альтернатива ShadowSocks от разработчиков Amnezia

С начала августа многие пользователи столкнулись с проблемой в работе 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 изменены заголовки всех пакетов:

  • пакета рукопожатия (Initiator to Responder),
  • ответного пакета (Responder to Initiator),
  • пакета данных, а также
  • специального пакета “Under Load” – по умолчанию стоят рандомные значения, но их можно самостоятельно поменять в настройках.

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

Еще одно слабое место 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