[原創]密碼朋克的社會實驗(一):開燈看暗網

雲鼎實驗室發表於2019-02-18

……

2018年3月8日,某影片網站800餘萬使用者資料在暗網銷售
2018年8月1日,某省1000萬學籍資料出現在暗網
2018年8月28日,某酒店集團5億資料疑似在暗網出售
……

本年度最嚴重的幾次資料洩漏,都指向了同一個詞——「暗網」。在中文的語境裡,這是一個猶如「月黑風高夜」般的詞彙,透著詭秘和犯罪的氣息。而與「暗網」關係最密切的另一個詞,則非「駭客」莫屬。「黑」與「暗」的組合,意味著高超的匿名和隱身技巧,令人忍不住想揭開它精巧的面紗。

暗網是什麼

要解釋暗網,先給整個網際網路做一個簡單的分層定義,如圖:

[原創]密碼朋克的社會實驗(一):開燈看暗網

| 圖片來源網路

表網(Surface Web)

通常認為,普通使用者或者搜尋引擎能直接訪問的內容屬於表網。表現形式為網頁或者 APP 提供的內容。

深網(Deep Web)

指不能被標準搜尋引擎檢索到的網路資料。通常是儲存在各公司或組織的資料庫中,需要用專有的介面查詢或乾脆不對外查詢,例如 Google 的後端資料庫。深網資料量遠大於表層網路,猶如海面和大海的關係。

暗網(Dark Web)

需要透過特殊的加密通道訪問的網頁或資料。暗網通常具有匿名的特性,既保證訪問者的匿名,同時也保證服務提供者的匿名。因此,其中充斥著各種犯罪資訊和違法交易(槍支、毒品、色情、暴恐、駭客等)。

暗網有多個不同的實現版本,下文我們說暗網特指「Tor 網路」。

網路上有些說法說暗網遠大於表層網路,其實很不嚴謹,是把深網和暗網混為一談了,真實的暗網只有一小部分人使用,遠小於大眾使用的表層網路。

誰創造了暗網

➢ 密碼朋克

故事要從90年代的一個極小眾群體說起——「密碼朋克」。這是一個由頂尖數學家、密碼學家和程式設計師組成的群體,他們關注「匿名、自由、隱私」,其中許多人抱著自由主義和無政府主義的理念,並在美國掀起了「加密無政府主義運動」,他們以密碼學和網際網路為武器,與強權展開直接對抗。

正是這群人,創造了許多加密技術和協議,也奠定了網際網路的許多底層技術和通訊協議,從加密郵件到 HTTPS,從 RSA 到區塊鏈,等等等等。

[原創]密碼朋克的社會實驗(一):開燈看暗網

| 圖片來源網路

➢ 國外政府部門

花開兩朵,密碼朋克們希望保護自己的資訊和隱私不被政府獲取;而政府同樣也有這個需求,甚至更強烈得多,因為他們要保證情報的傳輸安全,同時要保護情報人員傳遞資訊時無法被網路追蹤。因此,1995年,美國海軍研究實驗室也進行了匿名網路的相關專案研究,這也就是暗網的前身。

2004年,「Tor 洋蔥網路」正式對外發布,意味著普通使用者也可以使用匿名網路技術來保證自己的匿名性。也就代表著「暗網」這個概念正式走向公眾。為什麼叫洋蔥網路,因為其中的通訊內容被三重加密,像洋蔥一樣,剝開一層還有一層。

[原創]密碼朋克的社會實驗(一):開燈看暗網

Tor 網路雖然理論上比較安全,但其中的中轉節點是由志願者部署,如果掌握了其中足夠的節點,也是有機率進行完整通訊追蹤的。而且這畢竟是孵化自美國海軍的一個專案,是否有一些精心構造的安全缺陷,難以確認。

暗網上的資料洩露

一個能保證訪問者和服務提供者都匿名的網路,天生就是法外之地。

