Zscalerは5月7日(米国時間)、「CVE-2024-3661|ThreatLabz」において、DHCPのクラスレススタティックルート(Classless Static Routes)を悪用してVPN(Virtual Private Network:仮想プライベートネットワーク)の外側にトラフィックを送信させる脆弱性が発見されたとして、注意を喚起した。このトラフィックは既存のVPNの外側に位置するため、VPNを監視しても検出できないとされる。
攻撃手法「TunnelVision」の手順
この脆弱性は、サイバーセキュリティ企業「Leviathan Security Group」により発見され、その手法は「TunnelVision」と名付けられている。TunnelVisionは「CVE-2024-3661」として追跡されており、その深刻度は重要(Important)と評価されている(参考:「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の具体的な攻撃手順は次のとおり。
- DHCP枯渇攻撃(偽装したMACアドレスを複数使用し、すべてのIPアドレスを割り当てさせる攻撃)を実行し、既存のDHCPサーバを無力化する
- 不正なDHCPサーバを立ち上げ、DHCPリクエストを処理できるようにする
- DHCPオプション121(クラスレススタティックルート)を使用して、ルーティングテーブルにスタティックルートを設定する。このスタティックルートの優先度は、デフォルトルートよりも高く設定される
- 不正なDHCPサーバは自身をゲートウェイとして構成する。以上で攻撃者は通信を傍受できるようになる
影響と対策
この攻撃に成功すると既存のVPN接続は無視され、攻撃者のコンピュータを経由して通信することになる。このトラフィックはVPNの外側にあるため暗号化されない。TunnelVisionはDHCPのクラスレススタティックルートをサポートする次のシステムに影響があるとされる。Androidはクラスレススタティックルートをサポートしていないため影響を受けない。
- Windows
- Linux
- macOS
- iOS
Zscalerはこの攻撃を回避するために、通信経路上のスイッチにてDHCPスヌーピング、アドレス解決プロトコル(ARP: Address Resolution Protocol)保護、ポートセキュリティを有効化することを推奨している。また、可能であればVPN接続中、DHCPのクラスレススタティックルートを無視することが望まれる。