[原創]密碼朋克的社會實驗(一):開燈看暗網
……
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 @雲鼎實驗室
騰訊安全雲鼎實驗室 關注雲主機與雲內流量的安全研究和安全運營。利用機器學習與大資料技術實時監控並分析各類風險資訊,幫助客戶抵禦高階可持續攻擊;聯合騰訊所有安全實驗室進行安全漏洞的研究,確保雲端計算平臺整體的安全性。相關能力透過騰訊雲開放出來,為使用者提供駭客入侵檢測和漏洞風險預警等服務,幫助企業解決伺服器安全問題。
相關文章
- 密碼朋克的社會實驗(三):比特幣發明了什麼2020-07-31密碼比特幣
- 密碼學(原創心得)2008-06-22密碼學
- 作為生態媒介的遊戲:沙漠主題遊戲的共創開發與社會實驗2021-09-27遊戲
- 密碼學心得2(原創)2008-07-07密碼學
- 社會教育領域中的創客實踐教育2022-07-14
- 讀所羅門的密碼筆記04_社會信用2024-03-28密碼筆記
- 物聯網 實驗一 掌控版的使用 智慧燈和MQTT2020-09-26MQQT
- 《死亡擱淺》社會實驗:後資訊時代孤獨社會人際關係的另一種可能性2019-12-06
- 【原創】洪興社的Oracle情節之安全管理篇(一)2013-06-08Oracle
- 實驗一-密碼引擎-3-加密API2024-04-14密碼加密API
- 一場探索性的社會實驗,催生了她的“現實主義遊戲”理念2020-12-31遊戲
- 生成goldengate使用者的密碼暗文2014-03-05Go密碼
- 匹配統一社會信用程式碼的正則2020-02-03
- 實驗一-密碼引擎-3-加密API研究2024-04-14密碼加密API
- 社會學對網路應用創新的三大啟示2011-03-10
- 淺談社會學驅動下的網路遊戲,傳統與現代文化的明爭暗鬥2020-06-15遊戲
- 社會網路分析及其Python實現2024-05-02Python
- 網際網路+人社峰會召開騰訊開放三大能力建“人社”生態2018-05-08
- 原創一看便知、Maven建立web專案2016-12-01MavenWeb
- “社會化網路時代”的結束,“社會化圈子時代”的興起2011-06-02
- [原創] 騰訊安全雲鼎實驗室:從惡意流量看2018十大網際網路安全趨勢2019-02-18
- 新興科技+網際網路創新大賽,科技+社會公益專項賽2018-05-21
- 剝開比原看程式碼04:如何連上一個比原節點2018-07-30
- 小白next專案初步上手搭建一個隨機社會信用程式碼生成及驗證功能網站2024-06-17隨機網站
- [SSH服務]——一個SSH無密碼登陸實驗2017-03-18密碼
- oracle 開啟複雜密碼驗證2019-10-30Oracle密碼
- 做社會化的測試工程師之一:把軟體測試搬出實驗室2012-07-31工程師
- MCU點燈實驗小結2024-06-27
- 使用 EMQX Cloud 實現物聯網裝置一機一密驗證2022-06-30MQCloud
- 原創教程網上實時支付下載已經開通2004-07-12
- “影響者研究”系列(一):社會網路化時代影響者對營銷創新的影響2013-07-21
- MySQL8.0.16賬戶雙密碼實驗一例2019-06-10MySql密碼
- 為網站實現一個驗證碼2021-06-27網站
- 馬雲:阿里是一家解決社會問題的公司 要創造一個億的就業機會2016-10-15阿里就業
- 以小窺大,從一盞路燈看億萬物聯網之路2021-10-19
- 【開源社】您會為開源專案貢獻程式碼嗎?2015-02-10
- 【原創】一個dex脫殼指令碼2017-01-03指令碼
- 網際網路創業原創精品?2014-06-18創業