可監(jiān)聽幾乎所有VPN的黑客技術(shù)曝光

VPN的主要功能是將互聯(lián)網(wǎng)流量封裝在一個加密隧道中,并隱藏用戶的IP地址。但是近日,研究人員發(fā)現(xiàn)一種名為TunnelVision的攻擊方法,可以竊取幾乎所有VPN應(yīng)用的流量。

640 (1).png

本文來自微信公眾號“GoUpSec”。

VPN的主要功能是將互聯(lián)網(wǎng)流量封裝在一個加密隧道中,并隱藏用戶的IP地址。但是近日,研究人員發(fā)現(xiàn)一種名為TunnelVision的攻擊方法,可以竊取幾乎所有VPN應(yīng)用的流量。

研究人員表示除了安卓系統(tǒng)之外,幾乎所有其他操作系統(tǒng)中的VPN應(yīng)用目前都沒有辦法防御此類攻擊。

研究人員還指出,這種攻擊技術(shù)可能從2002年就已存在,并且可能已經(jīng)被發(fā)現(xiàn)并用于實戰(zhàn)。

攻擊方法詳解

研究者發(fā)布的攻擊演示視頻(鏈接在文末)解釋了TunnelVision的技術(shù)細節(jié),“受害者的流量將被解密并直接路由到攻擊者那里。攻擊者可以讀取、丟棄或修改泄漏的流量,而受害者仍然保持與VPN和互聯(lián)網(wǎng)的連接。”

該攻擊通過操縱分配IP地址給本地網(wǎng)絡(luò)連接設(shè)備的DHCP服務(wù)器來實現(xiàn)。DHCP服務(wù)器中有一個名為“選項121”的設(shè)置,它允許服務(wù)器覆蓋默認路由規(guī)則,這些規(guī)則會將VPN流量通過啟動加密隧道的本地IP地址發(fā)送出去。通過使用選項121將VPN流量路由到DHCP服務(wù)器,攻擊會將數(shù)據(jù)轉(zhuǎn)移到DHCP服務(wù)器本身。來自Leviathan Security Group的研究人員解釋道:

“攻擊者在與目標VPN用戶相同網(wǎng)絡(luò)上運行一個DHCP服務(wù)器,并將攻擊端配置為網(wǎng)關(guān)。當流量到達攻擊者的網(wǎng)關(guān)時,攻擊者可使用DHCP服務(wù)器上的流量轉(zhuǎn)發(fā)規(guī)則將流量傳遞到合法網(wǎng)關(guān),同時進行窺探。”

“攻擊者使用DHCP選項121在VPN用戶的路由表中設(shè)置路由,可以根據(jù)需要設(shè)置任意路由,也可以設(shè)置多個路由。通過推送比大多數(shù)VPN使用的/0CIDR范圍更具體的路由,攻擊者可以創(chuàng)建優(yōu)先級高于VPN創(chuàng)建的虛擬接口路由的路由規(guī)則。攻擊者可以設(shè)置多個/1路由來重建大多數(shù)VPN設(shè)置的0.0.0.0/0全部流量規(guī)則。”

“推送路由還意味著網(wǎng)絡(luò)流量將通過與DHCP服務(wù)器相同的接口發(fā)送,而不是虛擬網(wǎng)絡(luò)接口。這是一個未在RFC中清楚說明的預期功能。因此,攻擊者推送的路由永遠不會被VPN的虛擬接口加密,而是由與DHCP服務(wù)器通信的網(wǎng)絡(luò)接口傳輸。攻擊者可以選擇哪些IP地址通過隧道傳輸,哪些地址通過與DHCP服務(wù)器通信的網(wǎng)絡(luò)接口傳輸。”

640 (1).png

圖片:惡意DHCP121路由選項,導致流量永遠不會被VPN進程加密

研究者表示,這種技術(shù)也可以用于已經(jīng)建立的VPN連接(當VPN用戶的主機需要從攻擊者的DHCP服務(wù)器續(xù)訂租約時)。攻擊者可以通過在DHCP租約中設(shè)置較短的租約時間來人為地創(chuàng)建這種場景,這樣用戶會更頻繁地更新其路由表。此外,VPN控制通道仍然完好,因為它已經(jīng)使用物理接口進行通信。在研究者的測試中,VPN一直顯示已連接,從未斷開。

研究者指出,這種攻擊最有效的方式是由控制目標用戶所連網(wǎng)絡(luò)的人實施。在這種情況下,攻擊者可將DHCP服務(wù)器配置為使用選項121。網(wǎng)絡(luò)上的非特權(quán)用戶也可以通過設(shè)置他們自己的惡意DHCP服務(wù)器來發(fā)動此類攻擊。

攻擊后果與緩解方法

攻擊可以讓部分或全部流量通過未加密的隧道路由。在這種情況下,VPN應(yīng)用程序仍會報告所有數(shù)據(jù)都通過受保護的連接發(fā)送。任何偏離隧道的流量都將不會被VPN加密,并且遠程用戶可看到VPN用戶的真實IP,而不是VPN應(yīng)用指定的IP。

值得注意的是,由于未實現(xiàn)選項121,安卓是唯一可以完全保護VPN應(yīng)用免受攻擊的操作系統(tǒng)。對于所有其他操作系統(tǒng),目前沒有徹底的修復方法。當應(yīng)用程序運行在Linux上時,有一個設(shè)置可以最小化影響,但即使這樣,TunnelVision也可以用于利用側(cè)信道來取消對目標流量的匿名化并執(zhí)行拒絕服務(wù)攻擊。網(wǎng)絡(luò)防火墻也可以配置為拒絕進出物理接口的入站和出站流量。這種補救措施存在兩個問題:

(1)連接到不受信任網(wǎng)絡(luò)的VPN用戶無法控制防火墻

(2)它會打開與Linux緩解措施相同的側(cè)信道

目前最有效的緩解方法是在網(wǎng)絡(luò)適配器未設(shè)置為橋接模式的虛擬機內(nèi)運行VPN,或者通過手機的Wi-Fi網(wǎng)絡(luò)將VPN連接到互聯(lián)網(wǎng)。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論