freeBuf
主站

分類

漏洞 工具 極客 Web安全 系統安全 網絡安全 無線安全 設備/客戶端安全 數據安全 安全管理 企業安全 工控安全

特色

頭條 人物志 活動 視頻 觀點 招聘 報告 資訊 區塊鏈安全 標準與合規 容器安全 公開課

官方公眾號企業安全新浪微博

FreeBuf.COM網絡安全行業門戶,每日發布專業的安全資訊、技術剖析。

FreeBuf+小程序

FreeBuf+小程序

Tor安全研究:發現客戶端IP地址
2020-09-18 23:39:36

去年2月,我的“Tor洋蔥路由服務”(Onion Service)遭受了一段時間的分布式拒絕服務攻擊(DDoS),我花了好長時間對攻擊進行了分析,并制訂了緩解和防護策略。當時,連我為 Internet Archive (archive.org) 運行的Tor服務也被DDos攻擊中斷了數小時,但頂著攻擊我又設法恢復了正常的運行服務。

為了找到特別的攻擊緩解策略以恢復正常服務,我請教了專業的網絡應急專家朋友,他們中有些是威脅情報方面的大牛,有些是DOS攻擊和C&C節點的追蹤溯源高手,在我的請求下他們都欣然同意了,之后我就向他們提供了我Tor服務的IP地址。

而且,當我告訴他們我的Tor服務IP地址時,我只說了152.19.,還沒說完剩下的IP位,他們就已經知道了我的完整IP地址,我當時就有點吃驚。這......,Tor不是匿名的嗎?你們怎么知道我的IP地址?原來他們一直都在監測著基于Tor節點的DDoS攻擊,而且整理出了一份受害者IP名單,所以他們也不知道這原來是屬于我的IP地址。

事實證明,在互聯網圈子里,一個公開的秘密就是:Tor并不是真正的匿名化服務。

Tor服務架構的威脅模型

網上有很多文檔介紹了Tor如何對數據包進行三重加密,和它如何使用了入口節點(guard)、中繼節點(relay)和出口節點(exit)方式的路徑選擇,以及隨機路徑的混合網絡流量等等。然而,很少有文檔提到Tor服務架構的威脅模型。所以,我在這里就有一個問題:到底誰能看到Tor服務的流量?

要知道攻擊者無處不在:

1、你的網絡服務提供商(ISP)可以看到你電腦到Tor網絡之間的傳輸數據包。就像我之前發現的兩個"Tor 0day"漏洞一樣,這與其中的直接連接或網橋設置無關;

2、連接進入Tor服務的第一跳是入口節點(guard),但是你根本不知道該節點到底屬誰所有,所以該節點的所有者可以看到你的數據流量和連接進來的IP地址,但由于有加密機制,它并不能直接解密數據包;

3、連接進入Tor服務的第二跳是中繼節點(relay),從中可以看到上一跳和將要跳轉的下一跳Tor節點,這里威脅性相對較??;

4、連接Tor服務的最后一跳是出口節點(exit),這里流經了所有的加密網絡流量(但不要指望HTTPS就是安全的),從這里雖然無法判斷出你的接入來源,但可以判斷出你的去向目的,因此,如果要在這里做文章的話,可以在此監控你的流量和去向;

5、上述這些不同的節點之后,還存在著本地的ISP服務提供商,他們也有可能在本地網絡中進行網絡流量監測;

6、用戶經連接Tor服務由出口節點(exit)流向了最終的互聯網服務。

如果某Tor服務網絡中的只有你一人,那么,理論上來說,你很容易受到其他人“上帝視角”的監控,而且他或許還能監測到全球網絡流量。這種全方位的絕佳視角完全可以看出你的一舉一動,從而輕易地識別出你準確的入口節點(guard)、中繼節點(relay)和出口節點(exit)信息。某種意義上來說,Tor服務就像一種打賭游戲,只要有足夠多的用戶和路徑選擇,擁有“上帝視角”的“老大哥”要識別相應的出入節點也比較困難。

上帝視角

上述我們講的“上帝視角”并不完全只停留在理論層面上,如我咨詢DDoS問題的朋友中就有這樣擁有“上帝視角”的人,其中一人聲稱可以看到超過70%的互聯網流量,但他不屬于國家機構或政府組織,只是在一家公司任職而已。

