JPCERTコーディネーションセンター(JPCERT/CC: Japan Computer Emergency Response Team Coordination Center)は5月10日、「JVNTA#94876636: DHCPのオプション121を利用したVPNのカプセル化回避の問題」において、VPN(Virtual Private Network)接続をバイパスする新しいサイバー攻撃手法「TunnelVision」について注意を喚起した。この攻撃手法の詳細は「VPN接続をバイパスする新しい攻撃手法「TunnelVision」、通信の傍受が可能 | TECH+(テックプラス)」にて解説している。

  • JVNTA#94876636: DHCPのオプション121を利用したVPNのカプセル化回避の問題

    JVNTA#94876636: DHCPのオプション121を利用したVPNのカプセル化回避の問題

VPN接続のバイパスとは

TunnelVisionは、DHCPのオプション121(クラスレススタティックルート)を使用して標的のルーティングテーブルを変更し、トラフィックを攻撃者のコンピューターに変更させる攻撃手法。クラスレススタティックルートをサポートするオペレーティングシステムを使用し、なおかつルーティングルールのみに依存してトラフィックを保護するVPNが影響を受けるという。

この攻撃は不正なDHCPサーバを立ち上げる必要があるため、標的と同一のローカルネットワークにアクセスできる攻撃者のみ実行することができる。攻撃者はゲートウェイを構成することでトラフィックを正常にリダイレクトすることから、被害者は攻撃者のコンピュータを経由して通信していることに気づくことは難しいとみられている。

この攻撃がもたらす影響と対策

この攻撃に成功すると既存のVPN接続は無視され、攻撃者のコンピュータを経由して通信することになる。このトラフィックはVPNの外側にあるため、暗号化されない。

JPCERT/CCはこの攻撃を回避するための対策として、Linux向けVPNソフトウェアの開発者に以下を推奨している。

  • Linuxはネットワーク名前空間(network namespace)をサポートしている。既存のネットワークインタフェース(eth0やwlan0など)を任意の名前空間に移動し、標準の名前空間にはループバック(lo0)とVPNインタフェースだけを残す。この手法を使用するとすべてのインターネットトラフィックをVPN経由にできる(参考:「Routing & Network Namespaces - WireGuard」)

また、VPNソフトウェアの利用者に対し、信頼できないネットワークを使用しないことを推奨している。複数のユーザーが同一ローカルネットワーク上に存在する公衆無線LANや、宿泊施設のLANなどはこの攻撃の影響を受ける可能性がある。このような環境でインターネット接続を必要とする場合は、携帯電話などのモバイルデータ通信(テザリング)を使用することが望まれる。