無界之地,生死之門——Tor

歷史背景

1995年,美國軍方希望軍事情報機構可以讓情報人員的網上活動不被敵對國進行監控,從而可以秘密的進行開源情報收集。於是,美國海軍研究實驗室的科學家開始開發一種匿名技術,可以避免人們的行跡在Internet上被追蹤到。他們把這個技術叫做“洋蔥路由”。“洋蔥路由”利用P2P網絡,把網絡流量隨機的通過P2P的節點進行轉發,這樣可以掩蓋源地址與目標地址的路徑。使得在Internet上難以確定使用者的身份和地址。

可以看出Tor最初始並非為保護大眾的隱私而開發,Tor的大眾化應用是由於Tor網絡如果單純的只提供給情報部門使用的話反而使得流量不能安全(Tor網絡上的所有流量都是情報部分的機密數據, 人們一看到來自這個系統的流量就知道,啊,這是一個CIA的間諜)。所以,為了將情報部門的流量進行混淆就將Tor開放給大眾,這樣情報流量就很好的隱藏了。

匿名原理

首先,瞭解一下日常生活中我們的上網流量是怎麼樣進行路由處理的,簡化版上網流量傳輸模型如下(PC/客戶端 ==> 家庭路由器 ==> 骨幹路由器 ==> 數據源/網站服務器):

無界之地,生死之門——Tor

上網流量路由示意圖

有網絡基礎的朋友應該知道流量報文中包含了的請求來源和目的地,它才能將網站服務器的響應準確的返回你的上網PC。這樣的話,從網絡截取的流量就可以輕鬆的追蹤到你的IP地址,進一步通過電信局的IP分配記錄就可以找到真實的你“查水錶”了。

而洋蔥路由器要解決正是為了解決上述的問題:中間人即使在Internet上截獲通信的流量也無法判定通信的源頭與目的地。

無界之地,生死之門——Tor

Tor網絡示意圖

洋蔥路由的原理就好像你送一封匿名信,不是自己送或者通過郵差送,而是大街上隨便找一個不認識的人讓他幫你送。這樣收信方就很難往回找到你。

實現原理描述:Tor網絡由大量的志願者貢獻自己的PC/服務器運行洋蔥路由協議的節點(node)而組成,Tor客戶端(如嵌入Tor的瀏覽器)隨機的從Tor網絡中選取3臺路由器形成一個私有網絡路徑傳輸加密的流量,每臺節點路由器只知道數據送往的一下跳,而不知道發送流量的來源。這樣就保證了這3個節點沒有誰知道完整的流量傳輸路徑。也就是說,Tor網絡將流量的源地址與目的地址進行了隔斷,從而無法根據截取的流量進行源地址追蹤。

當前Tor網絡檢測方法

當前對Tor網絡的攻擊檢測一般有以下幾種方法:

1.控制出口節點,篡改未加密流量。網站如果沒有使用HTTPS協議則出口節點可以看到並篡改明文信息。

2.指紋攻擊。Tor網絡的數據加密阻止了節點查看用戶在線活動,但是控制入口節點後仍可以根據流量的包長度和時序特徵分析推斷用戶正在訪問什麼網站。

3.端到端的關聯。攻擊者需要至少運行一個入口節點和一個出口節點,利用入口節點的身份識別能力和出口節點的信息識別能力相關聯分析出某用戶正在訪問某網站。

4.收集網橋地址。在一些限制使用Tor上網的地方用戶會使用私有的網橋跳轉到Tor網絡中,這些網橋不被公開所以沒法限制。攻擊者也可以通過運行一箇中繼節點專門收集不是公共入口節點的網橋地址。

關於tor詳細的學習教程 在網絡黑白有詳細的講解 ,有興趣的可以看看。

以上方法都屬於主動探測,攻擊者需要控制少數節點獲取流量信息,第一,少數節點難以被Tor客戶端隨機選中,第二,Tor項目對所有 Tor節點通過在線情況進行投票標識flag(包括Stable、Valid 、Exit、BadExit、Valid、 Fast等),只有穩定節點被選取的機會大。為了掌握更多的流量信息,一些攻擊者實施Sybils攻擊,即控制更多的Tor節點,這對資源有限制。因此對 Tor網絡的主動攻擊還是很困難的。

Tor(洋蔥網絡)匿名的惡意使用

勒索軟件利用Tor

