胡錦楓,徐曉瑀,陳云芳,張偉?
(1.南京郵電大學(xué)計算機(jī)學(xué)院,江蘇 南京 210023;2.江蘇省聯(lián)創(chuàng)軟件研究院,江蘇 南京 210036)
互聯(lián)網(wǎng)按照其訪問方式可分為明網(wǎng)、深網(wǎng)和暗網(wǎng)3 個類別,能被百度、谷歌、必應(yīng)等常用搜索引擎檢索和訪問的網(wǎng)絡(luò)稱為明網(wǎng),其約占整個互聯(lián)網(wǎng)的4%。而那些不能通過普通搜索引擎直接訪問,需要賬號密碼、訪問權(quán)限或者特定鏈接[1]等才可以訪問的網(wǎng)絡(luò)稱為深網(wǎng)[2],其約占整個互聯(lián)網(wǎng)的96%。暗網(wǎng)被視為深網(wǎng)的1 個子集,傳統(tǒng)的搜索引擎既“看”不到,也獲取不了暗網(wǎng)中的內(nèi)容,必須通過特殊的軟件配置或使用非標(biāo)準(zhǔn)的通信協(xié)議才能訪問。
數(shù)據(jù)研究表明,暗網(wǎng)包含的毒品、武器、器官、兒童色情和隱私數(shù)據(jù)等各類敏感信息是明網(wǎng)的1 000~2 000倍[3],其中,加密貨幣因其匿名性備受暗網(wǎng)用戶關(guān)注。根據(jù)聯(lián)合國毒品和犯罪問題辦公室(UNODC)發(fā)布的《2021 年世界毒品報告》顯示[4],幾大暗網(wǎng)市場的年毒品交易額至少為3.15 億美元,整體呈現(xiàn)交易額逐年增加和交易類型逐年增多的趨勢。據(jù)區(qū)塊鏈安全機(jī)構(gòu)調(diào)查顯示,2020 年在國內(nèi)未受監(jiān)管的跨境流動虛擬貨幣價值達(dá)175 億美元,較2019 年增長51%??梢?,國內(nèi)外的形勢都異常嚴(yán)峻,因此針對比特幣非法交易的研究勢在必行。然而,暗網(wǎng)生態(tài)的多變性以及比特幣相關(guān)研究的局限性給監(jiān)管工作帶來了巨大挑戰(zhàn)。原先主流的v2 洋蔥域名使用的密碼技術(shù)存在漏洞,To(rThe Onion Router)開發(fā)團(tuán)隊在2018 年開始部署安全級別更高的v3 洋蔥域名[5],并在之后的3 年里逐步取代v2 洋蔥域名。2021 年10 月15 日,Tor 官方徹 底禁用v2 洋蔥域 名,完成版本的全面升級。至此,原有的形如budfqtymn 5cf6nak 等16 位字符串加特殊頂級域.onion 的v2 洋蔥域名都已經(jīng)無法使用,現(xiàn)在所有利用Tor 網(wǎng)絡(luò)提供的洋蔥域名都由56 位字符串加特殊頂級域.onion 構(gòu)成。過往的v2 洋蔥域名數(shù)據(jù)不再作為分析的依據(jù)。比特幣交易通常是由不同用戶采用比特幣地址作為假名在區(qū)塊鏈上進(jìn)行的交易,這種假名是由用戶自由生成,與用戶真實(shí)身份特征無關(guān)。為了實(shí)現(xiàn)去匿名化,目前大部分研究都集中在比特幣地址在區(qū)塊鏈上的啟發(fā)式地址聚類和社區(qū)網(wǎng)絡(luò)分析上,忽略了比特幣地址與暗網(wǎng)關(guān)聯(lián)信息的利用。
為獲取最新的v3 洋蔥域名以及與暗網(wǎng)關(guān)聯(lián)的比特幣地址信息,本文設(shè)計基于v3 洋蔥域名的暗網(wǎng)比特幣地址威脅程度一體化分析框架TLAFDB。該框架實(shí)現(xiàn)了集洋蔥域名收集、比特幣地址收集、篩選、分類和威脅程度排名為一體的功能,可以幫助網(wǎng)絡(luò)監(jiān)管人員獲得在區(qū)塊鏈上無法獲取的比特幣地址類別、流行度和威脅程度。本文通過TLAFDB 還發(fā)現(xiàn)了暗網(wǎng)生態(tài)下比特幣使用的一些有趣現(xiàn)象,揭示v3 洋蔥域名更新后的暗網(wǎng)業(yè)務(wù)形態(tài)。
Tor[6]是目前使用最廣泛的在線匿名通信網(wǎng)絡(luò)。為了實(shí)現(xiàn)匿名性,Tor 利用由6 000 多個中繼站組成的志愿者覆蓋網(wǎng)絡(luò)來引導(dǎo)互聯(lián)網(wǎng)流量,從而隱藏用戶的位置和使用情況,以避免任何人進(jìn)行網(wǎng)絡(luò)監(jiān)控或流量分析。洋蔥服務(wù)最初被稱為隱藏服務(wù),是一種只能通過Tor 網(wǎng)絡(luò)訪問的網(wǎng)絡(luò)服務(wù)。根據(jù)Tor隱藏服務(wù)[7]協(xié)議,1 個隱藏服務(wù)首先會生成包含其公鑰和引入點(diǎn)列表的隱藏服務(wù)描述符,并將其私鑰作為描述符指紋對描述符進(jìn)行簽名。隱藏服務(wù)將描述符上傳到具有分布式哈希表(DHT)結(jié)構(gòu)的隱藏服務(wù)目錄服務(wù)器。想要訪問隱藏服務(wù)的客戶端首先需要知道它的.onion 洋蔥域名,然后從對應(yīng)的隱藏服務(wù)目錄服務(wù)器下載它的描述符,協(xié)商1 個會合點(diǎn)并將其通知給隱藏服務(wù),最終在客戶機(jī)和隱藏服務(wù)之間建立連接。
搜集洋蔥域名的主要方法包括部署隱藏服務(wù)目錄服務(wù)器以及利用社交網(wǎng)絡(luò)和暗網(wǎng)搜索引擎。部署隱藏服務(wù)目錄服務(wù)器的基本思想是通過部署惡意隱藏服務(wù)目錄服務(wù)器來保存隱藏服務(wù)描述符中未經(jīng)加密的隱藏服務(wù)公鑰,然后使用洋蔥域名生成規(guī)則計算公鑰對應(yīng)的洋蔥域名。文獻(xiàn)[8]首次通過該方法在2 天內(nèi)使用較少的資源搜集大量的隱藏服務(wù)描述符,進(jìn)而計算獲得39 824 個v2 洋蔥域名。
利用社交網(wǎng)絡(luò)和暗網(wǎng)搜索引擎的主要思想是隱藏服務(wù)供應(yīng)商為了增加受眾,會在Twitter 等社交網(wǎng)站以及Ahmia 等暗網(wǎng)搜索引擎發(fā)布洋蔥域名。由于暗網(wǎng)的訪問存在地域差異性,因此文獻(xiàn)[9]利用Selenium 設(shè)計一套暗網(wǎng)爬蟲程序。該程序使用COW代理將Tor 的socks5 協(xié)議轉(zhuǎn)為http 協(xié)議的方式繞過地域限制,并分批爬取暗網(wǎng)網(wǎng)頁,最終收集了613 個洋蔥域名,其中158 個是違法網(wǎng)站。文獻(xiàn)[10]提出不依賴Tor 瀏覽器的Tor2web 的洋蔥域名發(fā)現(xiàn)方法,通過普通瀏覽器借助代理連通Tor,并輸入關(guān)鍵詞搜集洋蔥域名,最終收集了9 176 個v2 洋蔥域名。文獻(xiàn)[11]使用文獻(xiàn)[10]的方法,增加目錄網(wǎng)站和暗網(wǎng)搜索引擎2 種方法提取目錄網(wǎng)站收錄以及搜索引擎索引的洋蔥域名,構(gòu)建豐富的v2 洋蔥域名數(shù)據(jù)集。針對近期v2 和v3 洋蔥域名版本迭代的問題,文獻(xiàn)[12]設(shè)計1 個開源系統(tǒng)Dizzy,用于大規(guī)模爬行和分析洋蔥域名,該系統(tǒng)收集了包含v2 和v3 版本在內(nèi)的39 536 個洋蔥域名,重點(diǎn)關(guān)注暗網(wǎng)與常規(guī)網(wǎng)絡(luò)不同的拓?fù)鋱D結(jié)構(gòu)。
2021 年以來,隨著Tor 官方對v2 洋蔥域名的徹底禁用,16 位字符串的v2 洋蔥域名數(shù)據(jù)集已經(jīng)無法再被使用。同時,v3 洋蔥域名修復(fù)了Tor 在隱藏服務(wù)目錄的設(shè)計漏洞[13],這也意味著部署惡意隱藏服務(wù)目錄服務(wù)器的方法不再適用于v3 洋蔥域名。因此,本文采用暗網(wǎng)搜索引擎方法收集Tor 0.3.2.1-Alpha版本后的56 位字符串的v3 洋蔥域名,這也符合實(shí)際的應(yīng)用情況。
比特幣[14]是一種P2P 形式的虛擬加密數(shù)字貨幣,它依靠特定計算機(jī)算法并通過大量的計算產(chǎn)生,然后使用整個P2P 網(wǎng)絡(luò)中眾多節(jié)點(diǎn)構(gòu)成的分布式數(shù)據(jù)庫來確認(rèn)并記錄所有的交易行為。同時,比特幣使用密碼學(xué)進(jìn)行數(shù)字加密,確保貨幣流通的安全性。記錄比特幣交易的賬戶模型稱為UTXO,也就是未使用的交易輸出。在比特幣中,一筆交易的每條輸入和輸出實(shí)際上都是UTXO,在新的交易中輸入就是先前交易剩下的UTXO。當(dāng)Alice 要把一筆比特幣轉(zhuǎn)給Bob 時,這個過程是Alice 把她錢包地址中先前交易剩下的UTXO,用她的私鑰進(jìn)行簽名,發(fā)送到Bob 的地址,該過程是1 個新的交易,而Bob 得到的是1 個新的UTXO。因此,比特幣的轉(zhuǎn)移過程通過UTXO 模型實(shí)現(xiàn),從而使得比特幣以鏈?zhǔn)皆谟脩糁g轉(zhuǎn)移。
在區(qū)塊鏈中,用戶都有1 個和真實(shí)身份無關(guān)的虛擬身份,即比特幣地址。用戶通過這些地址進(jìn)行交易,但區(qū)塊鏈上的每筆交易數(shù)據(jù)都是公開透明的。如果用戶的其中1 個比特幣地址暴露,那么用戶所有相關(guān)比特幣地址都可能泄露,甚至可能危及與該用戶相關(guān)的其他用戶地址。作為比特幣用戶真實(shí)身份去匿名化的關(guān)鍵過程,地址聚類一直是研究熱點(diǎn)。主流的地址聚類是基于啟發(fā)式的地址聚類研究,利用區(qū)塊鏈上比特幣交易的輸入輸出關(guān)系來聚類比特幣地址。文獻(xiàn)[15-16]分別提出基于多個輸入地址和一次性更改地址的啟發(fā)式地址聚類方法,奠定了后續(xù)比特幣地址聚類研究的基礎(chǔ)。文獻(xiàn)[17]提出一種啟發(fā)式聚類方法來判斷比特幣地址之間的關(guān)系,并設(shè)計一種改進(jìn)的Louvain 算法,用于探索用戶交易社區(qū)情況,以跟蹤比特幣交易。文獻(xiàn)[18]基于文獻(xiàn)[15-16]方法,從地址重用的角度考慮并提出一種基于地址重用變化的啟發(fā)式地址聚類方法,使得區(qū)塊鏈上地址聚合率平均提升了0.33%。文獻(xiàn)[19]分析比特幣交易和地址之間的關(guān)聯(lián),發(fā)現(xiàn)單一的啟發(fā)式方法難以全面準(zhǔn)確地聚類大量地址。因此,本文綜合運(yùn)用多種啟發(fā)式算法對地址進(jìn)行聚類,提高地址聚集程度和地址召回率,并利用社區(qū)檢測算法進(jìn)一步探索實(shí)體之間的潛在關(guān)系,為進(jìn)一步推斷實(shí)體身份奠定基礎(chǔ)。另一類研究是基于地址聚類方法的應(yīng)用,利用明網(wǎng)和暗網(wǎng)上比特幣地址的關(guān)聯(lián)關(guān)系去匿名化參與暗網(wǎng)交易用戶真實(shí)身份。文獻(xiàn)[20]通過檢查區(qū)塊鏈的歷史交易,將鏈上交易比特幣地址作為連接明網(wǎng)與暗網(wǎng)之間的橋梁,把在線社交網(wǎng)絡(luò)上如Twitter 等公開分享比特幣地址的用戶和在洋蔥域名網(wǎng)頁上公開分享比特幣地址的洋蔥域名的關(guān)聯(lián)關(guān)系作為關(guān)鍵紐帶,使得用比特幣支付的暗網(wǎng)用戶去匿名化。
上述研究旨在利用比特幣的偽匿名性,通過啟發(fā)式地址聚類以及社區(qū)網(wǎng)絡(luò)方式將同一用戶控制的多個地址相連接,進(jìn)而去匿名化比特幣用戶身份。除此之外,本文認(rèn)為還可以通過比特幣地址與其所處暗網(wǎng)服務(wù)的關(guān)聯(lián)實(shí)現(xiàn)一定程度的去匿名化。因而,本文重點(diǎn)關(guān)注與暗網(wǎng)關(guān)聯(lián)的比特幣地址信息,包括類別、流行度和威脅程度,為追蹤比特幣非法交易提供有價值的信息。
為了對暗網(wǎng)中加密貨幣威脅程度進(jìn)行深入的研究,本文設(shè)計TLAFDB 框架,其總體架構(gòu)如圖1 所示。TLAFDB 由3 個主要模塊組成:1)信息收集模塊分別從明網(wǎng)和暗網(wǎng)2 個源頭利用爬蟲收集安全等級更高的v3 洋蔥域名,克服暗網(wǎng)爬蟲的連通性問題,構(gòu)建版本升級后的v3 洋蔥域名數(shù)據(jù)集;2)信息清洗模塊從暗網(wǎng)網(wǎng)頁的文本數(shù)據(jù)篩選出存在真實(shí)交易的比特幣地址并去除鏡像洋蔥域名,建立比特幣地址和所在v3 洋蔥域名關(guān)聯(lián)信息表;3)信息分析模塊采用人工檢查和關(guān)鍵詞匹配相結(jié)合的方法分類v3洋蔥域名,并據(jù)此賦予比特幣地址類別、流行度和威脅程度,揭示了Tor 在v3 洋蔥域名全面更新后的暗網(wǎng)業(yè)務(wù)形態(tài)。
圖1 TLAFDB 框架Fig.1 TLAFDB framework
不同于普通的萬維網(wǎng)服務(wù),Tor 提供的匿名服務(wù)必須使用特殊的Tor 瀏覽器才能訪問。由于地域限制,需要開啟VPN 代理并使用其內(nèi)置的obfs4 等網(wǎng)橋接入Tor 瀏覽器。與使用Tor 瀏覽器訪問洋蔥域名不同,使用爬蟲訪問洋蔥域名時利用的是Tor 源碼,因此無法調(diào)用Tor 瀏覽器內(nèi)置的obfs4 等網(wǎng)橋,僅開啟VPN 代理無法使爬蟲成功訪問Tor 網(wǎng)絡(luò)。為了將爬蟲接入Tor 網(wǎng)絡(luò),本文使用境外服務(wù)器解決爬蟲接入時因無法使用內(nèi)置網(wǎng)橋存在無法連通問題。具體過程是先租賃境外服務(wù)器并開啟服務(wù)器的9150端口,然后下載Tor 源碼并修改其torrc 配置文件,使得Tor 服務(wù)在TCP 端口9150 上提供socks5 代理服務(wù),用于在瀏覽器和客戶端之間傳遞socks5 數(shù)據(jù)包,配置步驟如圖2 所示。
圖2 Tor 服務(wù)配置步驟Fig.2 Configuration steps of Tor service
在Tor 網(wǎng)絡(luò)連通后,由于其數(shù)據(jù)傳輸時使用socks5 協(xié)議,而Python 中的requests 爬蟲模塊默認(rèn)使用http 協(xié)議,因此需要在爬蟲程序中設(shè)置socks5 代理以接入Tor 網(wǎng)絡(luò)。本文使用socks5h 代理,以便socks5 在本地DNS 解析過程失敗時可以啟用遠(yuǎn)程DNS 解析,實(shí)現(xiàn)代碼如算法1 所示。
算法1暗網(wǎng)爬蟲
大量的洋蔥域名都是非法服務(wù)且只在小范圍內(nèi)流傳,在普通的網(wǎng)頁中很難獲取得到[21]。The Hidden Wiki 等明網(wǎng)目錄網(wǎng)站只提供有限數(shù)量的洋蔥域名,對于暗網(wǎng)洋蔥服務(wù)的分析遠(yuǎn)遠(yuǎn)不足。因此,本文還從流行暗網(wǎng)搜索引擎Ahmia[22]和Onion Search Engine[23]通過輸入如drugs 等 關(guān)鍵詞獲取 最新的洋蔥種子域名來爬行暗網(wǎng)。對于每個初始洋蔥種子域名,爬蟲訪問它的網(wǎng)頁,利用正則表達(dá)式和廣度優(yōu)先搜索算法遍歷篩選v3 版本的洋蔥域名直至沒有產(chǎn)生新的洋蔥域名,表達(dá)式為[0-9a-zA-Z]{56}.onion,得到最終v3 洋蔥域名數(shù)據(jù)集。
根據(jù)加密貨幣跟蹤網(wǎng)站CoinMarketCap[24]統(tǒng)計顯示,比特幣是最熱門且市值最高的加密貨幣,因此本文選擇比特幣作為研究對象。比特幣有3 種地址格式,如表1 所示。地址“1”開頭是傳統(tǒng)地址格式,地址“3”開頭是兼容地址格式,地址“bc1”開頭是Segwit 地址格式,其中“1”“3”開頭的地址采用Base58 編碼,而“bc1”開頭的地址采用Bech32編碼。
表1 比特幣地址格式Table 1 Bitcoin address format
為了從v3 洋蔥域名網(wǎng)頁文本中提取全部比特幣地址,本文融合傳統(tǒng)、兼容和Segwit 地址格式提供一種同時覆蓋Base58 和Bech32 編碼的比特幣正則表達(dá)式([13]|bc1)[a-zA-HJ-NP-Z0-9]{25,39}。但是,暗網(wǎng)網(wǎng)頁中存在大量復(fù)雜文本,并不能保證正則化表達(dá)式匹配到的候選比特幣地址就是存在真實(shí)交易的比特幣地址。Blockchain.com[25]是一種區(qū)塊鏈搜索引擎,詳細(xì)記錄了區(qū)塊鏈中每個區(qū)塊、每筆交易以及錢包、交易所地址等信息。為了保證比特幣地址存在真實(shí)交易,本文利用Blockchain.com 搜索爬取到的候選比特幣地址,當(dāng)網(wǎng)頁出現(xiàn)“Oops!We couldn’t find what you are looking for.”,說明該比特幣地址不存在,以此來確認(rèn)真實(shí)存在的比特幣地址,再利用Blockchain.com 搜索真實(shí)存在的比特幣地址,當(dāng)網(wǎng)頁出 現(xiàn)“This address has transacted 0 times on the Bitcoin blockchain.”時,說明該比特幣地址尚未進(jìn)行過交易,以反向篩選存在真實(shí)交易的比特幣地址。
在區(qū)塊鏈上可以查詢比特幣地址交易量,但不能獲取其類別。為此,利用比特幣地址與所在洋蔥域名的關(guān)聯(lián)關(guān)系不僅可以將洋蔥域名網(wǎng)頁的類別傳遞給比特幣地址,還能附帶其流行度。因此,本文根據(jù)存在真實(shí)交易的比特幣地址數(shù)據(jù)集和其所在v3洋蔥域名的關(guān)聯(lián)關(guān)系建立兩者的關(guān)聯(lián)信息表。
洋蔥域名容易生成且無須成本,因而暗網(wǎng)服務(wù)提供者為了增加暗網(wǎng)用戶訪問概率以及避免被網(wǎng)絡(luò)監(jiān)管關(guān)閉,往往會生成大量洋蔥域名,導(dǎo)致相當(dāng)一部分洋蔥域名是內(nèi)容完全相同的鏡像域名。針對明網(wǎng)中網(wǎng)頁鏡像域名的篩選方法主要是基于網(wǎng)頁主題關(guān)鍵詞的詞頻向量,通過計算余弦相似度比較2 個網(wǎng)頁的相似性。假設(shè)給定網(wǎng)頁a和b中的主題關(guān)鍵詞,列出網(wǎng)頁a和b的關(guān)鍵詞集合S,根據(jù)集合S計算得到網(wǎng)頁a的詞頻向量Sa=(ωll,ωl2,…,ωln),網(wǎng)頁b的詞頻向量Sb=(ω21,ω22,…,ω2n),這2 個網(wǎng)頁之間的相似度Sim(Sa,Sb)的計算式如式(1)所示:
然而,明網(wǎng)和暗網(wǎng)文本存在差異,使得適用于明網(wǎng)的方法并不完全適用于暗網(wǎng)。為了減少后續(xù)分類中人工檢查的工作量,本文提出一種針對暗網(wǎng)的鏡像洋蔥域名篩選方法,該方法考慮3 個因素:1)同一洋蔥服務(wù)的不同站點(diǎn)通常只有域名不同,而標(biāo)題往往是相同的;2)考慮到暗網(wǎng)服務(wù)提供者不太可能在洋蔥域名網(wǎng)頁上放上他人的比特幣地址作為收款地址;3)在計算洋蔥域名的PageRank 評分時,注意到相近PageRank 評分的網(wǎng)頁通?;殓R像域名。因此,本文將2 個洋蔥域名標(biāo)題、洋蔥域名上出現(xiàn)的比特幣地址以及洋蔥域名PageRank 評分等信息合并成1 個關(guān)鍵詞集合,然后根據(jù)集合生成各自的詞頻向量,最后計算2 個網(wǎng)頁詞頻向量的余弦相似度。當(dāng)余弦相似度大于預(yù)設(shè)的閾值時,就認(rèn)為這2 個網(wǎng)頁互為鏡像洋蔥域名。冗余的鏡像洋蔥域名將被刪除,只保留其中1 個鏡像洋蔥域名重寫入比特幣地址和所在v3 洋蔥域名關(guān)聯(lián)信息表。
對于網(wǎng)頁的分類問題,本文使用Python 中的自然語言處理工具包(NLTK)對關(guān)聯(lián)信息表中的洋蔥域名網(wǎng)頁內(nèi)容進(jìn)行處理。因?yàn)榫W(wǎng)頁中提取到的文本信息并不是完整的文章,只有零散的單詞,不適合考慮單詞前后間的聯(lián)系,所以未使用TextRank和RAKE算法,僅依據(jù)詞頻和逆文本頻率來評估單詞的重要性,具體選擇TD-IDF[26]算法提取每個網(wǎng)頁中評分最高的前8 個詞。此外,由于暗網(wǎng)文本充斥著大量俚語、黑話和一些不常見的詞匯,能提取到的有效關(guān)鍵詞并不多,因此基于支持向量機(jī)(SVM)的文本分類模型效果并不理想。針對該情況,本文先根據(jù)網(wǎng)頁內(nèi)容中索引的洋蔥域名數(shù)量特征區(qū)分出門戶類,然后對剩余網(wǎng)頁統(tǒng)計網(wǎng)頁中關(guān)鍵詞出現(xiàn)的次數(shù),根據(jù)關(guān)鍵詞詞頻并輔助人工篩選后,建立1 個13 種類別的非門戶類基礎(chǔ)分類詞匯表,如cocaine、cannabis 等出現(xiàn)頻率較高且特征明顯的詞匯歸入分類詞匯表的毒品類,如表2 所示。在此基礎(chǔ)上,擴(kuò)充各類別中名詞的復(fù)數(shù)形式以及動詞的各時態(tài)形式,最終得到完整的非門戶類分類詞匯表。
表2 非門戶類分類詞匯(部分)Table 2 Non-portal classification vocabulary(partial)
本文根據(jù)網(wǎng)頁內(nèi)容中索引的洋蔥域名數(shù)量是否多于特定閾值(本文將該值設(shè)為15),將洋蔥域名網(wǎng)頁分為門戶類和其他類,使用已建立好的分類詞匯表對其他類的網(wǎng)頁進(jìn)行分類。如果提取到的網(wǎng)頁主題關(guān)鍵詞匹配到分類詞匯表的某個類別,則將該網(wǎng)頁歸入相應(yīng)的類別。盡管大多數(shù)網(wǎng)頁可以準(zhǔn)確地歸入相應(yīng)的類別,但是仍有少部分網(wǎng)頁提取到的關(guān)鍵詞(例如"please""days"等)與類別無關(guān)。為了解決這個問題,本文結(jié)合人工檢查的方法,將這些網(wǎng)頁歸類到正確的類別。相對于完全依賴人工訪問大量洋蔥域名網(wǎng)頁進(jìn)行分類的方法,這種方法既確保分類的準(zhǔn)確性,又節(jié)省大量時間。
經(jīng)分類后發(fā)現(xiàn)比特幣地址并非只會一對一出現(xiàn)在單個類別暗網(wǎng)頁中,還會以一對多的形式出現(xiàn)在不同類別的暗網(wǎng)頁中。帶分類的關(guān)聯(lián)信息示例如表3 所示。表3 中的第1 個比特幣地址出現(xiàn)在3 個不同類別的網(wǎng)頁中,分別是販卡類、黑客類和賭博類。
為此,本文進(jìn)一步對比特幣地址類別的威脅性進(jìn)行區(qū)分,對于出現(xiàn)在毒品和市場等類別中作為付款地址的比特幣地址,由于類別威脅性較高且明確,因此認(rèn)為其威脅性最高為Sh。出現(xiàn)在論壇、販卡等類別中的比特幣地址可能是非法或合法的,因此認(rèn)為其威脅性中等為Sm。對于出現(xiàn)在門戶、博客等類別中的捐贈比特幣地址類別威脅性較低且多用于維持站點(diǎn),因此認(rèn)為其威脅性最低為Sl,如表4所示。
表4 各類別威脅性示例Table 4 Examples of various categories threat
為了幫助監(jiān)管人員有重點(diǎn)地追蹤和分析非法比特幣地址,本文提出一種威脅程度排名規(guī)則,該規(guī)則主要考慮2 個因素:1)比特幣地址的威脅程度與其類別威脅性相關(guān),如果比特幣地址出現(xiàn)在Sh的高危暗網(wǎng)服務(wù)上,其威脅程度就很高,遠(yuǎn)高于所有僅出現(xiàn)在Sm的中危暗網(wǎng)服務(wù)上的地址,同樣地,如果比特幣地址出現(xiàn)在Sm的中危暗網(wǎng)服務(wù)上,其威脅程度中等,遠(yuǎn)高于所有僅出現(xiàn)在Sl的低危暗網(wǎng)服務(wù)上的地址;2)比特幣地址的威脅程度還與其PageRank 評分有關(guān),PageRank 分越高說明網(wǎng)頁被關(guān)注率越大,說明用戶更容易中招,危害程度更大。
給定比特幣地址各自的類別威脅性集合都包含a個Sh、b個Sm、c個Sl,其中a∈[0,+∞),b∈[0,+∞),c∈[0,+∞)。基于以上2 個因素,本文制定的具體規(guī)則如下:
1)規(guī)則1 篩選出所有比特幣地址各自類別威脅性最高的情況,即Max(Sh,Sm,S)l,將比特幣地址分到Sh、Sm、Sl3 類集合中。
2)規(guī)則2 根據(jù)a、b、c的數(shù)量關(guān)系分別在3 類集合中進(jìn)行排名,先比較a的數(shù)量,數(shù)量越多代表該地址在此類集合中排名越高。如果a數(shù)量相等,則比較b數(shù)量,數(shù)量越多代表該地址在此類集合中排名越高。如果a、b數(shù)量相等,則比較c數(shù)量,數(shù)量越多代表該地址在此類集合中排名越高。如果a、b、c數(shù)量都相等,則按照PageRank 評分高低進(jìn)行排名。
3)規(guī)則3 按照Sh>>Sm>>Sl的類別集合順序進(jìn)行整體排名。
不同于普通明網(wǎng)爬蟲,本文所提出的是面向v3版本洋蔥域名的暗網(wǎng)爬蟲。文獻(xiàn)[9,27]提出的暗網(wǎng)爬蟲框架都采用Privoxy 等軟件將Tor 的socks5 協(xié)議轉(zhuǎn)為終端全局代理http 協(xié)議的方法來連通暗網(wǎng),而本文在境外服務(wù)器上部署暗網(wǎng)爬蟲并使用socks5h代理接入Tor 網(wǎng)絡(luò),只需簡單配置就可連通暗網(wǎng)并獲取v3 洋蔥域名。實(shí)驗(yàn)在信息收集環(huán)節(jié),通過2022 年4 月5 日—4 月10 日收集到23 627 個v3 洋蔥域名。本文指出,有些暗網(wǎng)網(wǎng)頁的生命周期非常短暫,在收集數(shù)據(jù)的一周后,能繼續(xù)訪問的網(wǎng)頁只有23 147 個。此外,經(jīng)過更長時間爬取后所增加的新網(wǎng)頁較少,實(shí)驗(yàn)最終收集到22 048 個含有效信息的網(wǎng)頁,其中包含無效的人機(jī)驗(yàn)證網(wǎng)頁、40x和50x報錯網(wǎng)頁以及編碼不正確網(wǎng)頁。本文共收集到v3 洋蔥域名23 147 個,40x、50x 報錯網(wǎng)頁共480 個,編碼不正確網(wǎng)頁共490 個,人機(jī)交互網(wǎng)頁共129 個,v3 洋蔥域名含有效信息網(wǎng)頁共22 048 個。
本文通過對上述22 048 個含有效信息的v3 洋蔥域名網(wǎng)頁中發(fā)現(xiàn)的比特幣地址在Blockchain.com上進(jìn)行數(shù)據(jù)清洗后,總計發(fā)現(xiàn)了1 141 個存在真實(shí)交易的比特幣地址。比特幣地址與洋蔥域名的關(guān)聯(lián)信息如圖3 所示,755 個比特幣地址只與單獨(dú)的洋蔥域名有關(guān)聯(lián),占比為66%,其余比特幣地址所在洋蔥域名都存在數(shù)量不等的鏡像域名,其中,有3 個比特幣地址所在的洋蔥域名存在265 個鏡像域名。由此分析,絕大部分比特幣地址在暗網(wǎng)生態(tài)中都處于相對獨(dú)立的狀態(tài),只有小部分比特幣地址所在的洋蔥域名存在大量相似的鏡像域名。因此,本文通過第2.3 節(jié)的篩選方法從比特幣地址所關(guān)聯(lián)的3 732 個洋蔥域名中去除2 538 個鏡像洋蔥域名,最終保存1 194 個洋蔥域名到關(guān)聯(lián)信息表中。
圖3 比特幣地址與洋蔥域名關(guān)聯(lián)信息Fig.3 The associated information of Bitcoin address and onion domain name
為驗(yàn)證人工檢查和關(guān)鍵詞匹配相結(jié)合的網(wǎng)頁分類方法的準(zhǔn)確率,本文通過Ahmia 等搜索引擎輸入上述14 種類別關(guān)鍵詞收集網(wǎng)頁內(nèi)容,使用TF-IDF 算法提取每個網(wǎng)頁中評分最高的前8 個詞作為關(guān)鍵詞進(jìn)行SVM 模型訓(xùn)練,再用訓(xùn)練好的SVM 模型對驗(yàn)證集進(jìn)行分類,結(jié)果如圖4 所示。SVM 模型的準(zhǔn)確率、召回率、F1 值都可以穩(wěn)定在96%~98%,而本文提出網(wǎng)頁分類方法的準(zhǔn)確率達(dá)到100%。
圖4 支持向量機(jī)模型分類結(jié)果Fig.4 Classification results of support vector machine model
本文通過人工檢查和關(guān)鍵詞匹配相結(jié)合的方法對比特幣地址進(jìn)行分類,結(jié)果如圖5 所示。這些比特幣地址所在的暗網(wǎng)主要提供比特幣投資類服務(wù),占比達(dá)到88.19%。具體分析表明,比特幣投資類主要涉及虛擬貨幣兌換現(xiàn)金、以少買多、銀行卡克隆等非法詐騙服務(wù),即龐氏騙局。相比之下,屬于非詐騙的一般交易類只占比5.19%,但仍然排名第2。黑客、賭博、毒品類的占比均相對較小,因?yàn)樵擃惥W(wǎng)站通常不會在網(wǎng)頁表層展示比特幣地址,所以需要通過訪客身份驗(yàn)證或受信任的買家介紹等方式進(jìn)入更深層次的暗網(wǎng)交易才能訪問。
圖5 比特幣地址類別占比Fig.5 Ratio of Bitcoin address category
本文實(shí)驗(yàn)還發(fā)現(xiàn)1 個比特幣地址可能出現(xiàn)在不同類別的暗網(wǎng)頁,但是比例非常低,只有4.5%。3 種不同的比特幣地址類別有2 個,2 種不同類別的比特幣地址有49 個,同類別的比特幣地址有1 000 個。該現(xiàn)象符合暗網(wǎng)比特幣交易專業(yè)性較強(qiáng)的特點(diǎn),賣家的特定比特幣地址主要以參與某類暗網(wǎng)業(yè)務(wù)為主。
按照本文提出的威脅程度排名規(guī)則,構(gòu)建如表5所示的比特幣地址威脅程度排名表。文獻(xiàn)[28-29]使用比特幣交易數(shù)據(jù)(如交易輸入及輸出地址、交易時間戳等)識別比特幣異常交易數(shù)據(jù)集,相關(guān)人員僅了解到 如 1FWrm3Z1g2W4kEQXgsUyHXEk2S9 dTVK54P 等異常交易比特幣地址在區(qū)塊鏈上的交易量以及交易行為信息。然而,表5 可以幫助研究人員擴(kuò)充有關(guān)該比特幣地址的更多信息,如比特幣地址信息出現(xiàn)在販卡類、賭博類、黑客類等多種業(yè)務(wù)中,盡管與被暗網(wǎng)用戶關(guān)注的概率相比門戶類網(wǎng)站上的比特幣地址來說較低,但其威脅程度排名第2,說明其在特定領(lǐng)域具有一定的重要性。此外,表5還包括了因在區(qū)塊鏈上的交易行為并無顯著異常而無法識別部分危險比特幣地址,有助于研究人員更全面研究非法交易。
表5 比特幣地址威脅程度排名(部分)Table 5 Bitcoin address threat level ranking(partial)
暗網(wǎng)比特幣地址威脅程度整體分布情況如圖6所示。其中,Sh比特幣地址的數(shù)量是1 088 個,占所發(fā)現(xiàn)的比特幣地址高達(dá)95%。在這些比特幣地址節(jié)點(diǎn)中,有許多是孤立的,即它們的PageRank 為0。造成這種現(xiàn)象的原因是這些地址所在的洋蔥域名僅來自于暗網(wǎng)搜索引擎,且它們多專注于自身業(yè)務(wù),不會在暗網(wǎng)中傳播其他洋蔥域名,也不會被其他洋蔥域名傳播。圖6 中 有3 個比特 幣地址(A、B、C)的PageRank 評分較高(彩色效果見《計算機(jī)工程》官網(wǎng)HTML 版)。A是Sh比特幣地址中參與多個暗網(wǎng)業(yè)務(wù)和參與某一類暗網(wǎng)業(yè)務(wù)的分界地址,B 是地址中參與單個Sh高危暗網(wǎng)業(yè)務(wù)和參與單個Sm中危暗網(wǎng)業(yè)務(wù)的分界地址,C 是地址中參與單個Sm中危暗網(wǎng)業(yè)務(wù)和參與單個Sl低危暗網(wǎng)業(yè)務(wù)的分界地址。它們都出現(xiàn)在各威脅性的單個暗網(wǎng)業(yè)務(wù)中,分別對應(yīng)色情類、販卡類和門戶類。相比之下,參與多個暗網(wǎng)業(yè)務(wù)的比特幣地址PageRank 評分不會太高。
圖6 比特幣地址威脅程度分布Fig.6 Distribution of Bitcoin address threat level
本實(shí)驗(yàn)還結(jié)合其在區(qū)塊鏈上的交易量進(jìn)行綜合分析,發(fā)現(xiàn)龐氏騙局交易量約占Sh比特幣地址總交易量的99%。實(shí)驗(yàn)結(jié)果表明,超過95%的比特幣地址被惡意使用,大多數(shù)流向了龐氏騙局等非法業(yè)務(wù)。另外,統(tǒng)計Sh比特幣地址的其他類別、Sm比特幣地址和Sl比特幣地址的交易總額發(fā)現(xiàn),其總額為791.05 BTC,僅占比1%。對于Sm比特幣地址的交易額較少的原因,可能是這些非詐騙交易在投資翻倍性方面不如龐氏交易更具吸引力。而對于Sl比特幣地址的交易額較少的原因,可能是這些網(wǎng)站缺乏利益驅(qū)動,只是希望暗網(wǎng)用戶自愿捐款以維持站點(diǎn)。本文特別關(guān)注毒品、槍支等類別的Sh比特幣地址交易額較少的情況,發(fā)現(xiàn)這些網(wǎng)站表面上提供的比特幣地址僅用于在面上收取定金等,以觀察買家的誠意,進(jìn)一步的交易活動需要在彼此建立信任關(guān)系后,在更深層次的暗網(wǎng)中進(jìn)行。
針對暗網(wǎng)生態(tài)的多變性以及比特幣相關(guān)研究的局限性,本文提出一種針對v3 洋蔥域名的暗網(wǎng)比特幣威脅程度一體化分析框架TLAFDB。該框架針對v3 洋蔥域名的數(shù)據(jù)收集,并提供一種通用的爬蟲連通暗網(wǎng)方案。與利用區(qū)塊鏈上比特幣地址交易關(guān)系和交易行為追蹤非法比特幣地址交易不同,TLAFDB 更關(guān)注比特幣地址在暗網(wǎng)上相關(guān)信息的利用。實(shí)驗(yàn)結(jié)果表明,在暗網(wǎng)中同一比特幣地址會出現(xiàn)在大量相似的鏡像洋蔥域名網(wǎng)頁上,超過95%的比特幣地址涉及龐氏騙局等非法業(yè)務(wù),揭示了v3洋蔥域名全面更新后的暗網(wǎng)業(yè)務(wù)形勢。下一步將利用TLAFDB 分析得到的暗網(wǎng)比特幣地址信息,以輔助確認(rèn)并跟蹤區(qū)塊鏈上可疑交易行為地址。此外,還將關(guān)注暗網(wǎng)網(wǎng)頁周期變化以及網(wǎng)頁中比特幣地址的變化情況,以探究比特幣地址聚類優(yōu)化問題。