因此,各路違法資訊交流充斥暗網,尤其是2011年後,由於比特幣技術的興起,暗網終於從「匿名的資訊交流」進化到了「匿名的價值交換」階段,這個顛覆性變革,隨著「Silk Road」的建立(絲綢之路:可以理解為基於比特幣的暗網淘寶),掀起了違法交易的高潮。當然,大概同時也掀起了 FBI 相關部門的加班高潮。

很巧的是,同樣是2011年底,國內發生了一輪標誌性的大規模的使用者資料洩漏事件,之後各種資料洩漏就成為了每年的常態。早期此類資料交易往往是駭客私下交易,而近年來逐漸被搬到暗網進行交易。為此,騰訊安全雲鼎實驗室對暗網的主要交易平臺進行了監測,並抽取了近幾個月針對國內使用者的資料洩漏的情況進行了統計。

[原創]密碼朋克的社會實驗(一):開燈看暗網

可以看到,近期洩漏資料,主要以網購/物流/身份證/酒店/社交帳號資料為主。

暗網上的業務

暗網最大的幾個市場均在近年被 FBI 搗毀,如 Silk Road、AlphaBay,因此,2017年來暗網黑市有所收斂,並不如前幾年火爆。我們統計了目前存在的幾大市場商品分類,可以看出,毒品/藥物類還是佔據了超過50%的份額,海外使用違禁藥物的情形非常嚴峻,其次是數字商品類,並充斥著各種色情、駭客、槍支、護照、假鈔等違法內容。

[原創]密碼朋克的社會實驗(一):開燈看暗網

暗網匿名原理

暗網最重要的作用是保證匿名,其匿名性體現在兩個方面:

  • 訪問普通網站時,網站無法得知訪問者 IP 地址。
  • 提供暗網服務時,使用者無法得知伺服器 IP 地址。

兩個能力加起來則保障了暗網使用者訪問暗網網站時,雙方都無法得知對方 IP 地址,且中間節點也無法同時得知雙方 IP 地址。

聽起來挺科幻的,畢竟我們平時使用的 VPN 等科學上網技術只使用了一層跳板,而 Tor 技術使用了三層跳板。

關於 VPN 的原理,可以參考下圖:

[原創]密碼朋克的社會實驗(一):開燈看暗網

VPN 原理圖解 | 圖片來源網路

下面對暗網匿名原理進行詳細解析:

➢ 訪問普通網站

先來看一個真實訪問普通網站的跳轉情況:

[原創]密碼朋克的社會實驗(一):開燈看暗網

從上圖可以看到,我們使用瀏覽器訪問 google.com,但中間經過了3個節點 IP 地址,分別在匈牙利、西班牙、德國,然後再訪問到谷歌的伺服器。

Tor 使用者針對普通網站訪問流程,如下圖所示。Tor 網路中的每個節點都是隨機選取,且每個節點看到的資訊不超過一跳,所以透過網路流量監控嗅探到的 Tor 流量不能同時獲取通訊兩端的 IP 資訊;且每一個節點處都是加密形式。這裡隨機選取的三個節點的功能順序是:入口節點、中間節點、出口節點;資料流方向為:客戶端、入口節點、中間節點、出口節點、WEB 伺服器。

[原創]密碼朋克的社會實驗(一):開燈看暗網

Tor 網路有其特有的加密方式--三層金鑰加密。三層金鑰的建立是在網路請求的初始,當和下一個節點連線時建立一對非對稱金鑰,三個隨機節點共建立了三對金鑰並將公鑰回傳到客戶端。資料經客戶端三層金鑰加密後,進行Tor 網路的傳輸,每經過一個節點,便解開一層加密,順序依次為:入口節點解開第一層加密,中間節點解開第二層加密,出口節點解開第三層加密。透過層層加密讓流量監控無法嗅探明文資料。

➢ 訪問匿名網站

先來看一次真實訪問匿名網站的跳轉情況:

[原創]密碼朋克的社會實驗(一):開燈看暗網