勒索軟件是一種可控制用戶系統或資產,並以此為條件向用戶勒索錢財的惡意軟件。

2017年5月12日,WannaCry蠕蟲通過MS17-010漏洞在全球範圍大爆發,感染了大量的計算機,該蠕蟲感染計算機後會向計算機中植入敲詐者病毒,導致電腦大量文件被加密。

病毒WannaCry,病毒利用前陣子洩漏的方程式工具包中的“永恆之藍”漏洞工具,進行網絡端口掃描攻擊,目標機器被成功攻陷後會從攻擊機下載WannaCry病毒進行感染,並作為攻擊機再次掃描互聯網和局域網其他機器,形成蠕蟲感染,大範圍超快速擴散。

病毒母體為mssecsvc.exe,運行後會掃描隨機ip的互聯網機器,嘗試感染,也會掃描局域網相同網段的機器進行感染傳播。此外,會釋放敲詐者程序tasksche.exe,對磁盤文件進行加密勒索。

病毒加密使用AES加密文件,並使用非對稱加密算法RSA 2048加密隨機密鑰,每個文件使用一個隨機密鑰,理論上不可破解。

主要分為兩類:

加密型勒索:感染目標設備後通過強大的加密算法(AES、RSA等)將用戶文件、磁盤、數據庫進行加密。

鎖定型勒索:感染目標設備後通過篡改設備密碼將設備鎖定,使得用戶無法正常使用。

近幾年,勒索攻擊事件愈演愈烈,勒索軟件在全球範圍內猖獗。CyberEdge公司發佈2017年度網絡威脅防禦報告,報告中指出有61%的組織受到過勒索軟件的侵害,其中1/3的用戶選擇了支付贖金。勒索軟件不斷呈現新的態勢,在目標感覺階段、本地攻擊階段、勒索支付階段的複雜性和多樣性一直在增加。其中,在本地攻擊階段和勒索支付階段分別使用了Tor。

在本地攻擊階段勒索軟件使用Tor隱藏C&C服務器,如CTB-Locker[5]。用戶被感染後CTB-Locker利用不可破解的EllipticCurve Diffie-Hellman算法對文件進行加密,所有通信和數據傳遞都通過Tor網絡來進行,C&C服務器使用Hidden Service,使其更加難以追蹤和關停。用戶不需要安裝有Tor瀏覽器,Tor的可執行程序被硬編碼到惡意軟件中。

在勒索支付階段使用了Tor網絡提供支付比特幣贖金地址,如CryptoWall3.0和PETYA ransomware,勒索信息裡會包含一條以“.onion”結尾的鏈接地址,告知用戶交易地址,這樣很難被追蹤,即使沒有解密也難以追回贖金,但是勒索者在這方面都具有驚人的良好信用。

黑市交易

Tor網絡不僅可以隱藏發送者的地址信息,也可以隱藏接收者的服務器地址信息。很多黑市商人利用Tor網絡搭建匿名服務器進行黑市交易,著名的“絲綢之路”就是利用Tor網絡的犯罪市場。雖然“絲綢之路”已被查封,但是暗網中仍然存在大量的黑市交易產業。

Tor的應用在一定程度上會給惡意應用者帶來隱蔽性,但是由於Tor本身的流量特殊性以及去匿名化的研究越來越多,Tor的附加應用不一定會帶來更好的效果。

Botnet利用Tor

殭屍網絡作為最有效的網絡攻擊平臺,給互聯網安全帶來了巨大的威脅。隨著攻防技術的不斷研究,殭屍網絡的形態和控制命令機制也在不斷變化[1]:

(1)首先是IRC機制,中心化結構但是有單點故障問題;

(2)P2P結構,解決了單點故障問題,但是無法監視命令狀態,實現又很複雜;

(3)HTTP協議的botnet,又不斷改進為動態訪問機制的Fast-Flux和Domain-Flux。

殭屍網絡利用Tor進行匿名通信首次被提出是在2010 DefCon大會上,以“ZeuS”為例將C&C服務器部署於Tor暗網中,但是它不支持代理,不能直接使用Tor,但是可以通過設置URL使用tor2web代理服務進行訪問暗網。這樣以最小的代價提高了botnet的存活性,Tor網絡配置簡單,只需提供一個.onion地址就可以實現隱藏C&C。

Botnet over Tor

