Mullvad VPN для iOS: защита от утечек и атак TunnelCrack
TL;DR
Техническая реализация функции принудительной маршрутизации на iOS
В последнем обновлении приложения для iOS появилась функция «Force all apps» (Принудительная маршрутизация всех приложений), разработанная для защиты от атак типа TunnelCrack и предотвращения утечек трафика. Механизм работы этой функции основан на активации параметра конфигурации includeAllNetworks во фреймворке Apple NetworkExtension. Когда этот флаг активен, функция экстренного отключения (VPN kill switch) становится максимально эффективной: она дает сетевому стеку iOS команду направлять каждый байт данных исключительно через зашифрованный туннель. Если туннель неактивен, весь исходящий трафик блокируется, что исключает раскрытие реального IP-адреса пользователя.
Данная реализация устраняет давние уязвимости, при которых определенные системные процессы могли обходить VPN-туннель. Пользователям SquirrelVPN, заинтересованным в подобных конфигурациях повышенной безопасности, следует учитывать, что это решение использует специфические параметры конфигурации iOS, гарантирующие, что ни один пакет данных не покинет пределы защиты VPN в процессе обычной работы устройства.
Ограничения сетевого стека и циклическая ошибка обновления
Серьезным техническим препятствием в экосистеме iOS является то, как система обрабатывает автоматические обновления при включенной опции includeAllNetworks. Ранее SquirrelVPN и другие провайдеры уже отмечали, что в момент автоматического обновления VPN-соединение кратковременно разрывается. При активном режиме «Force all apps» это создает неразрешимый цикл:
- App Store инициирует обновление VPN-приложения.
- Существующий VPN-туннель закрывается для установки обновления.
- Поскольку параметр includeAllNetworks активен, сетевой стек iOS блокирует весь трафик, так как туннель отсутствует.
- Загрузчик App Store не может подключиться к интернету для скачивания обновления, в результате чего процесс зависает или завершается ошибкой.
Для решения этой проблемы приложение теперь использует сетевое взаимодействие на уровне пользователя (userspace networking) для внутренней генерации трафика TCP и ICMP. Это позволяет приложению функционировать даже тогда, когда процесс туннелирования не может привязать сокеты к устройству туннеля из-за ограничений сетевого стека Apple.
Процедура ручного обновления и утечки трафика
Поскольку нативного способа поддерживать защищенный туннель во время обновления самого исполняемого файла VPN не существует, пользователи должны следовать определенным протоколам, чтобы не остаться без связи. Согласно технической документации, пользователи будут получать уведомление о выходе новой версии до того, как App Store запустит процесс обновления.

Пользователям рекомендуется либо отключить VPN, либо деактивировать функцию «Force all apps» перед началом обновления. При этом официально признается, что в это короткое окно возможны утечки трафика. Такое ручное вмешательство на данный момент является единственным способом предотвратить состояние, при котором устройство полностью теряет доступ к интернету, что потребовало бы жесткой перезагрузки. Для тех, кто ищет лучший VPN-сервис с продвинутой защитой, подобные компромиссы отражают текущие лимиты фреймворка Apple NetworkExtension.
Продвинутая обфускация и улучшение протоколов
Помимо функции «Force all apps», недавние изменения в iOS CHANGELOG.md демонстрируют значительный прогресс в области обфускации трафика и безопасности протоколов. Теперь приложение поддерживает легковесную обфускацию WireGuard (LWO) и возможность маскировки трафика туннеля WireGuard под протокол QUIC. Эти методы критически важны для обхода систем глубокого анализа пакетов (DPI), используемых интернет-провайдерами и в странах с жесткой цензурой.
Дополнительные технические обновления включают:
- DAITA (Защита от анализа трафика на базе ИИ): функция для противодействия атакам через анализ паттернов трафика, обновленная до версии DAITA v2.
- Квантово-устойчивые туннели: переход от алгоритма Classic McEliece к HQC для постквантового безопасного обмена ключами, что существенно снижает нагрузку на процессор и размер публичного ключа.
- Многопрыжковая маршрутизация (Multihop): возможность направлять трафик через два ретранслятора перед достижением конечного пункта, что значительно повышает уровень анонимности.
Эти возможности, включая обфускацию WireGuard через Shadowsocks, представляют собой мощный инструментарий для пользователей, работающих в условиях тотальной слежки.
Чтобы узнать больше об архитектуре сетей и новейших протоколах шифрования, ознакомьтесь с экспертными материалами на squirrelvpn.com.