Zscalerは5月7日(米国時間)、「CVE-2024-3661|ThreatLabz」において、DHCPのクラスレススタティックルート(Classless Static Routes)を悪用してVPN(Virtual Private Network:仮想プライベートネットワーク)の外側にトラフィックを送信させる脆弱性が発見されたとして、注意を喚起した。このトラフィックは既存のVPNの外側に位置するため、VPNを監視しても検出できないとされる。

  • CVE-2024-3661|ThreatLabz

    CVE-2024-3661|ThreatLabz

攻撃手法「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の具体的な攻撃手順は次のとおり。

  1. DHCP枯渇攻撃(偽装したMACアドレスを複数使用し、すべてのIPアドレスを割り当てさせる攻撃)を実行し、既存のDHCPサーバを無力化する
  2. 不正なDHCPサーバを立ち上げ、DHCPリクエストを処理できるようにする
  3. DHCPオプション121(クラスレススタティックルート)を使用して、ルーティングテーブルにスタティックルートを設定する。このスタティックルートの優先度は、デフォルトルートよりも高く設定される
  4. 不正なDHCPサーバは自身をゲートウェイとして構成する。以上で攻撃者は通信を傍受できるようになる
  • TunnelVision攻撃の概念図 - 引用:Zscaler

    TunnelVision攻撃の概念図 引用:Zscaler

影響と対策

この攻撃に成功すると既存のVPN接続は無視され、攻撃者のコンピュータを経由して通信することになる。このトラフィックはVPNの外側にあるため暗号化されない。TunnelVisionはDHCPのクラスレススタティックルートをサポートする次のシステムに影響があるとされる。Androidはクラスレススタティックルートをサポートしていないため影響を受けない。

  • Windows
  • Linux
  • macOS
  • iOS

Zscalerはこの攻撃を回避するために、通信経路上のスイッチにてDHCPスヌーピング、アドレス解決プロトコル(ARP: Address Resolution Protocol)保護、ポートセキュリティを有効化することを推奨している。また、可能であればVPN接続中、DHCPのクラスレススタティックルートを無視することが望まれる。