從上圖可以看到,我們透過瀏覽器嘗試訪問一個奇怪的域名(uffti3lhacanefgy.onion),但和前面普通網站不一樣的是,中間經過了6個節點,其中前3個可見 IP,另外3個命名為 Relay,然後再訪問到那個奇怪的域名。

這個訪問匿名網站的流程比較複雜,在普通網際網路上,當我們知道網站域名時,透過 DNS 協議解析到 IP 地址,然後訪問。但 Tor 網路域名是 .onion 為字尾,並不是使用普通的 DNS 方式來解析,而是使用下面的方法。

[原創]密碼朋克的社會實驗(一):開燈看暗網

下面我們結合 torproject.org 網站介紹的洋蔥服務協議、業界約定俗成的各個環節的名稱、及上面的原理圖進行 Tor 訪問匿名網站的原理覆盤。在原Tor網路上增加了承載暗網網址導航功能的目錄資料庫(DB),暗網伺服器選定的允許與其通訊的介紹點(Introduction point),及進行兩端資料傳輸的最終會合點(Rendezvous point)。原理圖中的每一步連線,都是建立在 Tor 網路的三跳連線之上,杜絕流量監控嗅探到明文資料。下面我們瞭解一下訪問匿名網站的過程。

Step 1: 暗網伺服器連入 Tor 網路,並隱匿IP資訊

這一步是透過介紹點來完成,方法是暗網伺服器選取若干節點充當介紹點,建立Tor線路;並以介紹點充當影子功能,隱匿IP資訊。

Step 2: 暗網伺服器透過向目錄資料庫註冊,公示自身的存在

這一步是透過目錄資料庫來完成,目錄資料庫收錄了各個暗網伺服器上傳的自身標識(公鑰、對應介紹點摘要等),這些標識以自身的私鑰簽名。暗網伺服器的域名(例:uffti3lhacanefgy.onion)由公鑰派生。

Step 3: 客戶端獲取暗網網址對應的標識資訊,拿到網址對應的公鑰與介紹點

這一步是客戶端透過Tor線路訪問目錄資料庫拿到的結果,此外還進行標識的篡改驗證。

Step 4: 客戶端隨機選取節點構建會合點,為後續與暗網伺服器傳輸資料做準備

這一步是會合點的生成,除為選取的會合點建立Tor線路外,同時會合點還會收到一次性「驗證資訊」,用來校驗暗網伺服器。

Step 5\6: 客戶端透過介紹點,通告暗網伺服器會合點的地址和「驗證資訊」

這一步的核心是讓暗網伺服器知道會合點的存在,媒介是客戶端在目錄資料庫中獲取到的對應暗網網址的介紹點,同時傳遞了後續用來對接驗證的「驗證資訊」。

Step 7: 暗網伺服器透過Tor線路連線會合點,最終與客戶端達成資料傳輸

這一步暗網伺服器也透過Tor線路與會合點建立連線,但兩端還未達成真正的通訊,必須進行「驗證資訊」的核實,當真正驗證成功後,才能達成真正的通路。

經過以上覆雜流程,客戶端和暗網伺服器建立通訊成功,形成一個上面截圖的六跳連線,併成功保證了雙方的匿名性。

Tor 網路節點

從前面可以看到,暗網的匿名性基於其眾多的節點,但如果部署足夠多的節點,是否就能探測到雙方的 IP 地址和通訊資料呢?先來看看暗網節點的情況。

➢ 節點介紹

暗網節點一共分為以下3類:

1)入口節點/中間節點

入口節點和中間節點沒有本質的差別,通常各 IDC 運營商都允許伺服器被部署為入口節點和中間節點,新節點上線只能是中間節點,當穩定性和頻寬都比較高時,才允許被升級為入口節點。

2)出口節點

出口節點從技術上看和入口節點一樣,但通常 IDC 運營商是不允許伺服器部署出口節點的,因為如果引發了犯罪行為,由於無法進行往回追蹤,會導致運營商背鍋。因此,出口節點通常是學術機構、ISP、科研單位、公共圖書館等才會部署。

