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 用戶端都會受到此問題的影響。

任何支援 DHCP 選項 121 的系統,包括 Linux、Windows、iOS 和 macOS,都可以執行TunnelVision,而無需考慮所使用的 VPN 協定(Wireguard、OpenVPN、IPsec)和所使用的密碼套件。

文中提到,Android 系統不受此攻擊影響,因為它不處理 DHCP 中的 121 選項。雖然該攻擊允許存取流量,但無法攔截連接或確定透過安全應用層協定(例如 TLS 和 SSH)傳輸的內容。例如,攻擊者無法確定透過 HTTPS 發送的請求的內容,但可以了解請求發送到了哪些伺服器。

為了防止攻擊,可以在封包過濾層級實施以下幾項措施:禁止透過其他網路介面傳送發送至 VPN 介面的封包,阻止使用選項 121 的 DHCP 封包,在與外部網路隔離的獨立虛擬機器或容器中使用 VPN,或使用採用 Linux 網路命名空間的特殊隧道設定模式。

為了偽造路由,一種專門設計的USB加密狗也被開發出來,它可以模擬網路適配器的運行,並在透過DHCP連接到電腦時,將自身聲明為網關。此外,當網關被攻擊者控制時(例如,當受害者連接到攻擊者控制的無線網路時),一種技術被開發出來,可以將資料包注入到隧道中,使其看起來像是來自VPN網路介面。目前也已發布了一些用於實驗這些攻擊的腳本。

最後,如果您有興趣了解更多相關信息,可以點擊以下連結查看詳情。


在 Google 中將其新增為首選來源