密碼朋克的社會實驗(一):開燈看暗網
前言
本年度最嚴重的幾次數據泄漏,都指向了同一個詞——「暗網」。在中文的語境里,這是一個猶如「月黑風高夜」般的辭彙,透著詭秘和犯罪的氣息。而與「暗網」關係最密切的另一個詞,則非「黑客」莫屬。「黑」與「暗」的組合,意味著高超的匿名和隱身技巧,令人忍不住想揭開它精巧的面紗。
暗網是什麼
要解釋暗網,先給整個互聯網做一個簡單的分層定義,如圖:
表網(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 56: 客戶端通過介紹點,通告暗網伺服器會合點的地址和「驗證信息」
這一步的核心是讓暗網伺服器知道會合點的存在,媒介是客戶端在目錄資料庫中獲取到的對應暗網網址的介紹點,同時傳遞了後續用來對接驗證的「驗證信息」。
Step 7: 暗網伺服器通過Tor線路連接會合點,最終與客戶端達成數據傳輸
這一步暗網伺服器也通過Tor線路與會合點建立連接,但兩端還未達成真正的通信,必須進行「驗證信息」的核實,當真正驗證成功後,才能達成真正的通路。
經過以上複雜流程,客戶端和暗網伺服器建立通信成功,形成一個上面截圖的六跳連接,並成功保證了雙方的匿名性。
Tor 網路節點
從前面可以看到,暗網的匿名性基於其眾多的節點,但如果部署足夠多的節點,是否就能探測到雙方的 IP 地址和通信數據呢?先來看看暗網節點的情況。
節點介紹
暗網節點一共分為以下3類:
入口節點/中間節點
入口節點和中間節點沒有本質的差別,通常各IDC 運營商都允許伺服器被部署為入口節點和中間節點,新節點上線只能是中間節點,當穩定性和帶寬都比較高時,才允許被升級為入口節點。
出口節點
出口節點從技術上看和入口節點一樣,但通常IDC 運營商是不允許伺服器部署出口節點的,因為如果引發了犯罪行為,由於無法進行往回追蹤,會導致運營商背鍋。因此,出口節點通常是學術機構、ISP、科研單位、公共圖書館等才會部署。
網橋
由於入口節點是公開的,因此很容易被封鎖。為了保證這些地區的人也能訪問 Tor 網路,還存在一個秘密的入口列表,稱之為網橋節點。這個秘密列表每次只可以查詢到3個入口節點,通過一些機制保證不能簡單被遍歷,以此來對抗封鎖。
節點數據
截止當前,目前運行的 Tor 節點數量大概有7500,普通節點大約6500,網橋節點接近1000。
普通節點中,入口節點(Guard)大約2400,出口節點(Exit)大約800多。
從這個數據來看,假設我們在「入中出」三類節點中各有一台機器,能檢測到完整數據的概率大約是 1/(3400 * 800 * 3300) = 1/8976000000。大約是九十億分之一。
其中大多數節點主要分布在歐美國家。
節點詳情
完整的公開節點列表可以在以下網址查詢到https://torstatus.rueckgr.at/,雲廠商可以根據這個列表進行自查。
部分節點詳細數據
Tor 用戶
全球每天使用 Tor 網路的用戶基本穩定在200萬人,相對於數十億的互聯網用戶,其實非常小量,而其中訪問暗網匿名網站的用戶更是其中的一小部分。
暗網用戶分布國家 TOP10。
國家 | 用戶數 | 佔比 |
---|---|---|
美國 | 368318 | 18.08 % |
俄羅斯 | 246790 | 12.11 % |
阿聯酋 | 218387 | 10.72 % |
德國 | 152382 | 7.48 % |
印度尼西亞 | 99310 | 4.87 % |
法國 | 93784 | 4.60 % |
烏克蘭 | 76365 | 3.75 % |
英國 | 61983 | 3.04 % |
印度 | 45523 | 2.23 % |
荷蘭 | 43386 | 2.13 % |
其它平行網路
前面說過,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@雲鼎實驗室,轉載請註明來自FreeBuf.COM
※2019年五大網路威脅走勢預測
※PHP利用PCRE回溯次數限制繞過某些安全限制
TAG:FreeBuf |