李兵
關(guān)鍵詞:Tor匿名通信網(wǎng)絡(luò);去匿名化;深度學(xué)習(xí)
1 簡(jiǎn)介
洋蔥路由(The Onion Router) 簡(jiǎn)稱Tor,是一個(gè)用于實(shí)現(xiàn)匿名通信的免費(fèi)開源系統(tǒng)[1],可以隱藏用戶的位置和使用情況,避免被網(wǎng)絡(luò)監(jiān)視。研究人員一開始設(shè)計(jì)Tor的目的是用于保護(hù)美國(guó)軍方的在線情報(bào)通信。后來隨著Tor代碼的公開,Tor現(xiàn)在已經(jīng)成為最成功的公共匿名通信服務(wù),每天有超過200萬的用戶使用Tor系統(tǒng)進(jìn)行匿名通信。
Tor通過全球志愿者運(yùn)行的中繼網(wǎng)絡(luò)對(duì)通信進(jìn)行加密,然后隨機(jī)反彈。這些路由器以多層方式使用加密,來確保中繼節(jié)點(diǎn)之間的前向保密,從而為用戶提供網(wǎng)絡(luò)位置的匿名性。
Tor使其用戶能夠匿名上網(wǎng)、聊天和發(fā)送即時(shí)消息,通過保持其互聯(lián)網(wǎng)活動(dòng)不受監(jiān)控來進(jìn)行保密通信,為持不同政見者、記者、告密者、企業(yè)、甚至普通用戶都提供了良好的隱私保護(hù)功能,是一個(gè)面向普通用戶的低延遲的匿名通信系統(tǒng)。
但是,由于Tor提供了匿名、防溯源的功能,是暗網(wǎng)(Dark Web) 的重要組成部分,通過使用Tor匿名通信技術(shù),暗網(wǎng)用戶的身份和位置保持匿名,無法追蹤,以致犯罪分子從事非法活動(dòng)可以規(guī)避司法審查。2016年Tor匿名通信服務(wù)各類別占比如圖1所示??梢钥闯?,Tor 上最常托管的內(nèi)容類型是各種非法內(nèi)容,包括非法藥物、非法色情、黑市武器交易、黑客攻擊等。
為了追蹤那些利用Tor擺脫監(jiān)控的犯罪分子,加強(qiáng)對(duì)網(wǎng)絡(luò)空間的安全控制,亟須對(duì)Tor匿名通信進(jìn)行深入分析和研究。近年來,對(duì)Tor匿名通信網(wǎng)絡(luò)的研究成為眾多學(xué)者關(guān)注的焦點(diǎn)。
雖然Tor能夠避免流量傳輸過程的分析,但卻不能阻止流量在輸入輸出時(shí)的確認(rèn)。Tor為了保證日常的網(wǎng)絡(luò)瀏覽具有低延遲的特性,沒有使用混淆流量特征等可能導(dǎo)致連接變慢的技術(shù),從而給了可乘之機(jī),人們可以通過特定的方法觀察用戶的輸入輸出流量,對(duì)Tor匿名通信網(wǎng)絡(luò)的流量進(jìn)行分析,進(jìn)一步識(shí)別用戶瀏覽的網(wǎng)頁(yè),從而破壞Tor通信網(wǎng)絡(luò)的匿名性。
現(xiàn)有針對(duì)Tor通信網(wǎng)絡(luò)進(jìn)行流量分析,破壞匿名性的技術(shù)可以分為主動(dòng)流量分析和被動(dòng)流量分析兩種:1) 主動(dòng)流量分析技術(shù)。根據(jù)特定模式改變流中數(shù)據(jù)包的時(shí)序,并在網(wǎng)絡(luò)的另一端尋找該模式,從而可以將一側(cè)的流鏈接到網(wǎng)絡(luò)的另一側(cè)并破壞它的匿名性,但是由于流量被改變,隱蔽性較差。2) 被動(dòng)流量分析。從網(wǎng)絡(luò)一側(cè)的特定流的流量中提取特征,并在網(wǎng)絡(luò)的另一側(cè)尋找這些特征,雖然需要長(zhǎng)期觀察和記錄大量的數(shù)據(jù),但具有較好的隱蔽性。根據(jù)流量位置的不同,被動(dòng)流量分析又可以分為兩類:(1) 網(wǎng)站指紋分析。利用網(wǎng)站內(nèi)容的差異,通過網(wǎng)絡(luò)流量推斷出用戶訪問的網(wǎng)站,從而實(shí)現(xiàn)去匿名化。(2) 流量關(guān)聯(lián)分析。通過觀察并關(guān)聯(lián)進(jìn)入和離開Tor匿名網(wǎng)絡(luò)的流量,關(guān)聯(lián)兩端的流量,從而破壞Tor的匿名性。
近年來,研究人員利用傳統(tǒng)機(jī)器學(xué)習(xí)或深度學(xué)習(xí)算法,提出了一系列的網(wǎng)站指紋分析方法和流量關(guān)聯(lián)分析方法,并取得了較高的精度。
2 背景知識(shí)
2.1 Tor 匿名通信網(wǎng)絡(luò)
Tor是最受歡迎的匿名通信網(wǎng)絡(luò),該網(wǎng)絡(luò)由6000 多個(gè)中繼節(jié)點(diǎn)組成。
2.1.1 匿名原則
Tor匿名通信網(wǎng)絡(luò)包含三個(gè)代理服務(wù)器。需要匿名服務(wù)的用戶首先在本地運(yùn)行洋蔥代理服務(wù)器。洋蔥代理服務(wù)器負(fù)責(zé)通信鏈接建立和數(shù)據(jù)加密工作。它與目錄服務(wù)器進(jìn)行通信,獲得全球活動(dòng)的中繼節(jié)點(diǎn)信息,然后隨機(jī)選擇三個(gè)節(jié)點(diǎn)(入口節(jié)點(diǎn)、中間節(jié)點(diǎn)和出口節(jié)點(diǎn))組成回路。用戶的流量經(jīng)過這三個(gè)節(jié)點(diǎn),最后到達(dá)目標(biāo)網(wǎng)站服務(wù)器。系統(tǒng)每隔10分鐘左右就會(huì)重新選擇三個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)只知道部分信息,這樣就能達(dá)到匿名的目的。
2.1.2 洋蔥服務(wù)
Tor 還可以為網(wǎng)站和其他服務(wù)器提供匿名性。配置為僅通過Tor 接收入站連接的服務(wù)器稱為洋蔥服務(wù)(Onion Services) 。洋蔥服務(wù)通過Tor 瀏覽器訪問,而不會(huì)透露服務(wù)器的IP 地址或網(wǎng)絡(luò)位置。Tor 網(wǎng)絡(luò)通過從網(wǎng)絡(luò)內(nèi)的分布式哈希表中查找它們對(duì)應(yīng)的公鑰和引入點(diǎn)來理解這些地址。由于洋蔥服務(wù)的流量完全通過Tor 網(wǎng)絡(luò)進(jìn)行路由,因此與洋蔥服務(wù)的連接是端到端加密的,很難成為竊聽的目標(biāo)。Tor為洋蔥服務(wù)和Tor用戶提供相互匿名,這意味著互相知道對(duì)方的IP地址。洋蔥服務(wù)和客戶端之間的默認(rèn)路徑有六個(gè)中繼站,通過洋蔥服務(wù)協(xié)議連接。
2.1.3 封閉世界/開放世界場(chǎng)景
Tor進(jìn)行實(shí)驗(yàn)測(cè)試通常在兩種場(chǎng)景下進(jìn)行:封閉世界場(chǎng)景和開放世界場(chǎng)景。1) 在封閉世界場(chǎng)景,假設(shè)用戶只能訪問攻擊者所監(jiān)控的網(wǎng)站。例如,如果攻擊者監(jiān)控了100個(gè)網(wǎng)站并提取了它們的網(wǎng)站指紋特征,那么用戶就只能訪問這100個(gè)網(wǎng)站。這種場(chǎng)景不夠現(xiàn)實(shí),因?yàn)楝F(xiàn)實(shí)世界中存在大量的網(wǎng)站,而且用戶的選擇范圍很廣。2) 在開放世界場(chǎng)景,用戶可以像在現(xiàn)實(shí)生活中一樣自由訪問任何網(wǎng)站,而不局限于被監(jiān)控的那一組,更加具有現(xiàn)實(shí)意義。
2.2 機(jī)器學(xué)習(xí)
機(jī)器學(xué)習(xí)(Machine Learning, ML) 是人工智能研究過程中的一個(gè)產(chǎn)物,它是一種可以學(xué)習(xí)的算法。機(jī)器學(xué)習(xí)可以劃分為幾個(gè)階段:1) 數(shù)據(jù)收集。數(shù)據(jù)能夠反映事物的特點(diǎn)和屬性;2) 模型訓(xùn)練。利用訓(xùn)練數(shù)據(jù)和對(duì)應(yīng)的標(biāo)簽對(duì)模型進(jìn)行訓(xùn)練,得到能夠預(yù)測(cè)未知的模型;3) 模型預(yù)測(cè)。把新的數(shù)據(jù)輸入到訓(xùn)練好的模型中,進(jìn)行預(yù)測(cè)。
根據(jù)預(yù)測(cè)值,機(jī)器學(xué)習(xí)可以分為分類模型和回歸模型。分類模型預(yù)測(cè)的結(jié)果是一個(gè)離散的值,如標(biāo)記是“好”或“壞”。回歸模型預(yù)測(cè)的結(jié)果是一個(gè)連續(xù)值,例如概率“99%”。本文研究的網(wǎng)站指紋攻擊和流量關(guān)聯(lián)分析利用的都是分類模型,只判斷用戶是否訪問某一個(gè)網(wǎng)站。
2.2.1 傳統(tǒng)機(jī)器學(xué)習(xí)
傳統(tǒng)的機(jī)器學(xué)習(xí)算法包括支持向量機(jī)(SupportVector Machine, SVM) 、k 最近鄰(k-Nearest Neighbor,k-NN) 和隨機(jī)森林(Random Forest, RF) 算法等。傳統(tǒng)的機(jī)器學(xué)習(xí)算法需要事先手動(dòng)設(shè)置訓(xùn)練數(shù)據(jù)的特征。例如,為了識(shí)別貓的種類,需要手動(dòng)設(shè)置貓的特征,包括眼睛、耳朵和頭發(fā)等。然后通過分析訓(xùn)練數(shù)據(jù)來訓(xùn)練模型。隨著數(shù)據(jù)數(shù)量的增加,模型的識(shí)別準(zhǔn)確率也會(huì)增加,但最終會(huì)趨于平緩,達(dá)到收斂效果。傳統(tǒng)的機(jī)器學(xué)習(xí)算法不適合大數(shù)據(jù)分析,因?yàn)樗鼈儾荒茏詣?dòng)提取特征。
2.2.2 深度學(xué)習(xí)
深度學(xué)習(xí)(Deep Learning, DL) 產(chǎn)生于20世紀(jì),當(dāng)時(shí)由于缺乏數(shù)據(jù),效果并不理想。隨著大數(shù)據(jù)時(shí)代的到來,深度學(xué)習(xí)的性能大幅度提升,在處理復(fù)雜對(duì)象如語音和圖像方面具有強(qiáng)大的性能。深度學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)子集,本質(zhì)上是一個(gè)多層的神經(jīng)網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)從大量數(shù)據(jù)中自動(dòng)“學(xué)習(xí)”,試圖模擬人腦的行為。
深度學(xué)習(xí)可以自動(dòng)提取特征,不再需要手動(dòng)設(shè)置特征。特征是在自己的神經(jīng)網(wǎng)絡(luò)中逐層分析中獲得的。第一層的特征可能是模糊的,但經(jīng)過逐層訓(xùn)練,區(qū)分樣本類別的特征會(huì)越來越明顯。例如,有一組不同寵物的照片,我們想按動(dòng)物種類進(jìn)行分類,深度學(xué)習(xí)可以自動(dòng)確定哪些特征(例如耳朵)對(duì)于區(qū)分每種動(dòng)物最重要。而在傳統(tǒng)機(jī)器學(xué)習(xí)中,這種特征層次結(jié)構(gòu)是由人類手動(dòng)設(shè)置的。深度學(xué)習(xí)隨著數(shù)據(jù)量的增加,性能也會(huì)增加。
3 針對(duì)Tor 匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)
Tor作為目前最流行的匿名通信網(wǎng)絡(luò),針對(duì)Tor去匿名化技術(shù)研究是學(xué)者們關(guān)注的焦點(diǎn)。針對(duì)Tor的去匿名化技術(shù)可以分為兩類:網(wǎng)站指紋分析技術(shù)和流量關(guān)聯(lián)分析技術(shù)。
3.1 威脅模型
3.1.1 網(wǎng)站指紋分析模型
網(wǎng)站指紋分析是利用網(wǎng)站內(nèi)容的差異,通過進(jìn)入Tor網(wǎng)絡(luò)入口的流量推斷出用戶訪問的網(wǎng)站。我們可以通過觀察數(shù)據(jù)包的序列特征(如數(shù)據(jù)包時(shí)間、方向等)獲得用戶訪問過哪個(gè)網(wǎng)站的信息。
具體來說,不同的網(wǎng)站有不同的流量模式,瀏覽某一組網(wǎng)站,從入口流量中提取網(wǎng)站的獨(dú)特指紋特征。然后利用機(jī)器學(xué)習(xí)方法進(jìn)行訓(xùn)練,訓(xùn)練得到一個(gè)分類器,它的輸入是用戶的入口流量,輸出是訪問對(duì)應(yīng)的網(wǎng)站概率。
當(dāng)用戶通過Tor匿名通信網(wǎng)絡(luò)瀏覽網(wǎng)站時(shí),可以通過記錄下用戶和入口節(jié)點(diǎn)之間的流量,提取他們需要的網(wǎng)站指紋特征,然后與已知的網(wǎng)站指紋信息相匹配,獲得網(wǎng)站信息。
通過這種方式,可以知道用戶正在訪問的是哪個(gè)網(wǎng)站,成功地實(shí)現(xiàn)對(duì)Tor的去匿名化。網(wǎng)站指紋分析對(duì)Tor的匿名性構(gòu)成了巨大威脅。具體威脅模型如圖2所示。
3.1.2 流量關(guān)聯(lián)分析模型
流量關(guān)聯(lián)分析也被廣泛用于實(shí)現(xiàn)針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化。同時(shí)觀察記錄進(jìn)入和離開Tor匿名通信網(wǎng)絡(luò)的流量,然后通過關(guān)聯(lián)兩端的流量對(duì)Tor 進(jìn)行去匿名化。
圖3顯示了流量關(guān)聯(lián)分析的威脅模型。為了實(shí)現(xiàn)去匿名化,需要控制大量的惡意中繼節(jié)點(diǎn),或竊聽自治系統(tǒng)(Autonomous System, ASes) 和互聯(lián)網(wǎng)服務(wù)提供商(Internet Service Provider, ISP) ,從而可以在Tor連接的入口中繼和出口中繼處截獲流量。
由于Tor匿名通信網(wǎng)絡(luò)加密,無法通過檢查數(shù)據(jù)包的內(nèi)容來確定入口和出口流量是否有關(guān)聯(lián),所以需要通過流量特征(如數(shù)據(jù)包的時(shí)間、大小、方向等),將屬于同一用戶的流量在兩端關(guān)聯(lián)起來,從而確定特定用戶正在訪問哪個(gè)網(wǎng)站,實(shí)現(xiàn)針對(duì)Tor的去匿名化。
3.2 網(wǎng)站指紋分析
由不同信息形成的網(wǎng)站的流量會(huì)有不同的表現(xiàn),所以可以將網(wǎng)站流量信息作為網(wǎng)站的指紋。第一步是找出網(wǎng)站流量最容易區(qū)分的特征,例如,瀏覽網(wǎng)頁(yè)時(shí)發(fā)送的數(shù)據(jù)包的數(shù)量、大小、方向等。每個(gè)特征數(shù)據(jù)對(duì)應(yīng)一個(gè)網(wǎng)站標(biāo)簽,數(shù)據(jù)和標(biāo)簽作為訓(xùn)練數(shù)據(jù)集,訓(xùn)練網(wǎng)站指紋分類模型,使同一網(wǎng)站的數(shù)據(jù)屬于同一類別。訓(xùn)練好的分類模型在輸入待識(shí)別的網(wǎng)站特征數(shù)據(jù)時(shí),能夠輸出每一個(gè)標(biāo)簽的概率,從而找到用戶在訪問哪一個(gè)網(wǎng)站。
現(xiàn)有網(wǎng)站指紋分析的工作主要分為兩類:一類是基于傳統(tǒng)機(jī)器學(xué)習(xí)的方案,一類是基于深度學(xué)習(xí)的方案。傳統(tǒng)機(jī)器學(xué)習(xí)的方案,不能處理大規(guī)模的數(shù)據(jù),性能有待提升?;谏疃葘W(xué)習(xí)的方法可以充分利用數(shù)據(jù)的信息,最后的準(zhǔn)確率往往優(yōu)于基于傳統(tǒng)機(jī)器學(xué)習(xí)的方案。
3.2.1 基于傳統(tǒng)機(jī)器學(xué)習(xí)的網(wǎng)站指紋分析
現(xiàn)有基于機(jī)器學(xué)習(xí)的網(wǎng)站指紋分析工作廣泛采用SVM、k-NN、RF等算法訓(xùn)練網(wǎng)站指紋分類器。當(dāng)用戶瀏覽網(wǎng)站時(shí),對(duì)流量信息進(jìn)行分析,判定在瀏覽哪一個(gè)網(wǎng)站。
針對(duì)Tor匿名通信網(wǎng)絡(luò)的網(wǎng)站指紋分析研究工作可以追溯到2009年,并在近幾年快速發(fā)展。但是,以往工作中使用的指紋特征往往是從網(wǎng)站的某個(gè)頁(yè)面提取的,而不是整個(gè)網(wǎng)站中提取的,所以稱之為“網(wǎng)頁(yè)指紋”更為恰當(dāng)。
文獻(xiàn)[2]指出網(wǎng)頁(yè)指紋識(shí)別是非常不可靠的,并首次將網(wǎng)頁(yè)指紋特征進(jìn)一步豐富為網(wǎng)站指紋特征。同時(shí)這項(xiàng)工作提出了一種新穎的網(wǎng)站指紋分析方法,具體來說,將網(wǎng)頁(yè)的加載過程抽象為一個(gè)特征,從而可以分析網(wǎng)頁(yè)痕跡的累積行為。
文獻(xiàn)[2]通過截取一段用戶流量,記錄了數(shù)據(jù)包的大小。在求和的過程中插入100個(gè)數(shù),從而得到一個(gè)固定長(zhǎng)度的輸入特征。這個(gè)特征在擁堵、帶寬、頁(yè)面加載時(shí)間等方面表現(xiàn)出較大的穩(wěn)健性。文獻(xiàn)[2]采用了LibSVM算法訓(xùn)練得到分類模型,達(dá)到了比當(dāng)時(shí)最先進(jìn)的方法更高的識(shí)別準(zhǔn)確率。
由于網(wǎng)站指紋分析的性能往往與所使用的特征和分類器有關(guān),所以相關(guān)研究特別注重改進(jìn)所使用的數(shù)據(jù)特征和分類器。文獻(xiàn)[3]提出了一種新穎的指紋特征提取方法,該方法利用RF分類器對(duì)多種網(wǎng)站跟蹤特征進(jìn)行提取,生成固定長(zhǎng)度的特征向量,其包含175個(gè)特征。RF算法由多個(gè)決策樹組成,每個(gè)決策樹選擇一個(gè)特征進(jìn)行分類,因此RF算法在特征選擇方面具有較大的優(yōu)勢(shì)。
然后文獻(xiàn)[3]采用k-NN分類器對(duì)特征向量進(jìn)行訓(xùn)練和分類,將特征數(shù)據(jù)與每個(gè)網(wǎng)頁(yè)標(biāo)簽進(jìn)行匹配,以找到最佳匹配標(biāo)簽。由于k-NN算法適合于分類任務(wù),該方法的性能與文獻(xiàn)[2]相似。文獻(xiàn)[3]模型特征提取和分類器訓(xùn)練階段利用了不同的機(jī)器學(xué)習(xí)算法,并發(fā)揮了每種算法的優(yōu)勢(shì)。文獻(xiàn)[3]還分析了以前工作中使用的各種特征,發(fā)現(xiàn)一些簡(jiǎn)單的特征(如數(shù)據(jù)包的數(shù)量)比一些復(fù)雜的特征(如數(shù)據(jù)包到達(dá)時(shí)間)提供的信息更多。他們?cè)谡m?yè)面、部署了網(wǎng)站指紋防御的頁(yè)面以及洋蔥服務(wù)頁(yè)面上進(jìn)行了大量實(shí)驗(yàn)測(cè)試,實(shí)驗(yàn)結(jié)果表明,文獻(xiàn)[3]的準(zhǔn)確性優(yōu)于現(xiàn)有工作。
文獻(xiàn)[2-3]的數(shù)據(jù)特征是從Tor匿名通信網(wǎng)絡(luò)的入口和出口中繼節(jié)點(diǎn)處提取的,其中入口和出口中繼節(jié)點(diǎn)分別與客戶端和目的地直接相連。而Tor網(wǎng)絡(luò)通信過程除了經(jīng)過入口和出口中繼節(jié)點(diǎn),還需要經(jīng)過一個(gè)中間中繼節(jié)點(diǎn),而中繼節(jié)點(diǎn)的數(shù)據(jù)卻未被使用。
文獻(xiàn)[4]考慮到經(jīng)過中間中繼節(jié)點(diǎn)的數(shù)據(jù)特征也可以被提取出來,提出了一種新的方法,即對(duì)來自內(nèi)部-中間中繼節(jié)點(diǎn)特征進(jìn)行分析。文獻(xiàn)[4]認(rèn)為,中間中繼可以在不知道用戶和目的地IP地址的情況下提供大量有用的信息(如服務(wù)訪問時(shí)間、入口和出口中繼的位置等)。這種信息泄露給Tor匿名通信網(wǎng)絡(luò)帶來了巨大的潛在威脅。
文獻(xiàn)[4]采用RF算法檢測(cè)中繼節(jié)點(diǎn)的位置,然后利用k-NN構(gòu)造分類模型,可以有效地從中間中繼節(jié)點(diǎn)識(shí)別Tor匿名通信服務(wù)的網(wǎng)站指紋。文獻(xiàn)[4]雖然沒有用這種方法來實(shí)現(xiàn)去匿名化,但對(duì)中間中繼節(jié)點(diǎn)的網(wǎng)站指紋分析具有啟發(fā)意義。
3.2.2 基于深度學(xué)習(xí)的網(wǎng)站指紋分析
傳統(tǒng)的機(jī)器學(xué)習(xí)算法需要人為選擇特征,特征選擇的好壞與攻擊的成功率有很大關(guān)系。深度學(xué)習(xí)算法不需要人工設(shè)置特征,可以自己完成對(duì)特征的選擇。給定樣本數(shù)據(jù),深度學(xué)習(xí)算法先找到樣本的邊緣特征,然后往下逐層找到更深層次的特征。更深層次的特征分類效果更好,所以可以使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)、長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM) 等深度學(xué)習(xí)模型作為分類器,然后用訓(xùn)練好的模型對(duì)網(wǎng)站指紋進(jìn)行高準(zhǔn)確率的識(shí)別[5],實(shí)現(xiàn)去匿名化。
文獻(xiàn)[6]首次系統(tǒng)地探索了如何利用深度學(xué)習(xí)算法實(shí)現(xiàn)網(wǎng)站指紋分析,提出了堆疊的去噪自編碼器(Stacked Denoising Autoencoder, SDAE) 方案。文章評(píng)估了使用SDAE、CNN和LSTM三種深度學(xué)習(xí)模型時(shí)網(wǎng)站指紋分類器的性能,并與使用k-NN的文獻(xiàn)[2]進(jìn)行了比較。結(jié)果發(fā)現(xiàn)使用CNN和SDAE模型分類器的方案的識(shí)別準(zhǔn)確度明顯超過使用k-NN分類器的方案。由于LSTM獨(dú)特的遞歸結(jié)構(gòu),使用LSTM模型的方案受到其輸入單元大小的限制,在精確度上略遜一籌,但也正因如此,其性能隨時(shí)間下降是最慢的。此外,使用CNN的方案學(xué)習(xí)速度最快,在開放世界和較小的封閉世界中表現(xiàn)最好。文獻(xiàn)[6]所提出的SDAE則整體表現(xiàn)良好。
隨著網(wǎng)站指紋分析的發(fā)展,一些針對(duì)網(wǎng)站指紋分析的防御策略也被提出,使得現(xiàn)有基于網(wǎng)站指紋分析的去匿名化方案失效,研究人員提出了兩種輕量級(jí)的防御措施,WTF-PAD[7]和Walkie-Talkie[8]。但是由于帶寬等現(xiàn)實(shí)問題,這些防御措施無法真正應(yīng)用部署到現(xiàn)實(shí)世界中。
為了抵抗這些防御措施,文獻(xiàn)[9]提出了一個(gè)基于卷積神經(jīng)網(wǎng)絡(luò)CNN的網(wǎng)站指紋分析模型。文獻(xiàn)[9]的準(zhǔn)確率優(yōu)于文獻(xiàn)[2-3, 6]所提出的網(wǎng)站指紋分析方法,在封閉世界的準(zhǔn)確率超過98%。在部署了Walkie-Talkie防御系統(tǒng)的Tor匿名通信網(wǎng)絡(luò)上,文獻(xiàn)[9]的準(zhǔn)確率達(dá)到49.7%,在部署了WTF-PAD防御系統(tǒng)的Tor 匿名通信網(wǎng)絡(luò)上,文獻(xiàn)[9]的準(zhǔn)確率超過90%。實(shí)驗(yàn)結(jié)果表明,文獻(xiàn)[9]提出的網(wǎng)站指紋分析方案能夠抵抗現(xiàn)有的去匿名化防御策略。
3.3 流量關(guān)聯(lián)分析
流量關(guān)聯(lián)分析與網(wǎng)站指紋分析不同。流量關(guān)聯(lián)分析是同時(shí)觀察、截獲并記錄進(jìn)入和離開Tor匿名通信網(wǎng)絡(luò),通過對(duì)流量特征進(jìn)行分析,判定入口中繼和出口中繼的流量是否屬于同一用戶,從而確定特定用戶正在訪問哪個(gè)網(wǎng)站,通過關(guān)聯(lián)兩端的流量對(duì)Tor實(shí)現(xiàn)去匿名化。
傳統(tǒng)的流量關(guān)聯(lián)分析往往依賴于分析發(fā)送方和接收方TCP(Transmission Control Protocol) 的連接流量,而伴隨TCP流量產(chǎn)生的DNS(Domain Name System) 請(qǐng)求則往往被忽略。其中DNS是一個(gè)將域名和IP地址相互映射的分?jǐn)?shù)據(jù)庫(kù),它使人們更容易訪問互聯(lián)網(wǎng)。
文獻(xiàn)[10]認(rèn)為雖然可以利用TCP流量進(jìn)行流量關(guān)聯(lián)分析,但DNS流量為流量關(guān)聯(lián)分析提供了更多的機(jī)會(huì)。文獻(xiàn)[10]量化了DNS和TCP流量的公開程度,并證明了無法觀察截獲到TCP流量的時(shí)候,仍有很多機(jī)會(huì)可以觀察并截獲DNS流量,比如谷歌的DNS根服務(wù)器。
在能夠觀察到TCP流量的情況下,進(jìn)一步使用這種額外的DNS流量可能對(duì)流量關(guān)聯(lián)分析的準(zhǔn)確性影響不大。但是在無法獲取到TCP流量的情況下,使用DNS流量可以大大提高流量關(guān)聯(lián)分析的效果。
文獻(xiàn)[10]整合網(wǎng)站指紋分析和流量關(guān)聯(lián)分析,提出了自己的攻擊模型。首先對(duì)入口中繼節(jié)點(diǎn)處截獲的流量進(jìn)行網(wǎng)站指紋分析,然后將匹配的網(wǎng)站與DNS 流量中的網(wǎng)站進(jìn)行關(guān)聯(lián)。值得一提的是,文獻(xiàn)[10]所提方案對(duì)不太流行的網(wǎng)站有很高的識(shí)別準(zhǔn)確率,因?yàn)檫@種網(wǎng)站關(guān)聯(lián)的DNS集往往是這個(gè)網(wǎng)站獨(dú)有的。
盡管流量關(guān)聯(lián)分析在針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)中占有很重要的地位,但在大規(guī)模應(yīng)用時(shí)需要長(zhǎng)時(shí)間地觀察和捕獲流量,往往是不切實(shí)際的。
文獻(xiàn)[11]認(rèn)為基于統(tǒng)計(jì)算法的流量關(guān)聯(lián)分析技術(shù)無法捕捉到Tor匿名通信網(wǎng)絡(luò)中復(fù)雜的動(dòng)態(tài)噪聲,所以往往識(shí)別的假陽(yáng)率很高。文獻(xiàn)[11]訓(xùn)練了一個(gè)由兩層卷積和三層全連接層組成的神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)流量關(guān)聯(lián)分析。該模型的輸入是數(shù)據(jù)包之間的延遲和數(shù)據(jù)包的大小。在訓(xùn)練完成之后,模型的識(shí)別準(zhǔn)確率優(yōu)于當(dāng)時(shí)最先進(jìn)的流量關(guān)聯(lián)分析方法。與之前的流量關(guān)聯(lián)分析方法相比,文獻(xiàn)[11]可以在短時(shí)間觀察流量數(shù)據(jù)的情況下實(shí)現(xiàn)高精度的識(shí)別。在達(dá)到相同精度的情況下,比現(xiàn)有方法的識(shí)別速度更快。文獻(xiàn)[11]也提出了可能的防御方向:一是想辦法模糊流量特征;二是設(shè)計(jì)一個(gè)新的中繼器選擇機(jī)制來減少?gòu)闹欣^器處截獲流量的機(jī)會(huì)。
4 分析比較
本章系統(tǒng)比較了現(xiàn)有針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)。
4.1 理論攻擊技術(shù)
表1從不同角度比較了現(xiàn)有針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)。第一列是方案,第二列是威脅模型,包括網(wǎng)站指紋分析和流量關(guān)聯(lián)分析,第三列是攻擊算法是基于機(jī)器學(xué)習(xí)還是深度學(xué)習(xí),第四列是使用的去匿名化算法模型,第五列是去匿名化算法模型的輸入特征,最后一列是方案是否能夠抵抗當(dāng)時(shí)的防御策略。
在針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)相關(guān)研究中,很多工作采取了網(wǎng)站指紋分析的方法,而另一部分采用了流量關(guān)聯(lián)分析的方法。網(wǎng)站指紋分析與流量關(guān)聯(lián)分析有著不同的威脅模型在一定程度上是正交的。網(wǎng)站指紋分析主要是對(duì)網(wǎng)站進(jìn)行分類,通常使用傳統(tǒng)的機(jī)器學(xué)習(xí)算法,如k-NN 算法和SVM 算法。流量關(guān)聯(lián)分析的重點(diǎn)是將進(jìn)入與離開Tor網(wǎng)絡(luò)的流量關(guān)聯(lián)起來,以前通常使用基于統(tǒng)計(jì)學(xué)的算法,多利用深度學(xué)習(xí)算法。
網(wǎng)站指紋分析需要獲取的信息比流量關(guān)聯(lián)分析要少。網(wǎng)站指紋分析只需要從入口中繼處提取流量信息就可以進(jìn)行攻擊。流量關(guān)聯(lián)分析則必須同時(shí)從入口中繼和出口中繼提取流量信息才能夠進(jìn)行分析。
雖然流量關(guān)聯(lián)分析的難度更大,但這并不意味著其準(zhǔn)確性更高。在最先進(jìn)的工作中,網(wǎng)站指紋分析比流量相關(guān)攻擊更有效。但是,網(wǎng)站指紋分析只能分類出已經(jīng)訓(xùn)練過的網(wǎng)站,它不能識(shí)別以前沒有訓(xùn)練過的網(wǎng)站。而流量關(guān)聯(lián)分析則沒有這種困擾[11]。因?yàn)閺腡or 網(wǎng)絡(luò)離開的流量是不加密的,如果將相關(guān)的流量連接起來,就可以識(shí)別每一個(gè)網(wǎng)站。
4.2 封閉世界和開放世界性能
表2對(duì)比了不同方案在開放世界和封閉世界的一些結(jié)果,使用了三種評(píng)估指標(biāo):1) 準(zhǔn)確率。即去匿名化地識(shí)別準(zhǔn)確率;2) 真陽(yáng)率TPR(true positive rate) ;真陽(yáng)性樣本數(shù)除以所有真實(shí)陽(yáng)性樣本數(shù);3) 假陽(yáng)率(false positive rate) 。假陽(yáng)性樣本數(shù)除以所有真實(shí)陰性樣本數(shù)。
封閉世界分析:在同樣的條件下,文獻(xiàn)[6]的去匿名化準(zhǔn)確性最低,文獻(xiàn)[9]的準(zhǔn)確率為98.3%,優(yōu)于其他方案。文獻(xiàn)[2-3, 12]在使用了較大規(guī)模數(shù)據(jù)集的情況下,準(zhǔn)確率相比使用較小數(shù)據(jù)集的準(zhǔn)確率提高了2%~4%。
開放世界分析:在開放世界中,不僅要根據(jù)被監(jiān)控的網(wǎng)站對(duì)流量跟蹤進(jìn)行分類,還要區(qū)分被監(jiān)控的網(wǎng)站和未監(jiān)控的網(wǎng)站。開放世界的去匿名化性能可以用TPR和FPR來評(píng)估。文獻(xiàn)[9]在TPR和FRR上始終表現(xiàn)最佳,TPR達(dá)到95.7%,F(xiàn)PR達(dá)到0.7%。文獻(xiàn)[12] 的TPR最差,只有55%,文獻(xiàn)[3]的FPR最差,為8%。
5 未來工作
5.1 提高去匿名化性能
網(wǎng)站指紋識(shí)別的準(zhǔn)確性很大程度上依賴于所選擇的特征和使用的分類算法。在未來的工作中,一方面,要不斷改進(jìn)提取指紋特征的方法,盡可能提取能夠更加易于分辨網(wǎng)站的穩(wěn)定的指紋特征,來應(yīng)對(duì)真實(shí)世界中數(shù)量龐大的網(wǎng)站和不斷變化的網(wǎng)站內(nèi)容。另一方面,由于深度學(xué)習(xí)相對(duì)于傳統(tǒng)的機(jī)器學(xué)習(xí)算法展現(xiàn)出了更好的性能,要不斷優(yōu)化現(xiàn)有的攻擊算法并探索新的基于深度學(xué)習(xí)的去匿名化方法。
現(xiàn)有針對(duì)Tor匿名通信網(wǎng)絡(luò)的去匿名化技術(shù)使用了不同的模型,可以考慮將這些模型結(jié)合在一起。例如,文獻(xiàn)[3]使用RF輸出作為網(wǎng)站的指紋,然后使用k-NN模型進(jìn)行分類。之后的工作可以先利用深度學(xué)習(xí)的模型,例如SDAE模型去提取特征,再利用其他深度學(xué)習(xí)算法進(jìn)行分類,這樣就能提高攻擊的準(zhǔn)確率。除了網(wǎng)站指紋之外,還可以對(duì)協(xié)議進(jìn)行分析,得到協(xié)議指紋,通過協(xié)議指紋去攻擊Tor匿名通信網(wǎng)絡(luò)。
5.2 有效防御機(jī)制
Tor匿名通信網(wǎng)絡(luò)去匿名化的不斷研究對(duì)Tor網(wǎng)絡(luò)的匿名性構(gòu)成了威脅,雖然有很多防御機(jī)制已經(jīng)被提出,比如BuFLO[13],Tamaraw[14]等,但它們往往要求高帶寬和高遲延,因此無法真正在現(xiàn)實(shí)中部署。WTFPAD和Wilkie-Talkie是輕量級(jí)的防御,但是文獻(xiàn)[9]在攻擊WTF-PAD 時(shí)已經(jīng)獲得了90% 的準(zhǔn)確率,其對(duì)WAlik-Takie的攻擊也表現(xiàn)出很高的準(zhǔn)確率。
現(xiàn)有的防御手段大多使用模糊流量特征的方法來應(yīng)對(duì)去匿名化分析,如何做好防御性能與帶寬、延遲等開銷之間的平衡是目前迫切需要解決的問題。因此可以設(shè)計(jì)一種新的中繼器選擇機(jī)制來減少去匿名化分析的機(jī)會(huì),這種機(jī)制是未來工作中可以研究的方向。
6 結(jié)論
本文對(duì)Tor去匿名化技術(shù)從網(wǎng)站指紋分析和流量關(guān)聯(lián)分析兩個(gè)方面進(jìn)行了系統(tǒng)的介紹,并進(jìn)行了一系列的比較?;谏疃葘W(xué)習(xí)的網(wǎng)站指紋分析的性能往往都優(yōu)于基于傳統(tǒng)機(jī)器學(xué)習(xí)的網(wǎng)站指紋分析。流量關(guān)聯(lián)需要必須同時(shí)從入口中繼和出口中繼截取流量,比網(wǎng)站指紋分析所需要的信息更多。未來工作可以著重于提高去匿名化性能和開發(fā)出有效的防御機(jī)制。