為什么會存在這種情況呢?因為DOS攻擊時有發生,這些公司會與一些大型ISP網絡提供商合作進行全網監測,當觀察到DDoS攻擊時,就能協調處理以及時減輕影響。記?。篋DoS攻擊不只危及目標系統,還會對降低整體網絡速度,且會讓大公司在帶寬開銷上造成損失。一些安全公司可以為ISP服務商降低運營成本,而由此,他們就會得到非常多而全的全球攻擊圖譜,如我朋友所在的Digital Attack Map 和 NetScout。

據我了解,類似Digital Attack Map的公司可以監測大量涉及TOR的DDoS攻擊,因此就儲備了很多TOR節點信息,從中可以看到不同節點的流向信息,因此可以知道我的具體受攻擊IP。

而且,完全不需要什么大流量的DDoS數據包來識別想要的某位用戶或隱藏節點,只需要一個持續的網絡負載就可以搞定。像我在FotoForensics公司看到的,它整個溯源機制就像一張蛇吃步 qiang的圖片一樣:

在Tor網絡中,直到TCP連接結束后客戶端才能更改路徑,也就意味著,在Tor網絡事務中的傳輸路徑是固定的,如果你正在其中通過web連接下載一些小文件,那么這可能不會引起太大的注意,但如果你下載的是如視頻、ISO鏡像等其它類型的大文件,則處于“上帝視角”的那些人就可能通過這種大文件流量觀察到你的路徑信息,然后通過Tor的出口節點關聯到你實際的網絡IP地址。

對于托管的Tor隱藏服務(hidden services)來說,相對來說就更容易了。因為Tor隱藏服務是托管在網絡中的某臺服務器中運行的,這些固定的服務器完全就類似活靶子,服務器會首先接收所有請求流量,再經由服務端處理。如果向一臺托管服務器上傳文件,則服務端處理需要在上傳完全后才能進行。因此,如果擁有“上帝視角”的攻擊者希望能發現你的Tor隱藏服務,則他可以向你的Tor隱藏服務中上傳一個大文件,這種上傳不需要通過你Tor隱藏服務的特定上傳頁面,即使上傳失敗也沒關系。重點是在整個上傳周期內,這些“上帝視角”攻擊者能看到上傳文件的整個流經路徑。

A Lesser God?

不是每個人都有所需要的“上帝視角”,在我與Tor項目組開發人員的討論交流中,他們也明確表示不能抵御全球性的監測或攻擊。在Tor項目文檔中就有這么一段話:

在對匿名架構的理論設計進行威脅分析時,全球性的被動對手(Global Passive Adversary,GPA)是最常見的假設威脅,但是像所有實用的低延遲系統一樣,Tor不能抵御如此強大的對手。相反,我們假設對手可以觀察到網絡流量的一部分,可以生成、修改、刪除或延遲流量,能操作他自己架設的Tor路由,也能入侵Tor路由的某些部分。

所以,那么到底哪些部分Tor路由是能被這樣的對手入侵呢?是10%的入口節點嗎?

Tor研究人員Nusenu上個月的分析報告中指出,一位惡意行為者近期設法創建了大量的出口節點,這些出口節點處理了Tor網絡中將近24%的出口流量。這不是說你的你Tor服務有24%的時間在使用這些節點服務,因為Tor客戶端約10分鐘就會更改一次路徑。因此,你的Tor初次使用時,有24%的可能會選擇到該惡意行為者創建的出口節點,10分鐘后切換為其它路徑且使用時長為10分鐘。因此,前20分鐘使用該惡意行為者創建的出口節點的概率為42% (100% - 76%×76%),30分鐘后的概率為56%,一小時后,達到80%,兩個小時后是96%,依此類推,也即你使用Tor服務的時間越長,他們看到你出口流量某些部分的可能性就越大。

在Nusenu的分析報告中,他提到該惡意行為者創建的出口節點占據了Tor服務中近10%的入口節點。我計算方式如下:
1、在Tor服務中,每個出口節點也是一個中繼節點,還有很多出口節點也能當入口節點;

2、近期,我發現了3,244個已知的入口節點和1970個已知的出口節點(只以IPv4地址計算),其中,1372個節點既是入口節點也是出口節點,它們占到3,244節點的42%,也就是說42%的入口節點也是出口節點。

