本發(fā)明涉及信息安全領(lǐng)域網(wǎng)絡(luò)攻擊溯源方向,尤其涉及一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法。
背景技術(shù):
匿名通信技術(shù)作為一種主要的隱私增強技術(shù)被廣泛應(yīng)用于互聯(lián)網(wǎng)的各個方面,現(xiàn)有的匿名通信技術(shù)主要是通過多次存儲轉(zhuǎn)發(fā)(利用mix網(wǎng)絡(luò)和洋蔥路由技術(shù))來改變消息的外觀(報文延遲、亂序、報文填充等),并利用mix網(wǎng)絡(luò)的刷新機制消除消息間的對應(yīng)關(guān)系,從而為在線用戶提供隱私保護,典型的低時延匿名通信系統(tǒng)包括tor,i2p等。
這些匿名通信系統(tǒng)不僅提供了對internet用戶的身份信息的保護,同時實現(xiàn)了對服務(wù)提供者的身份信息保護,它們允許用戶能夠在確保服務(wù)器ip不被泄漏的前提下提供網(wǎng)絡(luò)服務(wù)。我們將這些構(gòu)建于匿名通信系統(tǒng)之上的隱藏網(wǎng)絡(luò)服務(wù)統(tǒng)稱為“暗網(wǎng)”。如tor的hiddenservice,i2p的eepsites。
然而,tor等匿名網(wǎng)絡(luò)獨特的匿名性在保護正常用戶隱私的同時,也為恐怖分子、謠言制造者、網(wǎng)絡(luò)攻擊者以及毒品、色情等非法交易提供了便利??ò退够鶎嶒炇业膱蟾骘@示,tor暗網(wǎng)已經(jīng)成了僵尸網(wǎng)絡(luò)、惡意軟件指令服務(wù)器和網(wǎng)絡(luò)黑市的庇護所,2013年以來,藏匿于tor網(wǎng)絡(luò)的非法服務(wù)快速增多,卡巴斯基實驗室已經(jīng)發(fā)現(xiàn)了至少有900個非法服務(wù)(包括毒品交易網(wǎng)站silkroad、僵尸網(wǎng)絡(luò)zombie等)使用tor網(wǎng)絡(luò),動用共計5500個服務(wù)中繼節(jié)點和1000個出口節(jié)點。研究發(fā)現(xiàn),tor網(wǎng)絡(luò)中有高達32%的匿名服務(wù)涉及到色情和毒品交易。此外,匿名通信工具常常被用于傳遞敏感信息、發(fā)布謠言等,比如:哈佛學(xué)生通過tor散播炸彈謠言,維基泄露中曼寧就是通過tor網(wǎng)絡(luò)交換敏感情報,斯諾登使用基于tor的操作系統(tǒng)tails傳遞情報信息。
當(dāng)前針對匿名網(wǎng)絡(luò)隱藏服務(wù)溯源的方法主要是基于主被動流分析或者協(xié)議漏洞方法,也有一些工作研究了一種基于配置、網(wǎng)頁內(nèi)容中唯一id等屬性的匿名性破解方法。基于主被動流分析的匿名性破解技術(shù)需要攻擊者同時控制匿名網(wǎng)絡(luò)鏈路的入口節(jié)點(entryguard),從而監(jiān)視互聯(lián)網(wǎng)用戶進入匿名網(wǎng)絡(luò)入口節(jié)點和隱藏服務(wù)的入口節(jié)點,然后利用匿名網(wǎng)絡(luò)流量的時間和包大小特征進行關(guān)聯(lián)的方法,盡管該方法具有很高的準確性,但是攻擊者能夠同時控制匿名網(wǎng)絡(luò)的入口和出口節(jié)點的概率非常低,而協(xié)議漏洞方法常常也被開發(fā)人員修復(fù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的是提供一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法,該方法提高了匿名網(wǎng)絡(luò)隱藏服務(wù)溯源的效率,同時可以廣泛用于打擊利用匿名網(wǎng)絡(luò)的犯罪行為。
針對上述目的,本發(fā)明所采用的技術(shù)方案為:
一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法,其步驟包括:
1)構(gòu)建全球ipv4地址空間的主機指紋信息庫;其中每一個主機(ipv4地址)的指紋信息由所有運行在該主機上的網(wǎng)絡(luò)服務(wù)的指紋信息的并集標識;
2)提取匿名網(wǎng)絡(luò)隱藏服務(wù)開放的端口的指紋信息;其中每一個匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息由該隱藏服務(wù)開放的所有端口的指紋信息的并集標識;
3)將上述提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息在所述全球ipv4地址空間的主機指紋信息庫中進行匹配,以實現(xiàn)匿名網(wǎng)絡(luò)隱藏服務(wù)溯源。
進一步地,步驟1)中采用一種面向互聯(lián)網(wǎng)(ipv4地址空間)的主機指紋標注方法來構(gòu)建全球ipv4地址空間的主機指紋信息庫。
更進一步地,所述面向互聯(lián)網(wǎng)的主機指紋標注方法是指:對于每一個主機,通過zmap網(wǎng)絡(luò)掃描程序識別該主機開放的端口,并提取運行在該主機上的網(wǎng)絡(luò)服務(wù)的指紋信息。
更進一步地,所述網(wǎng)絡(luò)服務(wù)的指紋信息是指網(wǎng)絡(luò)服務(wù)所固有信息的哈希值。
進一步地,步驟1)及步驟2)中所述指紋信息包括http、https、ssh、imap(s)、pop3(s)、bitcoin網(wǎng)絡(luò)服務(wù)的指紋信息。
進一步地,步驟3)中采用基于倒排索引的指紋信息快速查詢方法將上述提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息在所述全球ipv4地址空間的主機指紋信息庫中進行匹配。
更進一步地,所述基于倒排索引的指紋信息快速查詢方法是指:對步驟1)中獲取的每個主機的指紋信息,以每個網(wǎng)絡(luò)端口的指紋信息作為關(guān)鍵字、主機作為值域構(gòu)建倒排索引查詢字典,并在該倒排索引查詢字典中查詢步驟2)中提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息,將所有指紋信息對應(yīng)的查詢結(jié)果做交集得到匿名網(wǎng)絡(luò)隱藏服務(wù)的ipv4地址集合。
本發(fā)明的有益效果在于:本發(fā)明提供一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法,該方法首先利用大規(guī)模網(wǎng)絡(luò)主機掃描方法,采集每一個ipv4主機地址的指紋信息,來構(gòu)建全球ipv4地址空間的主機指紋信息庫;其次,提取匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息,并在全球ipv4地址空間的主機指紋信息庫中進行匹配,如果匹配成功則說明該隱藏服務(wù)位于某個ipv4地址上,從而破解其匿名性,實現(xiàn)隱藏服務(wù)的溯源。該方法具有如下優(yōu)點:
1、利用主機指紋信息進行匿名網(wǎng)絡(luò)隱藏服務(wù)溯源,不需要控制匿名網(wǎng)絡(luò)任何節(jié)點,降低了匿名網(wǎng)絡(luò)隱藏服務(wù)溯源的費用開銷;
2、主機指紋信息與匿名網(wǎng)絡(luò)隱藏服務(wù)指紋信息容易獲取,不需要匿名網(wǎng)絡(luò)中的任何流量信息,解決了數(shù)據(jù)獲取問題;
3、該方法僅僅需要主機的指紋信息與匿名網(wǎng)絡(luò)隱藏服務(wù)指紋信息即可進行匿名性破解,極大地降低了匿名網(wǎng)絡(luò)隱藏服務(wù)溯源的難度。
附圖說明
圖1為本發(fā)明一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法流程圖。
圖2為本發(fā)明查詢匿名網(wǎng)絡(luò)隱藏服務(wù)的ipv4地址的過程示意圖。
圖3為本發(fā)明一實施例的基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法具體流程圖。
具體實施方式
為使本發(fā)明的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合所附圖作詳細說明如下。
本發(fā)明提供一種基于主機指紋的匿名網(wǎng)絡(luò)隱藏服務(wù)溯源方法,如圖1所示,其步驟包括:
1)構(gòu)建全球ipv4地址空間的主機指紋信息庫。
本發(fā)明提出了一種面向互聯(lián)網(wǎng)的主機指紋標注方法,即對于每一個主機,通過zmap等網(wǎng)絡(luò)掃描程序,識別該主機開放的端口,提取運行在該主機上的http、https、ssh、imap(s)、pop3(s)、bitcoin等網(wǎng)絡(luò)服務(wù)的指紋信息;其中每一個主機的指紋信息由所有運行在該主機上的網(wǎng)絡(luò)服務(wù)的指紋信息的并集標識。且本發(fā)明所提取的網(wǎng)絡(luò)服務(wù)指紋信息是某一主機的網(wǎng)絡(luò)服務(wù)所固有的信息的哈希值,該指紋信息不隨時間和客戶端的改變而改變,如httpserver的類型、版本、協(xié)議頭,httpsserver的類型、版本、協(xié)議頭,證書信息,ssh的公鑰信息等,其主機指紋生成算法(即算法1)如表1所示。該算法將每個主機所有開放的端口的網(wǎng)絡(luò)服務(wù)的指紋信息的并集用于唯一標注該主機,其目標輸出是將主機與某指紋信息集合進行關(guān)聯(lián),形成<ipv4,c>形式的信息庫,進而構(gòu)建全球ipv4地址空間的主機指紋信息庫;其中ipv4用于標識主機,c用于標識該主機的指紋信息集合。
2)提取匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息。
本發(fā)明提出了一種面向匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息提取方法,以提取匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息。針對匿名網(wǎng)絡(luò)隱藏服務(wù),通過快速掃描識別某一隱藏服務(wù)是否存活,并驗證特定端口是否開放,然后提取開放的端口的指紋信息;其中每一個匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息由該隱藏服務(wù)開放的所有端口的指紋信息的并集標識。所述提取的指紋信息包括http、https、ssh、imap(s)、pop3(s)、bitcoin等網(wǎng)絡(luò)服務(wù)的指紋信息。其匿名網(wǎng)絡(luò)隱藏服務(wù)指紋生成算法(即算法2)如表2所示。該算法將每個匿名網(wǎng)絡(luò)隱藏服務(wù)所有開放的端口的網(wǎng)絡(luò)服務(wù)的指紋信息的并集用于唯一標注該匿名網(wǎng)絡(luò)隱藏服務(wù),其目標輸出是將匿名網(wǎng)絡(luò)隱藏服務(wù)與某指紋信息集合進行關(guān)聯(lián),形成<onion,f>形式的信息庫;其中onion用于標識匿名網(wǎng)絡(luò)隱藏服務(wù),f用于標識該匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息集合。
表1:主機指紋生成算法
表2:匿名網(wǎng)絡(luò)隱藏服務(wù)指紋生成算法
3)將上述提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息在所述全球ipv4地址空間的主機指紋信息庫中進行匹配;如果匹配成功則說明該匿名網(wǎng)絡(luò)隱藏服務(wù)位于某個ipv4地址上,從而破解其匿名性,實現(xiàn)匿名網(wǎng)絡(luò)隱藏服務(wù)的溯源。
表3:建立全球ipv4地址空間的主機指紋信息倒排索引算法
表4:匿名網(wǎng)絡(luò)隱藏服務(wù)指紋信息快速匹配算法
本發(fā)明提出了一種匿名網(wǎng)絡(luò)隱藏服務(wù)指紋信息快速匹配算法,以將上述提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息在所述全球ipv4地址空間的主機指紋信息庫中進行匹配。該算法是基于倒排索引的指紋信息快速查詢方法,即對步驟1)中獲取的每個主機的指紋信息,以每個網(wǎng)絡(luò)端口的指紋信息作為關(guān)鍵字、主機作為值域構(gòu)建倒排索引查詢字典,并在該倒排索引查詢字典中查詢步驟2)中提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息,將所有指紋信息對應(yīng)的查詢結(jié)果做交集得到匿名網(wǎng)絡(luò)隱藏服務(wù)的ipv4地址集合。其建立全球ipv4地址空間的主機指紋信息倒排索引算法(即算法3)如表3所示,匿名網(wǎng)絡(luò)隱藏服務(wù)指紋信息快速匹配算法(即算法4)如表4所示。其中算法3的輸入是步驟1)構(gòu)建的全球ipv4地址空間的主機指紋信息庫,對主機指紋信息庫中的每個主機,以每個網(wǎng)絡(luò)端口的指紋信息作為關(guān)鍵字、主機作為值域構(gòu)建倒排索引查詢字典,方便進行查詢。該倒排索引查詢字典將具有相同指紋信息的主機ipv4地址集合作為當(dāng)前指紋信息的值域,當(dāng)給定某個匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息時,通過查詢該倒排索引查詢字典,可以在較短時間內(nèi)獲取該指紋信息對應(yīng)的所有可能的主機ipv4地址集合,極大地提高查詢效率。算法4的輸入是某個匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息集合f,對集合f中的每個指紋信息f,依次查詢算法3構(gòu)建的倒排索引查詢字典,將所有指紋信息對應(yīng)的查詢結(jié)果進行交集集合操作,則得到該匿名網(wǎng)絡(luò)隱藏服務(wù)的ipv4地址集合s。
請參考圖2,該圖描述了給定一個匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息集合f,查詢?nèi)騣pv4地址空間的主機指紋信息庫輸出匿名網(wǎng)絡(luò)隱藏服務(wù)ipv4地址的過程,所述f是匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息集合,每個指紋信息使用f表示。譬如某個匿名網(wǎng)絡(luò)隱藏服務(wù)開放了22、443、80三個端口,三個端口的指紋信息分別用f1、f2、f3表示。將三個指紋信息分別從基于全球ipv4地址空間的主機指紋信息庫構(gòu)建的倒排索引查詢字典中查詢對應(yīng)的ipv4集合,分別記作s1、s2、s3,那么該匿名網(wǎng)絡(luò)隱藏服務(wù)對應(yīng)的ipv4地址則為s1∩s2∩s3。
下面以tor匿名網(wǎng)絡(luò)為例來解釋說明本發(fā)明方法,其他的匿名網(wǎng)絡(luò)如i2p匿名網(wǎng)絡(luò)的主要步驟、方法都跟tor匿名網(wǎng)絡(luò)一致。
請參考圖3,對于tor匿名網(wǎng)絡(luò),采用本發(fā)明方法包括以下步驟:
第一步,構(gòu)建全球ipv4地址空間的主機指紋信息庫;其具體包括:
1)添加黑名單,即對于alex排名前100萬的域名所對應(yīng)的ipv4地址設(shè)置黑名單,以跳過這些ipv4地址的掃描。
2)利用開源工具zmap等對ipv4地址空間的常見端口(如http、https、ssh、imap(s)、pop3(s)、bitcoin)進行全網(wǎng)掃描。
3)基于步驟1),對每一個ipv4開放的端口進一步進行協(xié)議級的掃描驗證,以提取協(xié)議特征碼,如對于443號端口的https協(xié)議提取其證書信息。
4)構(gòu)建全球ipv4地址空間的主機指紋信息庫,并利用redis集群建立以每個網(wǎng)絡(luò)端口的指紋信息作為關(guān)鍵字、主機作為值域的倒排索引查詢字典,其中建立全球ipv4地址空間的主機指紋信息倒排索引算法(即算法3)如表3所示。
第二步:提取匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息;其具體包括:
1)對每一個匿名網(wǎng)絡(luò)隱藏服務(wù)的常見端口進行快速掃描。
2)基于步驟1),對每一個匿名網(wǎng)絡(luò)隱藏服務(wù)開放的端口進一步進行協(xié)議級的掃描驗證,以提取協(xié)議特征碼,如對于443號端口的https協(xié)議提取其證書信息。
3)根據(jù)步驟2)提取到的匿名網(wǎng)絡(luò)隱藏服務(wù)的特征碼生成指紋信息,將匿名網(wǎng)絡(luò)隱藏服務(wù)與其指紋信息集合進行關(guān)聯(lián),記為<onion,f>,其中onion代表匿名網(wǎng)絡(luò)隱藏服務(wù),f是該匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息集合,每個指紋信息使用f表示。譬如某個匿名網(wǎng)絡(luò)隱藏服務(wù)開放了22、443、80三個端口,三個端口的指紋信息分別用f1、f2、f3表示。
第三步:從所述全球ipv4地址空間的主機指紋信息庫中查詢上述提取的匿名網(wǎng)絡(luò)隱藏服務(wù)的指紋信息。利用算法3查詢該匿名網(wǎng)絡(luò)隱藏服務(wù)所對應(yīng)的ipv4地址,以破解其匿名性,實現(xiàn)匿名網(wǎng)絡(luò)隱藏服務(wù)的溯源。
以上實施僅用以說明本發(fā)明的技術(shù)方案而非對其進行限制,本領(lǐng)域的普通技術(shù)人員可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明的精神和范圍,本發(fā)明的保護范圍應(yīng)以權(quán)利要求書所述為準。