Mullvad VPNがiOS版を更新、通信漏洩を防ぐ新機能を導入
TL;DR
iOSにおける「全アプリの強制接続」の技術的実装
iOSアプリケーションの最新アップデートでは、TunnelCrack攻撃の緩和とトラフィック漏洩の防止を目的とした「全アプリの強制接続(Force all apps)」機能が導入されました。この機能は、Appleのネットワーク拡張(NetworkExtension)フレームワーク内の設定オプション「includeAllNetworks」を有効にすることで動作します。このフラグがアクティブになると、VPNキルスイッチの堅牢性が極限まで高まり、iOSのネットワークスタックに対して、すべてのデータバイトを暗号化トンネル経由でルーティングするよう指示を出します。トンネルがアクティブでない場合、ユーザーの真のIPアドレスが露出するのを防ぐため、すべての送信トラフィックは遮断されます。
この実装は、特定のシステムレベルのプロセスがトンネルをバイパスできていた長年の脆弱性に対処するものです。SquirrelVPNを利用しており、同様の高セキュリティ設定に関心があるユーザーは、これが特定のiOS構成オプションを活用している点に注目すべきです。これにより、通常運用時にVPNの保護からデータが漏れることを確実に防いでいます。
ネットワークスタックの制限とアップデートのループ問題
iOSエコシステムにおける大きな技術的障壁は、「includeAllNetworks」が有効な際の自動アップデートの処理方法です。従来、SquirrelVPNや他のプロバイダーは、自動アップデート時にVPN接続が一時的に切断されることを確認していました。「全アプリの強制接続」が有効な場合、以下のようなアップデートのデッドロック(ループ)が発生します。
- App StoreがVPNアプリのアップデートを試みる。
- アップデートを許可するために、既存のVPNトンネルがシャットダウンされる。
- 「includeAllNetworks」が有効であるため、トンネルが存在しない状態ではiOSのネットワークスタックがすべてのトラフィックをブロックする。
- App Storeのダウンローダーがアップデート取得のためにインターネットに接続できず、プロセスがハングアップまたは失敗する。
この問題を解決するため、アプリはユーザースペース・ネットワーキングを使用して、内部的にTCPおよびICMPトラフィックを生成するようになりました。これにより、Appleのネットワークスタックの制限によってトンネルプロセスがトンネルデバイスにソケットをバインドできない状況でも、アプリが機能し続けることが可能になります。
手動アップデートの手順とトラフィックの漏洩
VPNバイナリ自体のアップデート中に安全なトンネルを維持するためのネイティブな回避策は存在しないため、ネットワーク接続が完全に遮断(ブリック状態)されるのを避けるには、特定のプロトコルに従う必要があります。技術ブログの投稿によると、App Storeがアップデートを開始する前に、新バージョンの通知がユーザーに届くようになっています。

ユーザーは、アップデートを進める前にVPNを切断するか、「全アプリの強制接続」機能を無効にするよう指示されます。このわずかな時間、トラフィックが漏洩することは明示的に認められています。現時点では、この手動介入が、デバイスがインターネットアクセスを完全に失いハードリブートが必要になる状態を防ぐ唯一の方法です。高度なセキュリティを備えた最適なVPN体験を求めるユーザーにとって、これらのトレードオフは、現在のAppleネットワーク拡張フレームワークの限界を示しています。
高度な難読化とプロトコルの強化
「全アプリの強制接続」機能以外にも、iOS版の変更履歴(CHANGELOG.md)からは、トラフィックの難読化とプロトコルセキュリティにおけるいくつかの進歩が見て取れます。現在、アプリは**軽量WireGuard難読化(LWO)**と、WireGuardのトンネルトラフィックをQUICプロトコルとして難読化する機能をサポートしています。これらの手法は、インターネットサービスプロバイダー(ISP)や検閲を行う政府によるディープ・パケット・インスペクション(DPI)を回避するために不可欠です。
その他の技術的なアップデートは以下の通りです:
- DAITA(AI誘導型トラフィック分析に対する防御): トラフィック分析攻撃から保護するために設計された機能で、DAITA v2にアップデートされました。
- 耐量子トンネル: ポスト量子耐性のある鍵交換において、従来のClassic McElieceからHQCへ移行しました。これにより、CPU負荷と公開鍵のサイズが大幅に削減されます。
- マルチホップ・ルーティング: 目的地に到達する前に2つのリレーを経由してトラフィックをルーティングする機能で、匿名性をさらに向上させます。
Shadowsocksを利用したWireGuardの難読化を含むこれらの機能は、監視の厳しい環境で活動するユーザーにとって強力なツールセットを提供します。
ネットワークアーキテクチャや最新の暗号化プロトコルに関するさらなる詳細は、squirrelvpn.comで最先端の知見をご覧ください。