1. 引言
在上篇中,我們建立了WebRTC審查規避系統分析的理論基礎,探討了技術背景和威脅模型。中篇將深入分析WebRTC協議棧中的具體識別特征,通過對多個主流WebRTC應用的實際協議分析,揭示不同實現之間存在的顯著差異。
這些協議層面的特征差異構成了審查系統進行指紋識別的重要依據。通過系統性地分析STUN/TURN協議特征、DTLS層深度特征、媒體通道與數據通道的使用模式差異,以及網絡行為模式特征,我們將為理解WebRTC規避系統的識別風險提供詳實的技術證據。
本篇還將展示大規模網絡流量分析實驗的結果,驗證理論分析的實際可行性,并評估在真實網絡環境中進行WebRTC指紋識別的效果和局限性。
2. WebRTC可識別特征深度分析
2.1 STUN與TURN協議特征
STUN和TURN協議為WebRTC的NAT穿透提供關鍵支持,但這些協議的實現細節也可能成為指紋識別的重要依據。
在STUN協議中,通信報文包含多個可定制字段,其中SOFTWARE字段類似于HTTP協議中的User-Agent字段,不同的WebRTC實現會在此字段中標識自己的軟件信息。審查者可以通過分析這些字段的內容來識別特定的應用程序。
不同WebRTC實現選擇的STUN服務器地址、請求類型(如Binding、Allocate、CreatePermission等)以及是否強制使用UDP中繼等行為模式都可能作為指紋識別的依據。例如,某些實現可能優先嘗試直接連接,而另一些則可能立即使用TURN中繼。
TURN協議的使用模式也存在明顯差異。一些應用會在連接建立后立即分配TURN端口,而另一些則只在直連失敗時才使用TURN服務。這些使用模式的差異為審查者提供了識別不同應用的線索。
2.2 DTLS層深度特征分析
DTLS作為TLS在無連接傳輸協議上的適配版本,其握手過程中包含大量可用于指紋識別的特征信息。
協議版本特征:不同的WebRTC實現支持不同的DTLS版本,包括DTLSv1.0、DTLSv1.2等。某些較新的實現可能支持DTLSv1.3,而舊版本的實現可能仍然使用DTLSv1.0。這種版本差異構成了最基本的識別特征。
加密套件配置:客戶端在DTLS握手過程中提供的加密套件列表是高度特征化的。不同實現不僅在支持的加密套件數量上存在差異,在排序優先級上也有所不同。例如,某些實現可能優先選擇AEAD加密模式,而另一些可能仍然支持傳統的CBC模式。
擴展支持情況