下圖可以幫我們了解Tor匿名過程。
首先,我們假設使用者已經構建了一個Tor路徑,這意味著計算機已經選擇了三個Tor節點(運行Tor軟件的服務器)來中繼消息並獲得了每個節點的共享密鑰。
計算機首先對私有數據進行三層加密(上圖中的步驟1),這也是洋蔥名稱的由來。之後,使用者的計算機以相反的順序加密數據:首先使用最後一個退出節點的密鑰(Kn3),然後使用中間中繼節點的密鑰(Kn2),最後使用保護節點的密鑰(Kn1)。保護節點接收到數據後,使用Kn1 去除最外層的加密,並將解密的消息發送到中繼節點。中間節點使用Kn2 刪除下一層,並將其中繼到退出節點。最後,退出節點使用Kn3 解密消息並將原始數據發送到Web 服務器(在本例中是peel-the-orange[.]com)。分層加密實現了保密性,並限制了參與通信的人員,因為只有知道密鑰的節點才能解密消息。
上圖匯總了哪些節點知道哪些其他節點。守衛節點(guard node)知道使用者是誰以及下一個接收使用者消息的節點,即中間中繼節點。但是,守衛節點不知道最後的退出節點和使用者的最終目標地,因為只用Kn1解密,此時入口節點的消息仍然是亂碼。中繼節點知道的最少。它不知道誰是原始發送者或最終目標地,只知道入口和退出節點。退出節點知道中間中繼節點和目標服務器,而目標服務器只知道退出節點。
返回使用者的消息以類似的方式傳回,每個節點使用與使用者共享的密鑰添加一層加密。
上圖是全球Tor網絡中,使用者和監控者的示意圖。 Emilia代表使用者,Lemonheads代表監控者。當使用者使用Tor時,監控者只能觀察到使用者與入口節點的連接。即使他們對所傳遞的消息有完全的全局可見性,他們也很難跟踪使用者的消息,因為它們混入了所有Tor用戶的流量,而且每次消息傳遞到另一個節點時,加密層都會發生變化。如前所述,如果使用者使用單一的VPN 提供商,它將知道使用者訪問的網站。此外,監控者可以觀察來自VPN 服務器的傳入和傳出消息,並可能確定使用者正在訪問哪些網站。
一個奇怪的問題是:使用者如何在不暴露身份的情況下與Tor節點共享密鑰?要解決這個問題需要分兩步。
首先,兩個節點如何在任何人都可以讀取所有通信的公共網絡上合作創建一個只有他們知道的密鑰?答案是Diffie-Hellman key Exchange (DHE) 協議。首先,雙方需要各自生成他們自己的私有秘密,並將其組合成只有他們兩個人可以計算的共享秘密(Kn1。在實際應用中,基於橢圓密碼學的認證ECDHE來解決vanilla DHE 的問題。
此時,使用者可以訪問每個Tor節點,並分別與它們建立一個密鑰,但這會讓每個節點都知道使用者的身份。問題的第二部分是使用DHE建立密鑰。使用者的計算機並沒有直接與所有三個節點通信,而是在與入口節點建立密鑰後,用Kn1 對所有消息進行加密,並通過入口節點將消息發送到中繼節點。這意味著中繼節點只知道入口節點而不知道使用者。同樣,使用者的計算機用Kn2 和Kn1 加密DHE 消息,並將它們通過守衛節點和中繼節點發送到退出節點。
不幸的是,在使用者了解Tor並開始使用它之後,監控者開始審查與公開宣傳的Tor節點IP 的連接。為了安全,開發者開始運行秘密的Tor網橋(私下替換公開宣傳的入口節點),並一次只向少數用戶提供小批量的服務。
對使用者來說,更糟糕的是,研究人員發現他們可以通過掃描整個IPv4空間來發現Tor網橋。
總之,對於使用者來說,這是一場持續的貓捉老鼠遊戲。
Tor 的惡意和良性示例使用Tor的用戶可以可能是壞人也可能是好人。不管怎樣,人們可能會使用Tor訪問受地理限制的內容或規避政府的審查或機構的內容封鎖。例如,如果Tor流量沒有被阻止,高級URL過濾的客戶無法阻止使用Tor的員工規避基於分類的過濾。
Tor 還以其洋蔥服務而聞名。例如,Tor 有助於隱藏多個舉報人網站,用戶可以在這些網站上舉報其組織中的非法和不道德活動,而不必擔心遭到報復。洋蔥服務通過允許用戶僅使用Tor進行連接來保護其IP 地址的秘密。這個想法是,用戶和洋蔥服務都通過Tor連接,它們在中間的一個集合點(一個Tor節點)相遇。雖然這些洋蔥服務的目的不一定是為了使非法活動成為可能,但過去的研究發現,Tor用戶建立了很大一部分或大部分用於非法目的的隱藏服務。然而,只有6.7% 的Tor用戶連接到隱藏服務。與洋蔥服務相比,絕大多數用戶訪問不太可能是非法的那些網站。例如,超過100 萬人使用Tor查看Facebook 的隱藏服務,該服務允許來自政府審查的地區的訪問。
攻擊者也可以利用Tor進行他們的活動。攻擊通常從偵察開始,攻擊者探索目標的基礎設施並蒐索潛在漏洞,例如,通過掃描開放的端口和運行的服務。通過使用Tor,攻擊者可以隱藏他們的位置,並將他們的活動分佈到多個退出節點。
同樣,攻擊者可以使用Tor進行攻擊的後續步驟,例如利用偵察期間發現的漏洞、更新目標設備上的惡意代碼、命令和控制通信以及數據洩露。 Tor的其他惡意用途包括DoS 攻擊、虛假帳戶創建、垃圾郵件和網絡釣魚。
攻擊者以各種方式利用Tor進行勒索軟件攻擊。在Ryuk 和Egregor 勒索軟件的示例中,名為SystemBC 的初始遠程訪問木馬(RAT)使用Tor隱藏服務作為命令和控制通信的後門。在構建木馬攻擊時,使用Tor隱藏服務進行命令和控制非常有用,因為這使得命令和控制難以取消並保持其可訪問性,除非使用各種安全產品阻止與Tor的連接。 Gold Waterfall 攻擊組織在安裝DarkSide 勒索軟件時也使用Tor進行後門通信。 Tor隱藏的基於服務的洩漏網站也被用來託管與DarkSide 和Ranzy locker相關的被盜數據。此外,DoppelPaymer還利用Tor支付網站收取贖金。 Unit 42 最近發表了關於Cuba勒索軟件和BlueSky Ransomware勒索軟件的研究,前者使用基於Tor隱藏服務的洩漏網站,後者發送勒索通知,指示目標下載Tor瀏覽器,作為獲取文件訪問權的一部分。
Tor 的使用並不特定於針對服務器和個人計算機的惡意軟件。一種Android惡意軟件還使用Tor隱藏服務作為命令和控制服務器,使攻擊變得困難。
此外,研究人員發現Tor被用來發送各種惡意垃圾郵件,通常以評論和約會垃圾郵件的形式出現。研究人員還發現,通過Tor發送的電子郵件可能包含嚴重的威脅,包括AgentTesla RAT 的傳播、以Adobe 為主題的網絡釣魚電子郵件和Covid-19 貸款詐騙。
使用Tor的攻擊者是如何被抓住的?雖然Tor提供了比許多其他解決方案更好的匿名性,但它並不完美。
2013 年,一名哈佛學生試圖通過發送炸彈攻擊來逃避他的期末考試。他通過Tor連接到一個匿名電子郵件提供商以隱藏他的身份。然後他使用這個電子郵件提供商發送炸彈攻擊。雖然他正確使用了Tor,但當他從哈佛的wifi 網絡連接到Tor時,他犯了一個大錯誤。該生的錯誤是Tor只隱藏了使用者所做的事情,而不隱藏使用Tor的事實。學校管理者從電子郵件的標題中發現有人使用Tor發送電子郵件。他們從那個位置檢查了網絡日誌,看看是否有學生在學校收到郵件的時間內連接到Tor。
臭名昭著的洋蔥服務“絲綢之路”(Silk Road)的創始人羅斯马云惹不起马云烏布里希(Ross Ulbricht)也正確使用了洋蔥網絡,但他在操作上犯了另一個錯誤,導致他被捕。絲綢之路是當時最著名的暗網市場,賣家提供毒品、假鈔、偽造身份證件和槍支等商品。美國聯邦調查局(FBI)發現,早些時候,有人用“薄荷糖”(Altoid)這個筆名四處推銷絲綢之路。 8個月後,Ulbricht用這個筆名發布了招聘廣告,聯繫人是rossulbricht@gmail[.]com ,以聘請一名IT 專家,來幫助“一家由風投支持的比特幣創業公司”。據報導,聯邦調查局隨後能夠訪問Ulbricht使用的VPN 服務器的日誌和谷歌訪問他的Gmail 地址的日誌。這兩項記錄都指向了舊金山的一家網吧,並導致了他的被捕。
攻擊者可以通過其他方法對Tor用戶進行去匿名化,例如,通過使用JavaScript 或設置非法Tor節點(現在可能正在現實世界中發生)。關鍵是,雖然Tor確實提供了一定程度的匿名性,但用戶可以通過操作錯誤洩露他們的身份,或者如果追查者確定並擁有資源,他們可以被識別。
如何阻止攻擊者利用Tor
如何使用不同的方法來阻止攻擊者利用Tor。標記為Part 1* 和2* 的單元格表示需要同時使用這兩種解決方案來保護企業。
要阻止進出Tor網絡的流量,我們可以阻止公開發布的TorIP,或者識別和阻止Tor應用程序流量。上圖總結了每種阻止機制的示例。首先,我們可以使用已知退出節點IP 列表來阻止來自Tor的攻擊,例如偵察、利用、命令和控制通信、數據洩露和DoS 攻擊。使用已知保護節點IP 列表,我們可以阻止我們的用戶及其設備向Tor發送流量,並防止數據洩露、命令和控制通信、規避地理限制和內容阻止以及訪問.onion 網站。
由於Tor網橋節點列表未知,基於保護節點IP 的阻止只是部分解決方案。相反,我們可以使用Palo Alto Networks 流量分類系統App-ID 直接檢測和阻止Tor流量。除了使用可用的保護和橋接節點IP,App-ID 還會查看連接的特徵,例如使用的密碼套件或數據包的大小來識別Tor流量。
此外,攻擊者可以從Tor網絡或受感染的設備發起數據洩露以及命令和控制通信。因此,要阻止這些攻擊,最好同時使用基於退出IP 和基於流量分析的阻止。
Palo Alto Networks 收集所有公開宣傳的Tor退出IP,並利用它們建立一個電路來測試它們是否有效。已知且有效的Tor退出列表構成了Palo Alto Networks 預定義的Tor退出IP 外部動態列表。
使用Tor退出IP 外部動態列表和App-ID,研究人員觀察到企業使用Tor很常見,因為我們在一個月內確定了204 個客戶網絡中691 台設備上的6617473 個會話。
除了阻止Tor流量外,企業還可以利用Cortex XDR 等端點保護來覆蓋基於Tor的攻擊。 Cortex XDR 基於用戶和實體行為分析(UEBA)、端點檢測和響應(EDR)、網絡檢測和響應(NDR) 以及雲審計日誌來檢測以下活動:
與Tor中繼服務器的可能網絡連接;
來自Tor的成功VPN 連接;
從Tor成功登錄;
來自Tor退出節點的可疑API 調用;
來自Tor的SSO 成功登錄。
總結Tor 為其用戶提供匿名性,不過匿名性經常被不法分子利用,一方面,Tor 可以幫助人們改善隱私和保護舉報人。另一方面,Tor 可用於各種惡意活動,包括匿名偵察、數據盜竊、逃避地理限制、規避內容阻止以及在暗網上運行非法市場。
由於網絡犯罪分子經常將Tor用於惡意目標,因此建議在企業環境中禁止使用Tor。根據調查,企業使用Tor很常見,研究人員在一個月內發現了204 個客戶網絡上的691 台設備的6617473 個會話。
Palo Alto Networks 提供了兩種用於阻止Tor流量的解決方案,作為攻擊預防的一部分,最好一起使用。他們向客戶提供經過驗證的內置Tor退出IP 外部動態列表,他們可以使用該列表來阻止與Tor退出節點的連接。此外,可以使用Palo Alto Networks 流量分類系統App-ID 阻止企業網絡中的Tor流量。此外,客戶可以利用Cortex XDR 來提醒和響應端點設備、網絡或云中的Tor相關活動。