許多使用者安裝 VPN 是為了隱私與安全,但現實情況可能恰恰恰相反。近期由密西根大學、新墨西哥大學與印度理工學院德里分校的研究人員發布了一項針對 281 款熱門免費 Android VPN 應用程式的調查。他們開發了一套名為 MVPNalyzer 的自動化稽核框架,發現大量 VPN 應用在最基礎的安全實作上完全失敗,其中受影響的 App 累計下載量高達 24 億次。
對於工程師來說,理解 VPN 的本質是將流量封裝在加密隧道中,將對網路供應商(ISP)的信任轉移到 VPN 服務商身上。然而,這項研究顯示許多免費 VPN 並不值得信任。
最嚴重的安全漏洞:隧道劫持
研究中發現最危險的漏洞在於隧道劫持(Tunnel Hijacking)。有 5 款 App 在下載設定檔(Configuration File)時未使用加密傳輸。設定檔決定了 App 應該連接到哪個伺服器,如果這個過程是明文傳輸,同一網路上的攻擊者(例如惡意公共 Wi-Fi 營運商)可以攔截並竄改該檔案,將使用者的流量導向攻擊者控制的伺服器。
在這種情況下,使用者端看到的介面依然顯示已連接,但所有流量實際上都經過攻擊者的設備,導致所有數據被完全監控。
流量洩漏與加密失效
除了劫持風險,許多 App 在防止流量洩漏(Traffic Leak)方面表現極差。
首先是 DNS 洩漏。有 24 款 App 會將 DNS 查詢(將網域名稱轉換為 IP 地址的過程)發送到加密隧道之外。這意味著即使數據內容加密,網路監控者依然能清楚知道使用者訪問了哪些網站。
其次是明文傳輸。61 款 App 會將部分數據以明文(Plain Text)發送,任何人只要在同一個網路中截獲封包即可閱讀內容。更極端的是,有 4 款 App 的隧道根本沒有實作任何加密,完全形同虛設。
此外,有 169 款 App 沒有對 VPN 流量進行混淆(Obfuscation),這使得政府審查機構或網路管理員能輕易識別出使用者正在使用 VPN 並將其封鎖。
隱私悖論:以隱私之名進行追蹤
許多使用者使用 VPN 是為了避免被追蹤,但研究發現 80% 以上的受測 App 會與廣告追蹤伺服器通訊。
其中 76 款 App 會發送廣告 ID(Advertising ID),這是廣告商用來跨 App 追蹤使用者的唯一識別碼。部分 App 甚至會收集手機型號、作業系統版本、螢幕尺寸,甚至精確的 GPS 座標。這些資訊組合在一起會形成設備指紋(Device Fingerprinting),讓服務商能精準地鎖定單一使用者。
底層工程的崩壞
研究人員進一步分析了 108 款使用 OpenVPN 的 App 設定,發現絕大多數缺乏基本的安全維護。
認證機制單一:近 90% 的 App 僅使用密碼或憑證其中一種認證方式,而非採取雙重認證。
過時的加密演算法:近五分之一的 App 使用了早已被證明不安全的舊演算法,如 Blowfish 或 Triple DES。這些演算法存在已知的漏洞(如 CVE-2016-6329 和 CVE-2016-2183),攻擊者可藉此還原長期連接的數據。
這反映出許多免費 VPN 的工程品質極低,僅僅是將舊的開源套件打包成 App 上架,完全沒有進行安全性更新。
實務建議與結論
對於使用者與開發者而言,這項研究提供了一個重要的警訊:Google Play 商店的安全標籤或已驗證徽章,更多時候是行銷標誌而非真正的安全保證。
在選擇 VPN 時,應優先考慮那些願意公開獨立第三方安全審計報告的供應商。對於充滿廣告的免費 App 要保持高度警覺。
從工程角度看,VPN 的安全性不應該只看它宣稱使用什麼協定,而應該看其背後的維運能力與透明度。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。