密西根大學的一組研究人員發表了一項研究結果,該研究探討了基於以下因素識別伺服器連接(VPN指紋識別)的可能性: OpenVPN 在監測過境交通的同時,我們確定了三種協議識別方法。 OpenVPN 除其他網路軟體包外,流量檢查系統還可以利用這些軟體包來阻止基於虛擬網路的網路。 OpenVPN.
在擁有超過一百萬用戶的Merit互聯網服務提供商網路上對所提出的方法進行測試,結果表明該方法能夠識別85%的漏洞。 OpenVPN會話誤報率低。為了進行測試,我們開發了一個工具,該工具最初是被動地、即時地識別流量。 OpenVPN然後透過主動伺服器驗證來驗證結果的準確性。研究人員將強度約為 20 Gbps 的流量鏡像到他們創建的分析器上。

實驗過程中,分析儀成功辨識出2000個測試樣本中的1718個。 OpenVPN- 由模擬客戶端建立的連接,使用了 40 種不同的典型配置。 OpenVPN (此方法在 40 種配置中的 39 種配置下均成功運作)。此外,在為期八天的實驗中,在過境流量中偵測到了 3638 個會話。 OpenVPN其中,3245 個會話得到確認。值得注意的是,所提出方法的誤報率上限比先前基於機器學習的方法低三個數量級。
對防止交通追蹤的方法的性能進行了單獨評估。 OpenVPN 在商業服務領域—在接受測試的 41 家公司中 VPN一項使用流量隱藏方法的服務 OpenVPN在34個案例中偵測到了流量。此外,還有一些服務無法偵測到。 OpenVPN 使用額外的層來隱藏流量(例如,轉送) OpenVPN(流量透過額外的加密隧道傳輸)。大多數成功檢測到的服務使用異或運算進行流量失真,使用額外的混淆層但沒有適當的隨機流量填充,或存在未混淆的流量。 OpenVPN同一平台上的服務 服務器.
所採用的識別方法是基於與特定物件的關聯。 OpenVPN 未加密資料包頭部的模式、ACK 資料包的大小以及伺服器回應都是可用於識別連接物件的方法。在前一種情況下,封包頭部中的「操作碼」(opcode)欄位可以作為連接協商階段的識別物件。此欄位取值範圍固定,並根據連線建立階段以特定方式變更。標識的本質在於識別資料流前 N 個資料包中特定的操作碼變化序列。
第二種方法基於以下事實:ACK 封包用於 OpenVPN 僅在連線協商階段出現,且具有特定大小。識別依據是,給定大小的 ACK 封包僅在會話的特定部分出現(例如,在使用…時)。 OpenVPN 第一個 ACK 封包通常是會話中傳輸的第三個封包)。

第三種方法是主動檢查,這是因為伺服器在回應連線重置請求時會… OpenVPN 傳送特定的 RST 封包(使用「tls-auth」模式時,此檢查不起作用,因為 OpenVPN伺服器會忽略來自未通過 TLS 驗證的用戶端的請求)。

來源: opennet.ru
