專利名稱:基于p2p的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)安全領(lǐng)域的僵尸網(wǎng)絡(luò)檢測系統(tǒng)和方法,尤其涉及一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法。
背景技術(shù):
計(jì)算機(jī)網(wǎng)絡(luò)是當(dāng)今社會最為重要的信息設(shè)施,隨著社會的高速發(fā)展,人們對計(jì)算機(jī)網(wǎng)絡(luò)安全的要求也越來越高。僵尸網(wǎng)絡(luò)(Botnet)是指攻擊者制造并傳播僵尸程序以控制大量主機(jī)(通常所說的僵尸機(jī)或肉雞),利用命令和控制(Co_and and Control,C&C)通道組織成的網(wǎng)絡(luò),僵尸網(wǎng)絡(luò)經(jīng)常被用于發(fā)起分布式拒絕服務(wù)(DistributedDenial-of-Service, DDoS)攻擊、發(fā)送垃圾郵件、傳播或托管惡意代碼和釣魚網(wǎng)站,或者實(shí)施身份信息竊取等攻擊。近年來,僵尸網(wǎng)絡(luò)已對計(jì)算機(jī)網(wǎng)絡(luò)安全和社會經(jīng)濟(jì)構(gòu)成了極大的威脅,成為網(wǎng)絡(luò)安全領(lǐng)域的重要問題,僵尸網(wǎng)絡(luò)攻擊相關(guān)的網(wǎng)絡(luò)刑事案件也頻頻出現(xiàn)于各種媒體之上?,F(xiàn)有的基于網(wǎng)絡(luò)通信監(jiān)測的僵尸網(wǎng)絡(luò)檢測技術(shù)和方法,大多基于對僵尸網(wǎng)絡(luò)C&C通信常用的IRC和HTTP協(xié)議分析,以及僵尸網(wǎng)絡(luò)感染主機(jī)的攻擊等異常行為的檢測??傮w看來,在現(xiàn)有的技術(shù)中,僵尸網(wǎng)絡(luò)檢測機(jī)制大多是對于特定監(jiān)測點(diǎn)的流量特征和行為特征進(jìn)行分析,局限于僵尸網(wǎng)絡(luò)在特定區(qū)域的活動。然而,僵尸網(wǎng)絡(luò)普遍具有克隆和遷移的現(xiàn)象,在一個(gè)監(jiān)測點(diǎn)的僵尸網(wǎng)絡(luò)可能通過操作系統(tǒng)和軟件漏洞等途徑,傳播到另一個(gè)監(jiān)測點(diǎn)的網(wǎng)絡(luò)中。因此,將分布在不同地區(qū)的監(jiān)測點(diǎn)聯(lián)合起來進(jìn)行協(xié)作檢測是快速、準(zhǔn)確地發(fā)現(xiàn)和跟蹤僵尸網(wǎng)絡(luò)的有效手段。P2P (Peer-to-Peer)對等網(wǎng)絡(luò),又稱為端對端技術(shù),作為一種新的網(wǎng)絡(luò)通信模式,其每個(gè)節(jié)點(diǎn)都具有同等的能力,通常不依賴一個(gè)中心的服務(wù)器,因此,P2P網(wǎng)絡(luò)具有去中心化、可擴(kuò)展、健壯、高性能和負(fù)載均衡的特點(diǎn)。分布式散列表(Distributed Hash Table,DHT)是一種純分布式的結(jié)構(gòu)化P2P網(wǎng)絡(luò),提供類似于散列表的鍵值(Key-Value)存儲和查詢服務(wù),它將關(guān)鍵值空間(Keyspace)分區(qū)并指定到DHT的節(jié)點(diǎn)上,并且可以有效地將消息傳遞到擁有某一關(guān)鍵值(Key)的節(jié)點(diǎn)?;赑2P網(wǎng)絡(luò),尤其是DHT技術(shù),可以創(chuàng)建數(shù)據(jù)共享、檢索、內(nèi)容分發(fā)和實(shí)時(shí)通信等應(yīng)用,從而實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)的分布式協(xié)作機(jī)制。因此,本領(lǐng)域的技術(shù)人員致力于開發(fā)一種可以基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法。
發(fā)明內(nèi)容
有鑒于現(xiàn)有的僵尸網(wǎng)絡(luò)檢測方法的缺陷,本發(fā)明提出了一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法,利用DHT將分布在不同監(jiān)測點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序結(jié)合,實(shí)現(xiàn)分布式協(xié)作檢測,從而提高僵尸網(wǎng)絡(luò)檢測和跟蹤的效率和準(zhǔn)確性。本發(fā)明提供了一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng),所述檢測系統(tǒng)由多個(gè)協(xié)作檢測的對等節(jié)點(diǎn)組成,所述對等節(jié)點(diǎn)基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P網(wǎng)絡(luò),本發(fā)明的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)以運(yùn)行在單個(gè)對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序的檢測結(jié)果為輸入,如檢測報(bào)告或程序日志,本發(fā)明中不關(guān)心運(yùn)行在單個(gè)對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序采用的檢測方法,將運(yùn)行在所述單個(gè)對等節(jié)點(diǎn)的檢測程序統(tǒng)一稱作 IDS (Intrusion Detection System,入侵檢測系統(tǒng))。進(jìn)一步地,所述對等節(jié)點(diǎn)包括:(I) DHT通信模塊:用于實(shí)現(xiàn)DHT通信協(xié)議,提供DHT數(shù)據(jù)的訪問接口put (key, value) > get (key)以及散列函數(shù) hash (data);(2) IDS傳感器接口:用于讀取IDS的檢測結(jié)果,并通過所述DHT通信模塊發(fā)布到DHT網(wǎng)絡(luò)上;(3)查詢客戶端接口:用于接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求,從所述DHT網(wǎng)絡(luò)上獲得請求的數(shù)據(jù),并返回給所述查詢客戶端;(4)協(xié)作檢測算法模塊:用于對所述DHT網(wǎng)絡(luò)存儲到本節(jié)點(diǎn)的所述IDS檢測結(jié)果進(jìn)行評估以判斷所述IDS檢測結(jié)果涉及的IP地址是否為僵尸網(wǎng)絡(luò)主機(jī)。優(yōu)選地,所述對等節(jié)點(diǎn)的個(gè)數(shù)為兩個(gè)以上。本發(fā)明還提供了一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法,所述檢測方法步驟包括:(I)、多個(gè)協(xié)作檢測的對等節(jié)點(diǎn)基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P系統(tǒng),所述對等節(jié)點(diǎn)包括,DHT通信模塊:用于實(shí)現(xiàn)DHT通信協(xié)議,提供DHT數(shù)據(jù)的訪問接口put (key, value)、get (key)以及散列函數(shù)hash (data) ; IDS傳感器接口:用于讀取IDS的檢測結(jié)果,并通過所述DHT通信模塊發(fā)布到DHT網(wǎng)絡(luò)上;查詢客戶端接口:用于接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求,從所述DHT網(wǎng)絡(luò)上獲得請求的數(shù)據(jù),并返回給所述查詢客戶端;協(xié)作檢測算法模塊:用于對所述DHT網(wǎng)絡(luò)存儲到本節(jié)點(diǎn)的所述IDS檢測結(jié)果進(jìn)行運(yùn)算,以判斷所述IDS檢測結(jié)果涉及的IP地址是否為僵尸網(wǎng)絡(luò)主機(jī);(2)、對等節(jié)點(diǎn)A的IDS傳感器接口讀取IDS的檢測結(jié)果,并將所述檢測結(jié)果中屬于外部網(wǎng)絡(luò)范圍的IP地址記作ipaddr,所述檢測結(jié)果所含數(shù)據(jù)部分記作data ;(3)、計(jì)算關(guān)鍵值k=hash(ipaddr),并通過對等節(jié)點(diǎn)A的DHT通信模塊執(zhí)行put (k, data)操作,其中hash為哈希函數(shù);(4)、負(fù)責(zé)所述關(guān)鍵值k的對等節(jié)點(diǎn)B的DHT通信模塊接收來自所述對等節(jié)點(diǎn)A的數(shù)據(jù),然后將{ipaddr, data}存儲到本地?cái)?shù)據(jù)庫中;(5)、所述對等節(jié)點(diǎn)B的協(xié)作檢測算法模塊從所述對等節(jié)點(diǎn)B的本地?cái)?shù)據(jù)庫中讀取所有與ipaddr關(guān)聯(lián)的IDS檢測結(jié)果,得到一組data,并對所述得到的一組data進(jìn)行分析,判斷ipaddr是否屬于僵尸網(wǎng)絡(luò)主機(jī);(6)、如果步驟(5)判斷結(jié)果為真,即ipaddr屬于僵尸網(wǎng)絡(luò)主機(jī),則所述對等節(jié)點(diǎn)B在本地將ipaddr標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),并通過所述對等節(jié)點(diǎn)B的DHT通信模塊執(zhí)行put (K_IPBL, ipaddr),將ipaddr添加到所述系統(tǒng)的IP黑名單中,其中,K_IPBL是所述系統(tǒng)預(yù)先定義的IP黑名單所在的DHT關(guān)鍵值。進(jìn)一步地,步驟(6)中,所述對等節(jié)點(diǎn)B在本地將ipaddr標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),并通過所述對等節(jié)點(diǎn)B的DHT通信模塊執(zhí)行put (K_IPBL, ipaddr),將ipaddr添加到所述系統(tǒng)的IP黑名單中,所述系統(tǒng)的查詢客戶端接口接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求并處理,步驟包括:步驟(7):對等節(jié)點(diǎn)C的查詢客戶端接口接受一個(gè)請求,如果請求類型為IP黑名單查詢,查詢的IP地址記作qry_ipaddr,計(jì)算k=hash (qry_ipaddr);反之,如果請求類型為IP黑名單下載,則k=K_IPBL;步驟(8):所述對等節(jié)點(diǎn)C通過DHT通信模塊執(zhí)行g(shù)et(k)操作;步驟(9):對等節(jié)點(diǎn)D接受步驟(8)來自所述對等節(jié)點(diǎn)C的查詢,如果k為K_IPBL,則返回步驟6中來自所有對等節(jié)點(diǎn)的IP黑名單;否則,在本地?cái)?shù)據(jù)庫查詢qry_ipaddr是否標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),然后將結(jié)果返回給所述對等節(jié)點(diǎn)C ;步驟(10):所述對等節(jié)點(diǎn)C的查詢客戶端接口將來自所述對等節(jié)點(diǎn)D的回答(黑名單IP列表或qry_ipaddr查詢結(jié)果)返回給所述查詢客戶端。較佳地,為了使本發(fā)明的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法更好地工作,對加入所述P2P系統(tǒng)的所有對等節(jié)點(diǎn)進(jìn)行認(rèn)證,并且所有通信消息(get、put操作等)應(yīng)加密和校驗(yàn)以確保安全性。進(jìn)一步地,IP黑名單也應(yīng)加入過期機(jī)制,即所有列入黑名單的IP地址具有一個(gè)有效期,定期移除過期的黑名單項(xiàng);同時(shí),對等節(jié)點(diǎn)本地標(biāo)記的惡意IP相應(yīng)地設(shè)置超時(shí)時(shí)間,對于已過期的IP地址,利用協(xié)作檢測算法進(jìn)行重新判定,如果依然符合僵尸網(wǎng)絡(luò)特征,則重新執(zhí)行步驟(6)的黑名單IP發(fā)布操作。本發(fā)明的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法,將分布在不同對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序利用DHT組織起來。本發(fā)明以運(yùn)行在單個(gè)對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序的檢測結(jié)果為輸入,以外部網(wǎng)絡(luò)IP地址為關(guān)鍵值將單個(gè)對等節(jié)點(diǎn)結(jié)果通過DHT發(fā)布,從而,同一 IP地址的檢測報(bào)告將匯聚到同一個(gè)對等節(jié)點(diǎn),該節(jié)點(diǎn)掌握了該IP地址主機(jī)的全部行為,易于判斷檢測報(bào)告對應(yīng)的IP地址是否屬于僵尸網(wǎng)絡(luò)主機(jī)。同時(shí),本發(fā)明的IP黑名單發(fā)布和查詢方法,在允許單個(gè)IP地址檢索的基礎(chǔ)上,還能實(shí)現(xiàn)完整的黑名單IP列表下載。本發(fā)明基于P2P實(shí)現(xiàn)多個(gè)對等節(jié)點(diǎn)的協(xié)作檢測,可提供更廣泛和全面的主機(jī)行為辨識,提高僵尸網(wǎng)絡(luò)檢測和跟蹤的效率和準(zhǔn)確性,并且繼承了 DHT健壯、可擴(kuò)展的特點(diǎn)。以下將結(jié)合附圖對本發(fā)明的構(gòu)思、具體結(jié)構(gòu)及產(chǎn)生的技術(shù)效果作進(jìn)一步說明,以充分地了解本發(fā)明的目的、特征和效果。
圖1是本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)的結(jié)構(gòu)示意圖;圖2是本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)對等節(jié)點(diǎn)結(jié)構(gòu)示意圖;圖3是本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中IDS檢測結(jié)果發(fā)布過程示意圖;圖4是本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中僵尸網(wǎng)絡(luò)主機(jī)黑名單IP發(fā)布過程示意圖;圖5是本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中客戶端查詢處理過程示意圖。
具體實(shí)施例方式圖1示出了本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)的結(jié)構(gòu)示意圖,在本實(shí)施例中提供了一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng),該檢測系統(tǒng)由多個(gè)協(xié)作檢測的對等節(jié)點(diǎn)組成,基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P網(wǎng)絡(luò)。系統(tǒng)每個(gè)對等節(jié)點(diǎn)與IDS傳感器和查詢客戶端交互:讀取IDS的檢測結(jié)果,為查詢客戶端提供IP黑名單查詢和IP黑名單下載服務(wù)。一個(gè)對等節(jié)點(diǎn)可接口的IDS傳感器和查詢客戶端數(shù)量不限,亦可以不連接任何IDS傳感器和查詢客戶端,此時(shí)對等節(jié)點(diǎn)僅作為DHT數(shù)據(jù)存儲和協(xié)作檢測算法運(yùn)算使用。在本發(fā)明中,將運(yùn)行在單個(gè)監(jiān)測點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序統(tǒng)一稱作IDS (IntrusionDetection System,入侵檢測系統(tǒng)),而并不關(guān)心其具體的檢測機(jī)制和實(shí)現(xiàn)方法。本系統(tǒng)的IDS傳感器接口僅讀取單監(jiān)測點(diǎn)檢測程序的檢測結(jié)果(檢測報(bào)告或程序日志),并將其規(guī)范化。圖2示出了本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)對等節(jié)點(diǎn)結(jié)構(gòu)示意圖,本發(fā)明實(shí)施例中的對等節(jié)點(diǎn)模塊包括:I )DHT通信模塊:該模塊實(shí)現(xiàn)任意一種DHT通信協(xié)議,并且為其他模塊提供DHT訪問接口 put (key, value)和 get (key),以及一個(gè)散列函數(shù) hash (data);2) IDS傳感器接口:該模塊讀取IDS的檢測結(jié)果,并通過DHT通信模塊發(fā)布到DHT網(wǎng)絡(luò)上;3)查詢客戶端接口:該模塊接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求,從DHT上獲得請求的數(shù)據(jù),并返回給查詢客戶端;4)協(xié)作檢測算法模塊:該模塊對DHT網(wǎng)絡(luò)存儲到本節(jié)點(diǎn)的IDS檢測結(jié)果進(jìn)行運(yùn)算,以判斷IDS檢測結(jié)果涉及的IP地址是否為僵尸網(wǎng)絡(luò)主機(jī)。對等節(jié)點(diǎn)模塊利用一個(gè)本地的數(shù)據(jù)庫管理DHT通信模塊接收并存儲在本節(jié)點(diǎn)的數(shù)據(jù),協(xié)作檢測算法也從該數(shù)據(jù)庫中讀取信息以判斷某個(gè)主機(jī)是否為僵尸網(wǎng)絡(luò)主機(jī),然后把判斷結(jié)果保存回該本地?cái)?shù)據(jù)庫中。圖3示出了本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中IDS檢測結(jié)果發(fā)布過程示意圖,顯示了 IDS傳感器接口獲取了一個(gè)IDS檢測結(jié)果后的處理過程。將采集IDS檢測結(jié)果的節(jié)點(diǎn)記作對等節(jié)點(diǎn)A。對等節(jié)點(diǎn)A的IDS傳感器接口獲取一個(gè)IDS的檢測結(jié)果,將檢測結(jié)果中屬于外部網(wǎng)絡(luò)范圍的IP地址保存為ipaddr,檢測結(jié)果所含的數(shù)據(jù)規(guī)范化后保存為data。然后,計(jì)算發(fā)布此結(jié)果所用的DHT關(guān)鍵值:k=hash (ipaddr),通過DHT通信模塊執(zhí)行put (k, data)操作發(fā)布采集到的檢測結(jié)果。該結(jié)果被路由到對等節(jié)點(diǎn)B并保存在對等節(jié)點(diǎn)B的本地?cái)?shù)據(jù)庫中。圖4示出了本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中僵尸網(wǎng)絡(luò)主機(jī)黑名單IP發(fā)布過程示意圖,顯示了協(xié)作檢測算法判定并發(fā)布僵尸網(wǎng)絡(luò)主機(jī)黑名單IP的過程。對等節(jié)點(diǎn)B接收到來自對等節(jié)點(diǎn)A的檢測結(jié)果后,對等節(jié)點(diǎn)B的協(xié)作檢測算法從對等節(jié)點(diǎn)B的本地?cái)?shù)據(jù)庫中讀取所有與ipaddr關(guān)聯(lián)的IDS檢測結(jié)果(即一組data),然后判斷ipaddr是否屬于僵尸網(wǎng)絡(luò)主機(jī)。這里,讀取的一組data包括但不僅限于來自對等節(jié)點(diǎn)A的檢測結(jié)果,它包含了 DHT所有對等節(jié)點(diǎn)發(fā)布的與ipaddr關(guān)聯(lián)的data。由于IDS檢測結(jié)果發(fā)布以ipaddr為關(guān)鍵值,因此,所有與ipaddr有關(guān)的檢測結(jié)果都將匯集到對等節(jié)點(diǎn)B。對等節(jié)點(diǎn)B擁有DHT中關(guān)于主機(jī)ipaddr的所有行為報(bào)告,從而容易對ipaddr作出是否為僵尸網(wǎng)絡(luò)主機(jī)的判斷。如果協(xié)作檢測算法判定ipaddr為僵尸網(wǎng)絡(luò)主機(jī)IP地址,對等節(jié)點(diǎn)B則在本地?cái)?shù)據(jù)庫中將ipaddr標(biāo)記為惡意,并且,通過DHT通信模塊執(zhí)行put (K_IPBL, ipaddr)將ipaddr添加到協(xié)作檢測系統(tǒng)的IP黑名單中。這里,K_IPBL是DHT的一個(gè)關(guān)鍵值,是本系統(tǒng)預(yù)先定義的IP黑名單所在的關(guān)鍵值。假定關(guān)鍵值K_IPBL被分派到對等節(jié)點(diǎn)C,對等節(jié)點(diǎn)C接收到來自B的消息后,將ipaddr添加到本地?cái)?shù)據(jù)庫的IP黑名單列表中。圖5示出了本發(fā)明的一個(gè)較佳實(shí)施例中的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法中客戶端查詢處理過程示意圖,顯示了查詢客戶端接口處理客戶端查詢請求的過程,查詢客戶端接口可提供IP黑名單查詢和IP黑名單下載兩種服務(wù)。首先,對于IP黑名單查詢,假設(shè)對等節(jié)點(diǎn)D的查詢客戶端發(fā)起請求,查詢ipaddr是否為僵尸網(wǎng)絡(luò)主機(jī)。對等節(jié)點(diǎn)D計(jì)算DHT查詢的關(guān)鍵值k=hash (ipaddr),然后通過DHT通信模塊執(zhí)行g(shù)et (k)的操作,該消息被路由到對等節(jié)點(diǎn)B。對等節(jié)點(diǎn)B搜索本地?cái)?shù)據(jù)庫以判斷ipaddr在本節(jié)點(diǎn)是否被標(biāo)記為惡意(僵尸網(wǎng)絡(luò)主機(jī)),如果是,則向?qū)Φ裙?jié)點(diǎn)D返回TRUE,否則,返回FALSE。對等節(jié)點(diǎn)D接收到來自B的回答后,將結(jié)果返回給所述查詢客戶端。其次,對于IP黑名單下載請求,對等節(jié)點(diǎn)E通過DHT通信模塊發(fā)起查詢get (K_IPBL),該消息被路由到負(fù)責(zé)關(guān)鍵值K_IPBL的對等節(jié)點(diǎn)C,對等節(jié)點(diǎn)C將本地?cái)?shù)據(jù)庫中所有的黑名單IP全部返回給對等節(jié)點(diǎn)E。這個(gè)黑名單IP列表包含了來自DHT中所有對等節(jié)點(diǎn)通過put (K_IPBL, ipaddr)操作提交的僵尸網(wǎng)絡(luò)主機(jī)IP。為了使本發(fā)明實(shí)施例的基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法更好地工作,對加入P2P網(wǎng)絡(luò)的所有對等節(jié)點(diǎn)進(jìn)行認(rèn)證,并且所有通信消息(get、put操作等)應(yīng)加密和校驗(yàn)以確保安全性。更進(jìn)一步地,IP黑名單也應(yīng)加入過期機(jī)制,即所有列入黑名單的IP地址具有一個(gè)有效期,定期移除過期的黑名單項(xiàng);同時(shí),其他對等節(jié)點(diǎn)本地標(biāo)記的惡意IP相應(yīng)地設(shè)置超時(shí)時(shí)間,對于已過期的IP地址,利用協(xié)作檢測算法進(jìn)行重新判定,如果依然符合僵尸網(wǎng)絡(luò)特征,則重新執(zhí)行步驟(6)的黑名單IP發(fā)布操作。以上詳細(xì)描述了本發(fā)明的較佳具體實(shí)施例。應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思作出諸多修改和變化。因此,凡本技術(shù)領(lǐng)域中技術(shù)人員依本發(fā)明的構(gòu)思在現(xiàn)有技術(shù)的基礎(chǔ)上通過邏輯分析、推理或者有限的實(shí)驗(yàn)可以得到的技術(shù)方案,皆應(yīng)在由權(quán)利要求書所確定的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng),其特征在于,所述檢測系統(tǒng)包括多個(gè)協(xié)作檢測的對等節(jié)點(diǎn),所述對等節(jié)點(diǎn)基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述對等節(jié)點(diǎn)包括: DHT通信模塊,其用于實(shí)現(xiàn)DHT通信協(xié)議,提供DHT數(shù)據(jù)的訪問接口 put (key, value)、訪問接口 get (key)以及散列函數(shù)hash (data); IDS傳感器接口,其用于讀取IDS的檢測結(jié)果,并通過所述DHT通信模塊發(fā)布到DHT網(wǎng)絡(luò)上; 查詢客戶端接口,其用于接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求,從所述DHT網(wǎng)絡(luò)上獲得請求的數(shù)據(jù),并返回給所述查詢客戶端; 協(xié)作檢測算法模塊,其用于對所述DHT網(wǎng)絡(luò)存儲到所述對等節(jié)點(diǎn)的所述IDS檢測結(jié)果進(jìn)行評估以判斷所述IDS檢測結(jié)果涉及的IP地址是否為僵尸網(wǎng)絡(luò)主機(jī)。
3.一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測方法,其特征在于,包括如下步驟: (1)、多個(gè)協(xié)作檢測的對等節(jié)點(diǎn)基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P系統(tǒng),所述對等節(jié)點(diǎn)包括DHT通信模塊、IDS傳感器接口、查詢客戶端接口和協(xié)作檢測算法模塊;所述DHT通信模塊用于實(shí)現(xiàn)DHT通信協(xié)議,提供DHT數(shù)據(jù)的訪問接口 put (key, value)、訪問接口 get (key)以及散列函數(shù)hash (data);所述IDS傳感器接口用于讀取IDS的檢測結(jié)果,并通過所述DHT通信模塊發(fā)布到DHT網(wǎng)絡(luò)上;所述查詢客戶端接口用于接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求,從所述DHT網(wǎng)絡(luò)上獲得請求的數(shù)據(jù),并返回給所述查詢客戶端;所述協(xié)作檢測算法模塊用于對所述DHT網(wǎng)絡(luò)存儲到本節(jié)點(diǎn)的所述IDS檢測結(jié)果進(jìn)行運(yùn)算,以判斷所述IDS檢測結(jié)果涉及的IP地址是否為僵尸網(wǎng)絡(luò)主機(jī); (2)、對等節(jié)點(diǎn)(A)的IDS傳感器接口讀取IDS的檢測結(jié)果,并將所述檢測結(jié)果中屬于外部網(wǎng)絡(luò)范圍的IP地址記作ipaddr,所述檢測結(jié)果所含數(shù)據(jù)部分記作data ; (3)、計(jì)算關(guān)鍵值k=hash(ipaddr),并通過對等節(jié)點(diǎn)(A)的DHT通信模塊執(zhí)行put (k, data)操作; (4)、負(fù)責(zé)所述關(guān)鍵值k的對等節(jié)點(diǎn)(B)的DHT通信模塊接收來自所述對等節(jié)點(diǎn)(A)的數(shù)據(jù),然后將{ipaddr, data}存儲到本地?cái)?shù)據(jù)庫中; (5)、所述對等節(jié)點(diǎn)(B)的協(xié)作檢測算法模塊從所述對等節(jié)點(diǎn)(B)的本地?cái)?shù)據(jù)庫中讀取所有與ipaddr關(guān)聯(lián)的IDS檢測結(jié)果,得到一組data,并對所述得到的一組data進(jìn)行分析,判斷ipaddr是否屬于僵尸網(wǎng)絡(luò)主機(jī); (6)、如果步驟(5)判斷結(jié)果為真,即ipaddr屬于僵尸網(wǎng)絡(luò)主機(jī),則所述對等節(jié)點(diǎn)(B)在本地將ipaddr標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),并通過所述對等節(jié)點(diǎn)(B)的DHT通信模塊執(zhí)行put (K_IPBL, ipaddr),將ipaddr添加到所述系統(tǒng)的IP黑名單中,其中,K_IPBL是所述系統(tǒng)預(yù)先定義的IP黑名單所在的DHT關(guān)鍵值。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,步驟(6)中,所述對等節(jié)點(diǎn)(B)在本地將ipaddr標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),并通過所述對等節(jié)點(diǎn)(B)的DHT通信模塊執(zhí)行put (K_IPBL, ipaddr),將ipaddr添加到所述系統(tǒng)的IP黑名單中,所述系統(tǒng)的查詢客戶端接口接受查詢客戶端的IP黑名單查詢或IP黑名單下載請求并處理,步驟包括: 步驟(7):對等節(jié)點(diǎn) (C)的查詢客戶端接口接受一個(gè)請求,如果請求類型為IP黑名單查詢,查詢的IP地址記作qry_ipaddr,計(jì)算k=hash (qry_ipaddr);反之,如果請求類型為IP黑名單下載,則k=K_IPBL; 步驟(8):所述對等節(jié)點(diǎn)(C)通過DHT通信模塊執(zhí)行g(shù)et (k)操作; 步驟(9):對等節(jié)點(diǎn)(D)接受步驟(8)來自所述對等節(jié)點(diǎn)(C)的查詢,如果k為K_IPBL,則返回步驟6中來自所有對等節(jié)點(diǎn)的IP黑名單;否則,在本地?cái)?shù)據(jù)庫查詢qry_ipaddr是否標(biāo)記為僵尸網(wǎng)絡(luò)主機(jī),然后將結(jié)果返回給所述對等節(jié)點(diǎn)(C); 步驟(10):所述對等節(jié)點(diǎn)(C)的查詢客戶端接口將來自所述對等節(jié)點(diǎn)(D)的回答(黑名單IP列表或qry_ipa ddr查詢結(jié)果)返回給所述查詢客戶端。
全文摘要
本發(fā)明公開了一種基于P2P的僵尸網(wǎng)絡(luò)分布式協(xié)作檢測系統(tǒng)和方法,所述檢測系統(tǒng)由多個(gè)協(xié)作檢測的對等節(jié)點(diǎn)組成,所述對等節(jié)點(diǎn)基于DHT分布式散列表協(xié)議構(gòu)成結(jié)構(gòu)化的P2P網(wǎng)絡(luò),將分布在不同對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序利用DHT組織起來。本發(fā)明以運(yùn)行在單個(gè)對等節(jié)點(diǎn)的僵尸網(wǎng)絡(luò)檢測程序的檢測結(jié)果為輸入,以外部網(wǎng)絡(luò)IP地址為關(guān)鍵值將單個(gè)對等節(jié)點(diǎn)結(jié)果通過DHT發(fā)布,從而,同一IP地址的檢測報(bào)告將匯聚到同一個(gè)對等節(jié)點(diǎn),該節(jié)點(diǎn)掌握了該IP地址主機(jī)的全部行為,易于判斷檢測報(bào)告對應(yīng)的IP地址是否屬于僵尸網(wǎng)絡(luò)主機(jī)。同時(shí),本發(fā)明的IP黑名單發(fā)布和查詢方法,在允許單個(gè)IP地址檢索的基礎(chǔ)上,還能實(shí)現(xiàn)完整的黑名單IP列表下載。
文檔編號H04L12/26GK103078771SQ201310041810
公開日2013年5月1日 申請日期2013年2月1日 優(yōu)先權(quán)日2013年2月1日
發(fā)明者鄒福泰, 章思宇, 裴蓓, 黃道麗 申請人:上海交通大學(xué), 公安部第三研究所