OpenVPN Scramble 是一種隱藏(混淆)OpenVPN 流量的方法,使其看起來不像 OpenVPN 流量。它對許多人都非常有效深度包檢測(DPI) 技術,並且擅長繞過複雜的 VPN 阻止。
OpenVPN Scramble 使用 XOR 加密算法。它非常容易塗抹,而且非常輕巧。許多 VPN 服務正在轉向 OpenVPN Scramble,以擊敗中國和埃及使用的那種先進 VPN 封鎖。
異或密碼
XOR 通常發音為 Ex-or,代表獨占或,XOR 密碼使用的一種數學運算。 XOR 算法基本上是一種簡單的替換密碼。換句話說,它只是將輸入的字符串中的每個字母數字替換為另一個數字。
至關重要的是,該算法是可逆的。因此,如果將輸出字符串反饋回相同的算法,最終會得到刪除了密碼的原始字符串。
這種密碼也稱為加法密碼,是最簡單的密碼。它是那種羅特13聰明的孩子經常用來創建秘密信息的密碼。只是它使用的算法比大多數孩子能設計的要復雜得多。

如果這聽起來不太安全,那麼事實並非如此。事實上,使用簡單的頻率分析技術(在輸出字符串中尋找模式)可以輕鬆破解簡單的異或密碼。
OpenVPN Scramble 不使用 XOR 密碼來保護您的數據。 OpenVPN 就是這麼做的。
然而,OpenVPN 確實為加密數據提供了獨特的簽名,可以使用 DPI 檢測到該簽名。通過將受 OpenVPN 保護的每一位數據的值替換為另一個值,XOR 會以一種使該簽名很難檢測到的方式對數據進行加擾。
對於 VPN 服務,XOR 黃金並不止於此。開源 openvpn_xor 擾亂補丁使他們可以輕鬆實現 XOR 擾亂並將其提供給客戶。
OpenVPN Scramble 的效果如何?
使用 XOR 密碼對 OpenVPN 加密的數據進行加擾,使得中國防火牆等系統更難檢測到。
XOR 混淆已經達到了一定程度的惡名。它的體積小且易於實施,使其成為希望隱藏其討厭的代碼以防止反惡意軟件檢測的惡意軟件開發人員的流行選擇。
許多惡意軟件開發人員很樂意僅使用 1 字節值作為密鑰。然後,由該密鑰混淆的代碼會迭代需要編碼的數據的每個字節,將每個字節與所選密鑰進行異或。
用 1 字節值鍵混淆的數據相對容易被發現,因為它在看似隨機的代碼中創建了重複模式。為此開發了許多程序。
不過,可以選擇更長的鍵,最多可達被混淆的數據的字節值。 XOR 函數對數據加擾的有效性完全取決於它使用的密鑰的隨機程度。
那麼這一切意味著什麼呢?惡意軟件中 XOR 混淆的廣泛使用證明了其有效性。
NordVPN 是提供 XOR 加密的 VPN 公司,因此我們請其數字隱私專家 Daniel Markuson 評論一下它在破解 VPN 封鎖方面的有效性。他建議使用以下實驗進行Wireshark數據包分析器(查看我們的如何設置 Wireshark指導):
1. 開啟常規VPN。 Wireshark 將流量視為 OpenVPN。

2. 打開基於 TCP 的混淆 VPN(NordVPN 的 XOR 選項)。 Wireshark 不再將流量識別為 OpenVPN。

”異或絕對有效。它對於政府阻止 OpenVPN 流量的努力總是有效嗎?不,一點也不。但從上面的實驗可以看出,如果使用XOR,識別VPN流量會變得更加複雜。因此更難阻止。”
爭議
儘管有其優點,openvpn_xorpatch 還是有些爭議。事實上,OpenVPN 開發人員拒絕在 OpenVPN 的任何官方版本中實現它,並建議不要使用它。
”我們(OpenVPN 開發人員)不鼓勵人們構建自己的 OpenVPN 版本,在沒有經過適當的補丁審查並評估與此類更改相關的可能安全風險的情況下更改有線協議。
當 TOR 社區使用更好的解決方案時,我們特別不鼓勵使用這種方法。它稱為 obfsproxy,可以與 OpenVPN 一起使用,無需重新編譯 OpenVPN。
”
然而,儘管有這些警告,開源 macOS VPN 客戶端 Tunnelblick 的開發人員還是選擇在其軟件中包含 XOR 補丁的修改版本:
”不管 OpenVPN 開發人員決定不在 OpenVPN 中包含該補丁,該補丁仍然很有吸引力,因為它非常容易實現:只需將補丁應用到 OpenVPN 服務器和 OpenVPN 客戶端,並為每個服務器和 OpenVPN 客戶端添加一個相同的選項到配置文件中。使用 obfsproxy 更為複雜,因為它涉及在服務器和客戶端上運行另一個單獨的程序。
由於該補丁非常容易實施,因此該補丁包含在自 4420 版本起 Tunnelblick 中包含的所有 OpenVPN 版本中。”
值得注意的是,Tunnelblick 開發人員發現原始 XOR 補丁存在嚴重缺陷,因此發布了補丁的更新版本,修復了所有發現的問題:
”大型組織有能力‘解讀’流量並將其檢測為 OpenVPN 流量,而該補丁提供的混淆功能非常初級,相對簡單的密碼分析也可能能夠解讀內容。 ”
我們當然希望VPN 提供商提供 OpenVPN Scramble 的用戶使用此改進的 XOR 補丁,或者對原始補丁進行了類似的更改。
OpenVPN Scramble 的替代方案
代理服務器
OpenVPN 開發者已經明確表示他們最喜歡的混淆策略是 obsfproxy,一種旨在將數據包裝到混淆層中的工具。
Obfsproxy 是由 Tor 網絡開發的,主要是為了應對中國阻止訪問公共 Tor 節點的情況。然而,它獨立於 Tor,並且可以針對 OpenVPN 進行配置。
Obfsproxy 用於運行可擾亂 VPN(或 Tor)流量的可插拔傳輸。它支持多種可插拔傳輸,但 obfs4 是 Tor 項目最新的最先進的“看起來沒什麼”混淆協議。
隧道
這是另一個很好的 VPN 混淆策略。它的工作原理是通過 TLS/SSL 隧道路由 VPN 流量。 TLS/SSL 是 HTTPS 使用的加密技術,因此通過這些 TLS/SSL 隧道路由的 VPN 連接(通常是 OpenVPN)很難與常規 HTTPS 流量區分開來。看看我們的HTTPS 指南了解更多信息。
這是因為 OpenVPN 數據被封裝在額外的 TLS/SSL 加密層中。由於 DPI 技術無法穿透這個“外”加密層,因此無法檢測隱藏在隧道內的 OpenVPN 加密。
結論
OpenVPN Scramble 很容易部署 VPN 服務,並且可以非常有效地規避 VPN 封鎖,但它在隱藏 VPN 流量方面不如 obfsproxy 或 stunnel 強大。
在世界上極少數地方,僅僅嘗試使用 VPN 都是非法的,因此,如果您的 VPN 連接被阻止,看看 OpenVPN Scramble 是否會解鎖它並沒有什麼壞處,它很可能會。
然而,在極少數情況下,如果發現使用 VPN,您實際上可能會遇到麻煩,那麼 obfsproxy 或 stunnel 會更安全。
