TunnelVision、VPN トラフィックを迂回する攻撃手法

TunnelVision: 危険な攻撃方法

最近、DHCPプロトコルの組み込み機能を利用して、攻撃者がユーザーのトラフィックをVPNトンネルから強制的に外部に流出させる方法が発見されたことが明らかになった。

「トンネルビジョン」と呼ばれるこの新しい攻撃手法は、攻撃者がローカルネットワークへのアクセス権を持っているか、無線ネットワークを制御している場合、被害者のトラフィックを攻撃者のホス​​ト経由でリダイレクトすることを可能にする。

ローカルルーティングの変更という概念は新しいものではなく、DNSサーバーを偽装する攻撃で一般的に用いられてきたことに留意することが重要です。例えば、代替のデフォルトゲートウェイを経由してトラフィックをリダイレクトするTunnelCrackは、テスト対象となったすべてのiOS VPNクライアントに加え、macOS、Windows、Linux、AndroidのVPNにも影響を与えました。

トンネルビジョンについて

TunnelVisionの本質は、攻撃者が独自のDHCPサーバーを起動し、それを使ってクライアントに情報を送信することでルーティングを変更できる点にあるとされています。具体的には、攻撃者は静的ルート情報を送信するように設計されたDHCPオプション121を利用して、被害者のマシンのルーティングテーブルを変更し、VPNを経由せずにトラフィックをルーティングすることができます。

この調査の目的は、最新の VPN プロバイダーに対してこの手法をテストして、その脆弱性を特定し、この問題について一般の人々に通知することでした。これが、CISA に情報を開示する際に CVE を提出することに同意し、脆弱性に名前を付けることにした理由です。

リダイレクトは、 /1プレフィックスを持つサブネットに対して一連のルートを設定することで実現されます。これらのルートは、/0プレフィックスを持つデフォルトルートよりも高い優先度を持ちます。その結果、VPN用に設定された仮想ネットワークインターフェイスではなく、物理ネットワークインターフェイスを経由して、ローカルネットワーク上の攻撃者のホス​​トにトラフィックが転送されます。

VPNを経由せずに、トラフィックがトンネルを通さずに平文で攻撃者のシステムに送信されます。この問題は、隔離されたネットワーク名前空間を使用してトラフィックをトンネルにルーティングしない、または既存の物理ネットワークインターフェイスを介したVPNトラフィックのルーティングを禁止するパケットフィルタリングルールを設定しないVPNクライアントに影響します。

TunnelVisionは、使用するVPNプロトコル(Wireguard、OpenVPN、IPsec)や暗号スイートに関係なく、DHCPオプション121をサポートするLinux、Windows、iOS、macOSなどのあらゆるシステムで実行できます。

AndroidはDHCPの121オプションを処理しないため、この攻撃の影響を受けないとされています。この攻撃はトラフィックへのアクセスを可能にしますが、TLSやSSHなどの安全なアプリケーションレベルプロトコルを介して送信される接続の傍受やコンテンツの特定はできません。例えば、攻撃者はHTTPS経由で送信されるリクエストのコンテンツを特定することはできませんが、リクエストがどのサーバーに送信されているかは把握できます。

攻撃から保護するために、パケットフィルタリングのレベルでいくつかの対策を実施できます。例えば、VPNインターフェース宛てのパケットを他のネットワークインターフェース経由で送信することを禁止したり、オプション121を使用してDHCPパケットをブロックしたり、外部ネットワークから隔離された別の仮想マシンまたはコンテナ内でVPNを使用したり、Linuxネットワーク名前空間を利用する特別なトンネル構成モードを使用したりすることができます。

経路を偽装するために、ネットワークアダプタの動作をシミュレートし、DHCP経由でコンピュータに接続されると自身をゲートウェイとして宣言する、特別に設計されたUSBドングルも開発されています。さらに、ゲートウェイが攻撃者の制御下にある場合(例えば、被害者が攻撃者によって制御されている無線ネットワークに接続した場合)、VPNネットワークインターフェースから発信されたと認識されるパケットをトンネルに注入する手法が開発されています。これらの攻撃を実験するためのスクリプトもいくつか公開されています。

最後に、これについてさらに詳しく知りたい場合は、以下のリンクから詳細をご覧いただけます。


Googleで優先ソースとして追加する