直到2012年12月“Skynet”的出現驗證了“Botnet over Tor”的思想。Botnet主要利用Tor的隱藏服務功能隱藏C&C服務器,並在惡意程序中包含Tor程序,通過下達指令使bot自動安裝Tor組件,進而通過Tor網絡進行通信(如圖3)。控制者將所有命令與控制信道都在Tor網絡中進行,這樣的好處有:

(1)不存在出口節點洩露信息的威脅;

(2)控制者身份不易被追蹤和暴露;

(3)C&C服務器幾乎可以免除被關閉或刪除。

隨後2013年隨著Tor用戶量的異常增加,“Sefnit”[2]殭屍網絡出現了,也是通過Tor隱藏C&C服務器,之後Tor項目對該版本的Tor(惡意代碼隨意執行無驗證漏洞)進行升級,微軟更新安全組件、掃描工具等進行清理惡意程序。2014年又出現了首個基於Tor的Android殭屍網絡隱藏C&C進行通信。

利用Tor的botnet弊端

(1)Botnet大量使用Tor,導致Tor的下載速度下降、Tor的用戶量劇增,必然會引起Tor用戶的關注和安全專家的研究;

(2)使用Tor訪問需要安裝、配置和運行Tor,導致botnet的網絡異常;

(3)Tor本身的流量特徵模式也比較明顯,增加botnet的異常性;

(4)使用Tor可能需要增加額外的大量功能代碼;

(5)使用Tor後botnet仍然面臨著Crawling攻擊和Sinkholing攻擊。

可見botnet和Tor的強強聯合沒有並帶來更好的效果。

比特幣利用Tor

比特幣是一種在P2P網絡裡進行交易的基於密碼學的分散式虛擬貨幣。比特幣交易系統裡的付款人和收款人的交易地址都是公鑰編碼後的哈希值,所以一般不可識別。但是可以通過IP地址與你的交易聯繫起來,如通過ISP、NSA、惡意節點攻擊等方法。所以Tor被用到比特幣中防止交易方的IP地址洩露。

但是,比特幣通過Tor進行交易並不是一個好的想法,很容易被攻擊者利用。

首先,在比特幣網絡中,如果比特幣節點收到惡意構造的畸形消息(如某些協議字段的大小不正確),通過其內部機制的判斷,會將消息發送者的源IP地址加入黑名單中,導致該IP在24小時內無法訪問該比特幣服務節點。

攻擊者的攻擊流程如下:

(1)分別構造少量惡意的比特幣節點和Tor出口節點,並向各自所在網絡中宣傳,讓普通用戶的地址列表中存在這些惡意節點。

(2)攻擊者通過Tor網絡向合法的比特幣服務節點發送大量惡意構造消息,導致Tor網絡正常的出口節點被比特幣服務節點拒絕訪問。

(3)用戶通過Tor網絡訪問合法比特幣節點時,如果選擇了被拒絕訪問的Tor出口節點則不得不重新選擇訪問鏈路。此時用戶可能會選擇攻擊者構造的惡意Tor出口節點,或者Tor出口節點是合法的,但最終指向了攻擊者部署的惡意比特幣節點。

以上兩種可能都實現了中間人攻擊,可見Bitcoin利用Tor隱藏地址會出現新的風險。

Tor出口節點嗅探流量

Tor網絡在設計之初,只是為了隱藏發送者和接收者的位置信息,並沒有對內容信息進行隱藏,網站可以使用HTTPS對其加密。但是很多網站仍然使用HTTP協議構建網絡,這給Tor網絡的出口節點製造了嗅探流量的機會。利用蜜罐技術可以識別惡意出口節點。

(1)研究者在實驗中[6]部署一個蜜罐網站,並且設置訪問權限。

(2)通過正常的Tor網絡訪問該蜜罐網站,每次訪問都分別使用唯一的用戶名密碼賬號信息,並記錄出口節點IP地址及其他信息。

(3)如果該網站被登錄過的用戶名密碼再次訪問說明賬號信息洩露,該賬號對應的Tor出口節點已嗅探流量,視為惡意出口節點。

實驗證明在1400個出口節點中存在7個惡意嗅探流量的節點,畢竟大多數的志願者是友好的。另外,Tor的出口節點也有可能修改用戶請求數據或插入惡意代碼實施中間人攻擊,該種情況可以通過比較使用Tor網絡訪問網站和不使用Tor網絡訪問相同網站的響應數據是否一致,如果不一致即說明出口節點可能實現了中間人攻擊。


分享到:


相關文章: