張瑾
(北京交通大學計算機與信息技術學院,北京100044)
互聯網在方便人們之間的信息交換的同時,也能被用于跟蹤和監視用戶,個人隱私泄露等安全問題日益嚴重。TOR(The Onion Router)[2]通過多臺服務器路由流量并在每個路由過程中進行加密,以達到在互聯網中隱匿通信雙方身份、避免與監視網絡的人進行通信的目的。
TOR網絡結構如圖1所示,整個系統由用戶、洋蔥代理(客戶端)、中繼節點、目錄服務器、權威目錄服務器組成,擁有7千左右的志愿者中繼節點和數百萬用戶[6]??蛻舳藦闹羞x擇入口節點、中間節點和出口節點來形成一個電路,通過該電路創建與目的地通信的傳輸控制協議流。TOR測量每個節點向網絡提供的實際帶寬,并根據其所提供的帶寬為每個節點分配一個權重值,權重值用于偏置電路的選擇,以便將負載分配給具有更多可用網絡資源的節點。

圖1 TOR網絡結構
TOR匿名通信系統的路由節點選擇技術已經得到了廣泛的研究。Elahiet等人[14]構建了一個基于路由選擇模擬的框架,用于測量TOR的防護機制在抵御特征攻擊方面的表現,主要研究入口節點的選擇策略與中繼級敵手對系統的影響。與前者的技術類似,Johnson等人[1]假設存在一個固定的敵手,并控制一些節點或監視互聯網的一部分,使用從TOR網絡收集的數據在模擬器中重復地對用戶行為進行模擬,從敵手模型、安全度量和拓撲模型等方面來探究TOR在流量相關攻擊下的脆弱性。Li等人[15]提出了通過阻塞用戶防護集中其他的入口節點,僅使其一個入口節點可訪問,在不干擾用戶的正常使用TOR的情況下增加入口節點選擇輪數。但由于頻繁阻塞Guard節點連接,大量的故障會引起TOR和用戶的懷疑并進行異常檢測,此類攻擊并不能持久地進行。
本文主要關注TOR在路由選擇入口節點方面的脆弱性,主要研究在客戶端選路中如何提高植入入口節點被選率問題。如果攻擊者能夠控制電路中的入口和出口節點,就可對用戶進行流量相關攻擊,取消通信雙方的匿名性[5]。入口節點可以知道客戶端和下一跳中繼,而TOR為了防御攻擊者控制入口節點,制定了保護策略,入口節點比出口節點更難被攻擊者控制,研究提高入口節點被選率的問題難度較大且更有意義。針對以上問題,本文研究了在攻擊者總帶寬一定的情況下,對受控惡意入口節點進行有效的分配部署,使客戶端在重新選擇Guard節點時,受控節點才有機會被選為Guard節點,從而提高入口節點的被選擇率,為取消用戶通信的匿名性提供了基礎條件。
為提高用戶長期安全性,TOR設計了入口節點防護機制有效抵御了部分攻擊,通過減小客戶端選擇敵手部署的入口節點的概率,來減輕前驅攻擊、選擇性拒絕服務攻擊及統計分析等攻擊。TOR目錄授權機構會給每個節點在其滿足不同條件要求的情況下分配所對應的狀態標志,Guard標志被分配給正常運行時間至少是熟悉的節點的中間值、貢獻的帶寬至少是250 KB/s的最小值和所有節點帶寬的中間值的節點[11],這也增加了敵手部署惡意入口節點的攻擊成本。入口節點會在具有Guard標志的節點中選擇,所以入口節點也被稱為Guard節點。
客戶端會隨機選擇一組Guard節點作為它的防護集,電路中的第一跳就會從防護集中選擇。一旦選擇其中一個節點作為入口節點,除非節點失效或防護期限到期,否則客戶端建立鏈路時首選主防護節點作為入口節點[13]。TOR入口節點防護機制具有雙面性,防護集默認選三個節點,節點輪換期為3-4個月[12]。一方面節點的防護周期長可以抵御多種流量分析攻擊,降低敵手部署節點的被選擇率,增加敵手的攻擊成本;另一方面如果客戶端不幸地選擇到了惡意節點,那么在長時間的防護期內,客戶端的匿名性則會受到破壞。若客戶端的防護節點從不輪換,那么防護節點參與網絡的時間越長,就會積累更多的用戶,從而導致負載不平衡。以前的研究工作也表明,防護機制的參數——防護集的大小、選擇防護節點的標準以及輪換周期的時長,這些都是影響用戶的隱私安全的因素[7]。
TOR為了進一步平衡網絡負載,緩解高帶寬的Guard節點與Exit節點被頻繁選中的壓力,根據所選節點在鏈路中的位置及網絡狀況采用了可調式帶寬加權隨機選擇算法選擇節點[8]。表1路由節點選擇參數表對TOR路由選擇算法及入口節點選擇概率分析所用到的相關參數進行了定義。根據文獻[3,11],將所有節點加權后得到節點總加權帶寬Bw和加權節點列表bw_list,隨機選擇一個帶寬BR(1

表1 路由節點選擇參數表
在選擇入口節點時使用TOR可調式帶寬加權隨機選擇算法如下:
Algorithm 1:
Input:N,the list of usable router node.Bentry,Bexit,BT.
Output:i,the node was selected from N.
1:Wentry←1,Wexit←1-BT/(3×Bexit),b_w_list←?,
R←0,t←0.
2:ifWexit<0,then
3:Wexit←0
4:end if
5:fori∈Ndo
6:if i have Exit and Guard flag then
7:bw←b[i]×Wentry×Wexit
8:else ifihave Exit flag then
9:bw←b[i]×Wexit
10:else ifihave Guard flag then
11:bw←b[i]×Wentry
12:else
13:bw←b[i]
14:end if
15:Bw←Bw+bw
16:bw_list←bw_list∪bw
17:end for
18:R∈random(1,Bw)
19:for eachi∈Ndo
第四,信息協調聯動機制的構建要以信息網絡系統為支撐,組織之間通過該網絡系統分享信息資源和服務,通過交互規則提高彼此間的有效交互數,網絡指揮中心將收集到的信息同步傳遞給其他相關網絡節點企業,以促使合作伙伴能夠迅速獲得同一信息采取相應的決策行為,最大程度地實現多元主體在時間和空間上的靈活配合互動。
20:t←t+bw_list[i]
21:ift>Rthen
22:returni
23:end if
24:end for
根據上述可調式帶寬加權路由選擇算法,客戶端從可用的入口節點列表中選擇合適的Guard節點。入口節點列表由兩種類型的節點構成:帶有Guard標志的純入口節點和既有Guard又有Exit標志的節點,那么Bentry=BG+BD。由于成為入口節點和出口節點限制較多,導致節點數量較少,其帶寬資源較為匱乏。為了網絡負載平衡,保證擁有足夠的入口帶寬資源,當說明入口節點帶寬稀缺,入口節點不會被用作非入口位置使用,出口節點帶寬稀缺時亦是如此。入口節點權重Wentry與出口節點權重Wexit的計算公式分別為式(1)、式(2)。


上節分析了基于可調式帶寬加權節點選擇隨機算法的入口節點被客戶端選擇的概率,若想攻擊TOR客戶端Guard節點,使受控入口節點的被選率更高,首先要部署高帶寬且穩定的入口Guard節點。本節研究了在總資源有限的情況下,對節點帶寬和個數如何進行合理的分配以最大化資源利用率,使得受控節點被選中的概率更高。
由上節式(3)可得,敵手所部署的入口節點被客戶端選擇的概率為:

若p(BK)是一個關于敵手控制總資源單調遞增的函數,則說明敵手向TOR網絡部署的資源越多,其植入的受控節點被客戶端選中的概率越大。設BK(BK>0)是一個連續變量,對函數p(BK)關于BK求導可得:

采用TORPS[9]在更為真實的TOR網絡模擬環境中對以上理論分析進行模擬實驗。TORPS可以將TOR網絡提供的共識文件和服務器描述符文件轉換為網絡狀態文件作為模擬的輸入[10],根據預定義的用戶行為來模擬鏈路構建中的節點選擇過程。本文使用2019年12至2020年5月共6個月的TOR網絡共識文件和服務器描述符文件作為輸入,圖2展示了TORPS的工作原理。

圖2 TORPS工作原理
本文受控入口節點被客戶端選擇的概率由客戶端入口節點的被成功攻擊的概率進行評估,也就是客戶端首次選擇到惡意受控節點的概率。
(1)向TOR網絡中投入總帶寬資源不同、受控節點數量相同的路由選擇模擬實驗。根據文獻[4]的線性回歸方程y=0.7638x+2908.2712(以KB/s表示節點帶寬)可將TOR共識權重與節點帶寬進行轉換,向TOR中分別部署總帶寬資源為25000、50000、75000、100000的共識權重,受控節點數量都為10。實驗結果由圖3所示,共識權重100000時,客戶端入口節點在6個月中被成功攻擊的概率最高,達到0.055;共識權重25000時,入口節點被成功攻擊的概率最低,為0.029。共識權重越高,客戶端入口節點在6個月中被成功攻擊的概率越高,與上節中的證明相符。
(2)假設敵手擁有總帶寬為BK的入口節點資源,并部署至TOR網絡中,那么如何部署能夠在總資源一定的情況下,植入節點被客戶端的選擇率更高?根據共識權重與帶寬的轉換公式,轉換結果如表2所示。設定受控節點總帶寬資源的共識權重為200000,將總帶寬資源分別平均分配給5、10、20、40、80個受控guard節點,大約占總網絡帶寬資源的1.08%。
模擬結果如圖4(a)所示,在模擬初期客戶端在4種情況下的節點選擇被成功攻擊的概率相近,當客戶端入口節點防護期120天左右,重新輪換選擇新的入口節點,共識權重都為5000的40個節點,客戶端入口節點在6個月中各個時期被成功攻擊的概率最高,達到0.14;權重為40000的10個節點與權重為2500的80個節點,入口節點被成功攻擊的概率相近,在0.13左右;權重為20000的10個節點和權重為10000的20個節點被成功攻擊的概率在0.12左右。當受控節點總帶寬資源的共識權重為400000,將總帶寬資源分別平均分配給10、20、40、80、160個受控guard節點時,如圖4(b)所示,共識權重都為5000的80個節點,客戶端入口節點在6個月中各個時期被成功攻擊的概率最高,達到0.25左右。由此可見,當攻擊總資源一定,受控節點帶寬設置在53.8 Mbit/s左右更易被客戶端選擇。

圖4
本文針對TOR路由選擇技術中入口節點進行了研究,分析了入口節點的安全性。在敵手攻擊資源一定的情況下,對受控惡意入口節點帶寬及數量進行有效分配部署,使得客戶端重新選擇其他入口節點,部署受控入口節點被選擇的概率更高,有效地降低TOR用戶的匿名性。未來的工作是結合有效的節點部署方案,針對入口Guard節點進行主動攻擊,以發現威脅TOR用戶安全及TOR網絡可靠性的安全漏洞。