TunnelVision

ほぼこもセキュリティニュース By Terilogy Worx

TunnelVisionは攻撃手法です。
VPNの安全性の前提条件を巧みに変更し、攻撃を成立させます。
概要を見てみましょう。

  • 準備のための侵害
    TunnelVisionが成り立つようにする作業を実施するため、まずはターゲット環境に侵入します。

     

  • 攻撃用のDHCPサーバの設置
    ターゲット環境への侵入に成功すると、次はDHCPサーバを設置します。
    たいていの環境には、あらかじめDHCPサーバが設置されていると思いますが、DHCPはその特性上先に応答が到達したものが利用されることになるため、ならず者なDHCPサーバを設置されることは環境の変更につながります。

     

  • ならず者のDHCPサーバの動作開始
    基本的に、偽物のDHCPサーバは、正規のDHCPサーバのサービス内容とほぼ同じものをサービスします。
    このため、基本的には偽のDHCPサーバからネットワーク設定を入手した機器も、通常の通信が可能な状態になります。
    しかし、配布される設定の一部は正規のものとは異なります。
    異なるのは、DHCPのoption121です。

     

  • Classless Static Routes
    DHCPのoption121は、Classless Static Routesの設定に利用されます。
    通常は、このoptionを使用して管理者が意図した内容で通常通信やVPN通信が作用するようにルーティングが設定されます。
    この機構はルーティングテーブルから経路を選択する際、条件に当てはまる宛先が複数あった場合、プレフィックスが最も大きいものを優先して選択します。
    これをロンゲストマッチと呼ばれる動作です。
    このロンゲストマッチを悪用する内容で、管理者の想定しない内容のルーティングをシステムに追加します。

     

  • VPNの意図しない動作
    利用者は必要に応じてVPN機器に接続してVPNを利用します。
    通常であれば、VPNを利用されるパケットはVPNシステムの用意したトンネルを通過することで暗号化されて通信されるため、経路上で盗み見られても内容を把握されることはありません。
    しかし、当該の機器ではルーティングテーブルが変更されてしまっています。
    正規のVPNの用意したトンネルよりも長いプレフィックスとして攻撃者に用意された経路にVPNに行くはずだったパケットは向かっていきます。

このようにして、VPN利用者のVPNを通るはずだったパケットは暗号化されることなく、内容を見ることができる状態で動作してしまうことになります。

この手法のいやな点は次のように考えられます。

  • VPN装置の脆弱性を突いているわけではない
    暗号化機構を破ったわけではありませんし、脆弱性を悪用したものでもありません。

     

  • VPNのコントロールセッションは正常に機能する
    この攻撃ではVPNを通るはずのデータ通信部分の経路が変化しているだけで、それ以外は変化していません。
    VPNのコントロールセッションは通常に機能しますので、VPNのセッションとして考えると、通常にVPNが機能しているように見えます。

この問題は、CVE-2024-3661として登録されました。
DHCPプロトコルのoption設定を使用する際に認証を必要としないというものとなっています。
仕様の盲点を突いたものといえそうです。

この攻撃は、ならず者のDHCPサーバの利用から始まります。
家や会社でもDHCPを使うことがあると思いますが、より危険が高いと思われるのは、飲食店、ホテル、空港などの公共Wi-Fiネットワークではないでしょうか。
家や会社なら、どのIPのDHCPサーバが正規のものであるのかが判別できるのですが、公共Wi-Fiネットワークでは利用者が正規のDHCPサーバの情報を知っていることはないと思われます。

この問題に対策するための銀の弾丸はまだわかっていません。
安心して利用できるように対策が確立されることを祈ります。

参考記事(外部リンク):TunnelVision (CVE-2024-3661): How Attackers Can Decloak
Routing-Based VPNs For a Total VPN Leak

www.leviathansecurity.com/blog/tunnelvision