VPNを経由するはずだった通信を直接インターネットに送信させる攻撃手法「TunnelVision」が発見される
VPN経由で行われるはずだった通信を直接インターネットに送信させ、暗号化やIPアドレスの隠匿などVPNを経由するメリットを失わせる攻撃手法が発見されました。どういう攻撃なのかについてセキュリティ企業のLeviathan Security Groupが解説しています。
CVE-2024-3661: TunnelVision - How Attackers Can Decloak Routing-Based VPNs For a Total VPN Leak - Leviathan Security Group - Penetration Testing, Security Assessment, Risk Advisory
TunnelVision - CVE-2024-3661 - Decloaking Full and Split Tunnel VPNs - Leviathan Security Group - YouTube
Novel attack against virtually all VPN apps neuters their entire purpose | Ars Technica
https://arstechnica.com/security/2024/05/novel-attack-against-virtually-all-vpn-apps-neuters-their-entire-purpose/
VPNはインターネット越しでもまるで専用線が引かれているかのようにプライベートネットワークを構築する技術で、暗号化したVPNを経由して通信することでデータの流出や改変を防止できるほか、VPNの接続先からインターネットにアクセスすることで自身のIPアドレスを隠して通信することが可能です。
VPN経由で通信するようにPCを設定すると、アプリケーションが送信したパケットはルーティングテーブルを経由して一度VPNクライアントに送信されます。VPNクライアントはパケットを暗号化してインターネットに送信するほか、受信したパケットを復号してアプリケーションへと送り返す機能を持っています。
今回発見された脆弱(ぜいじゃく)性の「TunnelVision」は、ネットワーク上の機器に自動でIPアドレスを発行するDHCPサーバーのオプション121という機能を使用することでVPNに送信されるはずだったパケットの宛先を強制的に変更できるというもの。
DHCPオプション121を使用するとユーザーのルーティングテーブルにVPNが設定するルートよりも優先度の高いルートを設定する事ができ、本来VPNを経由するはずだったパケットを直接インターネットへと送信させることが可能になります。また、VPNクライアント自体は動作しているため、PC上では「VPN接続中」と表示され続けるとのこと。
通信内容自体をアプリケーションで暗号化していたとしても、VPNのもう一つのメリットである「宛先IPアドレスおよび送信元IPアドレスの隠匿」は失われるため、特定の相手との通信を切断される標的型サービス拒否攻撃を受ける可能性があります。なお、TunnelVisionを実行するにはDHCPサーバーの管理権限が必要とのこと。
Androidにはオプション121が実装されていないためTunnelVision攻撃を受ける可能性はありませんが、その他のOSでは完全な対応は存在していないとのこと。最も効果的な対応として、ルーターモードのネットワークアダプターを備えた仮想マシン内でVPNを使用することおよび携帯端末のWi-Fiネットワーク経由でVPNを使用することが挙げられています。