3)網橋

由於入口節點是公開的,因此很容易被封鎖。為了保證這些地區的人也能訪問 Tor 網路,還存在一個秘密的入口列表,稱之為網橋節點。這個秘密列表每次只可以查詢到3個入口節點,透過一些機制保證不能簡單被遍歷,以此來對抗封鎖。

➢ 節點資料

截止當前,目前執行的 Tor 節點數量大概有7500,普通節點大約6500,網橋節點接近1000。 

[原創]密碼朋克的社會實驗(一):開燈看暗網

普通節點中,入口節點(Guard)大約2400,出口節點(Exit)大約800多。 

[原創]密碼朋克的社會實驗(一):開燈看暗網

從這個資料來看,假設我們在「入中出」三類節點中各有一臺機器,能檢測到完整資料的機率大約是 1/(3400 * 800 * 3300) = 1/8976000000。大約是九十億分之一。

其中大多數節點主要分佈在歐美國家。 

[原創]密碼朋克的社會實驗(一):開燈看暗網

➢ 節點詳情

完整的公開節點列表可以在以下網址查詢到 https://torstatus.rueckgr.at/,雲廠商可以根據這個列表進行自查。

[原創]密碼朋克的社會實驗(一):開燈看暗網

(部分節點詳細資料)

Tor 使用者

全球每天使用 Tor 網路的使用者基本穩定在200萬人,相對於數十億的網際網路使用者,其實非常小量,而其中訪問暗網匿名網站的使用者更是其中的一小部分。

[原創]密碼朋克的社會實驗(一):開燈看暗網

暗網使用者分佈國家 TOP10。


[原創]密碼朋克的社會實驗(一):開燈看暗網

其它平行網路

前面說過,Tor 網路只是暗網的一個實現版本,其他的還有 Freenet 和 I2P 網路,但使用者量遠遠低於 Tor,因此僅作了解就好。

近年來由於區塊鏈技術的發展,又出現了一種基於區塊鏈技術的分散式匿名網路,其典型例子是 ZeroNet(零網)。

[原創]密碼朋克的社會實驗(一):開燈看暗網

具體用法可以參見官網,https://zeronet.io,用來搭建自己的網站,不但匿名,甚至無需伺服器。


寫在最後:

技術本身是中立的,尤其是在密碼學的領域,一方面保障著整個網際網路的安全和信任基礎,一方面也包庇了暗網下的種種犯罪。Tor 網路也一樣,一方面為大眾提供了一種安全的匿名方案,一方面也為非法交易提供了溫床。陰陽總是交融地存在,所幸黑色領域終究是少數,如何將黑色領域儘量壓縮,道阻且長。

揭開了暗網的面紗,本系列下一篇,將用最科普的方式,繼續講述暗網背後的密碼學原理。

參考資料:

[1] Tor: Overview

https://www.torproject.org/about/overview.html.en

[2] Tor: Onion Service Protocol

https://www.torproject.org/docs/onion-services

[3] Tor: Relays and bridges

https://metrics.torproject.org/networksize.html

[4] Tor: Relays by relay flag

https://metrics.torproject.org/relayflags.html


(部分圖片來源網路)


本文作者:karmayu、murphyzhang @雲鼎實驗室

騰訊安全雲鼎實驗室 關注雲主機與雲內流量的安全研究和安全運營。利用機器學習與大資料技術實時監控並分析各類風險資訊,幫助客戶抵禦高階可持續攻擊;聯合騰訊所有安全實驗室進行安全漏洞的研究,確保雲端計算平臺整體的安全性。相關能力透過騰訊雲開放出來,為使用者提供駭客入侵檢測和漏洞風險預警等服務,幫助企業解決伺服器安全問題。




[推薦]看雪企服平臺,提供安全分析、定製專案開發、APP等級保護、滲透測試等安全服務!

相關文章