3、也就是說上述惡意行為者創建的24%的惡意出口節點都屬于這些節點中的一部份,他們占到了將近10%。
在Tor服務中,入口節點不會經常變化,因此,如果按照上述Nusenu的分析來看,每10個Tor連接服務中就有1個用到了惡意者創建的節點服務,而且,如果連接時間夠長,那么惡意行為者就有可能識別關聯出用戶的出口流量路徑。

A Teeny Tiny God?

如前所述,Tor項目組聲稱要防御“可以觀察到部份Tor網絡流量的對手”,但按照我的理論來看,Tor項目組不能抵御擁有“上帝視角”的人,甚至無法抵御那些控制了10%入口或出口節點的惡意行為者。

由于每個入口節點也可是中繼節點,可以結合這種入口節點,通過客戶端網絡地址和公共已知Tor節點的比較,區分出實際的客戶端用戶。另外,如果傳入某節點的流量來自另一個Tor節點,那么該節點就是一個中繼節點,否則,該節點就是入口節點。

通過入口節點無法實現流量解密,只能進行監測。但幸運的是,對攻擊者來說,正常Tor用戶產生的網絡流量可以被動監測到,且與隱藏服務產生的網絡流量不同,比如:

初始連接延遲:對于正常用戶來說,Tor守護啟動后會建立路徑,然后會在用戶Tor瀏覽器啟動時會有個暫停,再生成Tor流量;如果是一些機器人式的自動啟動程序,可能會沒有暫停間隔,且可以在執行掃描、攻擊或信息收集等自動任務時有穩定的Tor流量;

Tor隱藏服務啟動方式相同,但當完成服務注冊后會有快速的流量傳輸,在等待第一個人連接到Tor隱藏服務時會產生一個暫停緩沖;

持續時間:大多數用戶似乎都是啟動Tor客戶端來使用的,然后在完成后將其關閉。相反,機器人式的自動程序bot和隱藏服務通常會延長運行時間。

這也就是說,從入口節點處可以知曉用戶的網絡地址,并可以被動監測到用戶端是否是真人、自動程序bot或是隱藏服務。

那退一步講,如果你沒用到惡意行為者的入口節點就是安全的了嗎?我認為不。我自己托管的Tor隱藏服務經歷了十多次大大小小的DoS攻擊,其中一次攻擊就比較有意思:攻擊者控制了一個或多條惡意路徑,并且可以識別到我使用的具體入口節點,如果我不連接到他們控制路徑上的入口節點,他們就會DDoS我連接的入口節點,直到我下線。之后,我的Tor守護進程就會自動選擇其它節點,以此反復,最終就會選擇到他們的惡意節點。

根本性的安全缺陷

這篇文章中對Tor的攻擊手法絕非新穎或奇特,早在2012年就有論文對長時間Tor連接跟蹤的方法研究,2013年的論文介紹了對匿名服務進行匿名處理的方法。盡管這些方法很古老,但由于一直沒有相應的解決方案,因此被歸類為了0day攻擊。

這些安全問題代表了當前Tor體系結構的根本缺陷,人們通常認為Tor為用戶和隱藏服務提供了網絡匿名性,但實際上Tor僅提供了表面上的匿名性而已,它并不能避免端到端的關聯,并且攻擊者只要控制了一個入口節點,就有可能實現隱藏服務中的關系識別。

總結

目前,在Tor 0day系列文章中我連續發表了《如何探測接入Tor網絡的用戶》、《如何發現所有Tor網橋》以及《如何追蹤Tor網橋用戶》,本文著重介紹了從Tor網絡中識別出用戶客戶端身份的不同情況,而且可通過出口節點流量映射出終端用戶網絡地址的可能。所有這些Tor服務的安全問題和漏洞都在可行和可利用范圍之內,隱患都這么多了,Tor還是安全匿名的嗎?

參考來源:hackerfactor

本文作者:, 轉載請注明來自FreeBuf.COM

# tor # 安全研究
被以下專輯收錄,發現更多精彩內容
+ 收入我的專輯
評論 按時間排序

登錄/注冊后在FreeBuf發布內容哦

相關推薦
  • 0 文章數
  • 0 評論數
  • 0 關注者
登錄 / 注冊后在FreeBuf發布內容哦
收入專輯
777766香港开奖结果 小说 江西十一选五基本走势图 内蒙古快三开奖时间 福彩p62怎么算中了 山东体彩十一运夺金11选五 甘肃十一选五100期走势图 全国股票配资合作 体彩安徽11选53 贵州11选5前二组遗漏 华亿配资 安徽11选5前三直遗漏