Открыть сервисСервис

AmneziaWG — модифицированный протокол WireGuard

AmneziaWG — это форк протокола VPN WireGuard, разработанный российской командой Amnezia VPN с целью обхода блокировок. В отличие от оригинального WireGuard, трафик которого легко распознаётся DPI-системами по характерной структуре рукопожатия, AmneziaWG модифицирует формат пакетов, делая VPN-соединение неотличимым от обычного HTTPS-трафика.

История и назначение

Проект Amnezia VPN создан российскими разработчиками как решение для обхода цензуры в интернете. Оригинальный протокол WireGuard, несмотря на высокую скорость и простоту, использует фиксированный формат пакетов: определённую структуру заголовков, известные значения полей и характерные размеры сообщений рукопожатия (handshake). Эти особенности позволяют системам глубокого анализа пакетов (DPI) с высокой точностью выявлять WireGuard-трафик и блокировать его на уровне провайдера.

В России и ряде других стран с развитой системой интернет-цензуры блокировки WireGuard стали массовыми. В ответ команда Amnezia разработала протокол AmneziaWG, который сохраняет архитектуру и криптографию WireGuard, но изменяет формат сетевых пакетов так, чтобы их нельзя было отличить от разрешённого трафика.

Технические особенности

AmneziaWG наследует от WireGuard криптографическую основу: Curve25519 для обмена ключами, ChaCha20-Poly1305 для шифрования, BLAKE2s для хеширования и SHA-256 для функции HMAC. Протокол использует тот же механизм Noise Protocol Framework для установления сессии.

Ключевые отличия от оригинального WireGuard:

  • Переменные значения полей заголовков. В оригинальном WireGuard некоторые поля имеют фиксированные значения, которые служат «отпечатком» протокола. AmneziaWG позволяет задавать произвольные значения этих полей (так называемые junk-параметры), что скрывает сигнатуру.
  • Случайная длина пакетов рукопожатия. AmneziaWG добавляет к сообщениям инициации и ответа на инициацию случайные данные, из-за чего размер пакетов перестаёт быть константным и DPI не может определить протокол по длине.
  • Маскировка под другие протоколы. При правильной настройке параметров пакеты AmneziaWG могут выглядеть как трафик WireGuard, OpenVPN или даже как произвольные UDP-пакеты, совпадающие с разрешёнными протоколами.
  • Обход по глубине пакета. Некоторые DPI-системы анализируют не только заголовки, но и содержимое. AmneziaWG шифрует всё полезное нагрузки, поэтому содержимое пакета не выдаёт протокол.

Настройка и использование

AmneziaWG реализован в виде модификации клиентов и серверов WireGuard. Официальные клиенты Amnezia VPN поддерживают протокол на Windows, macOS, Linux, Android и iOS. Также существует самостоятельная реализация для серверов на базе модифицированного ядра Linux (модуль amneziawg вместо wireguard).

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

ПараметрНазначение
JcКоличество junk-полей в заголовке
JminМинимальная длина junk-данных
JmaxМаксимальная длина junk-данных
S1–S2Размеры скрытия в заголовках
H1–H4Режимы обработки заголовков

Правильная комбинация этих параметров позволяет подобрать «отпечаток» пакетов, который не будет распознан DPI. Существуют готовые профили настроек для обхода блокировок в России, Иране, Китае и других странах.

Распространение

AmneziaWG получил широкое распространение в России после ужесточения блокировок VPN-протоколов в 2023–2024 годах, когда провайдеры начали массово ограничивать не только WireGuard, но и протоколы OpenVPN и VLESS. Протокол стал одним из основных способов обхода блокировок, наряду с Xray/VLESS и Shadowsocks.

Проект распространяется свободно, исходный код доступен на GitHub. Amnezia VPN позиционируется как некоммерческий инструмент, финансируемый за счёт пожертвований.

Ограничения

Протокол не гарантирует обход блокировок: при появлении у DPI-систем сигнатур конкретных конфигураций AmneziaWG блокировка становится возможной. Кроме того, использование нестандартных значений полей может снижать скорость соединения из-за дополнительной обработки пакетов. Протокол не является анонимным: провайдер или сторонний наблюдатель может видеть факт подключения к VPN-серверу, хотя содержимое трафика остаётся зашифрованным.

Источники

  • Официальный сайт Amnezia VPN
  • Репозиторий проекта AmneziaVPN на GitHub
  • Документация AmneziaWG
  • Материалы о работе DPI-систем и методах их обхода
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru