專利名稱:基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法
技術(shù)領(lǐng)域:
本技術(shù)涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法。
背景技術(shù):
僵尸網(wǎng)絡(luò)(Botnet)是目前網(wǎng)絡(luò)安全領(lǐng)域面臨的重點(diǎn)問(wèn)題,僵尸網(wǎng)絡(luò)采用多種傳播手段,通過(guò)感染大量主機(jī)的僵尸程序,從而在控制者和僵尸主機(jī)之間所形成的一個(gè)控制的網(wǎng)絡(luò)結(jié)構(gòu),僵尸控制者通過(guò)各種傳播方式將僵尸程序感染主機(jī),被感染的僵尸主機(jī)采用控制信道接收僵尸控制者的指令,形成一個(gè)僵尸網(wǎng)絡(luò),進(jìn)行DoS、掃描、發(fā)送垃圾郵件等。它具有蠕蟲(chóng)的傳播特征、木馬似的后門(mén)特征、以及R00TKIT等病毒技術(shù)等多種惡意代碼技術(shù)的綜合。正是由于僵尸網(wǎng)絡(luò)對(duì)互聯(lián)網(wǎng)的危害嚴(yán)重,對(duì)其相關(guān)技術(shù)研究也因此發(fā)展為近年來(lái)的國(guó)內(nèi)外重要研究熱點(diǎn)問(wèn)題。僵尸網(wǎng)絡(luò)檢測(cè)方法主要是通過(guò)各種途徑獲取可能存在僵尸網(wǎng)絡(luò)活動(dòng)的相關(guān)信息,然后根據(jù)僵尸網(wǎng)絡(luò)在這些信息中表征出來(lái)的內(nèi)在特性,應(yīng)用統(tǒng)計(jì)分析、 機(jī)器學(xué)習(xí)、信息理論等多種分析技術(shù)識(shí)別并判斷出僵尸網(wǎng)絡(luò)的存在,甚至確定攻擊者、命令與控制服務(wù)器以及僵尸主機(jī)的位置。目前主要的僵尸網(wǎng)絡(luò)檢測(cè)技術(shù)主要有(1)基于蜜罐的檢測(cè)技術(shù)通過(guò)部署包含蜜罐主機(jī)捕獲互聯(lián)網(wǎng)上實(shí)際傳播的大量僵尸程序。( 基于報(bào)文深度檢測(cè)技術(shù)使用正則表達(dá)式查找受懷疑的IRC匿名名字,評(píng)估匿名名字以確定某個(gè)特定的對(duì)話是否屬于受到bot污染的主機(jī)。(3)基于攻擊行為檢測(cè)技術(shù)認(rèn)為僵尸網(wǎng)絡(luò)短時(shí)間內(nèi)發(fā)送了大量垃圾,通過(guò)檢測(cè)垃圾郵件的方法檢測(cè)僵尸網(wǎng)絡(luò)。傳統(tǒng)的僵尸檢測(cè)方法難以適應(yīng)高速主干網(wǎng)絡(luò)測(cè)量資源的限制,同時(shí)還會(huì)受到部分僵尸網(wǎng)絡(luò)會(huì)話加密和流量隱蔽性等影響。本發(fā)明采用比特向量和IP地址存儲(chǔ)結(jié)構(gòu)雙過(guò)濾機(jī)制,能夠?qū)崿F(xiàn)從高速主干網(wǎng)絡(luò)中實(shí)時(shí)檢測(cè)出僵尸主機(jī)。
發(fā)明內(nèi)容
本發(fā)明實(shí)施的目的提供一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,能夠?qū)崟r(shí)地對(duì)高速主干網(wǎng)絡(luò)流量中的僵尸主機(jī)進(jìn)行檢測(cè),并得到僵尸網(wǎng)絡(luò)的規(guī)模范圍。本發(fā)明的技術(shù)方案是提供了一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于步驟一、設(shè)置一個(gè)比特向量B、一個(gè)IP地址存儲(chǔ)結(jié)構(gòu)、一個(gè)僵尸主機(jī)庫(kù)和一個(gè)僵尸網(wǎng)絡(luò)控制器IP庫(kù),比特向量B是由2m個(gè)比特構(gòu)成的向量,其中m是2的上標(biāo),2-是2的m次冪,m是大于1的正整數(shù),2-個(gè)比特初始值為0,進(jìn)入步驟二 ;步驟二、在比特向量B和IP地址存儲(chǔ)結(jié)構(gòu)中分別記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP,進(jìn)入步驟三;步驟三、當(dāng)測(cè)量器測(cè)量到一個(gè)報(bào)文,測(cè)量器從報(bào)文頭中提取所測(cè)量報(bào)文的源IP地址、宿IP地址,在比特向量B中快速近視查找所測(cè)量報(bào)文的源IP地址,如果在比特向量B中查找成功,則進(jìn)入步驟四,否則進(jìn)入步驟六;步驟四、在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找所測(cè)量報(bào)文的源IP地址,如果在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的所測(cè)量報(bào)文的源IP地址,進(jìn)入步驟五,否則進(jìn)入步驟六;步驟五、將所測(cè)量報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),進(jìn)入步驟六;步驟六、如果處理完所有報(bào)文后,對(duì)僵尸主機(jī)庫(kù)的僵尸主機(jī)進(jìn)行分類匯總生成僵尸網(wǎng)絡(luò)規(guī)模報(bào)告,否則回到步驟三。與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點(diǎn)及有效效果(1)本發(fā)明提出的雙過(guò)濾機(jī)制檢測(cè)僵尸報(bào)文能夠根據(jù)已知的僵尸網(wǎng)絡(luò)控制器IP 集合,從高速主干網(wǎng)絡(luò)中實(shí)時(shí)檢測(cè)出被管理網(wǎng)絡(luò)中被僵尸控制器所控制的僵尸主機(jī)規(guī)模;(2)本發(fā)明是采用一個(gè)比特向量對(duì)所有網(wǎng)絡(luò)流量報(bào)文進(jìn)行快速近似地第一次過(guò)濾,對(duì)于通過(guò)第一次過(guò)濾的報(bào)文然后采用IP地址存儲(chǔ)結(jié)構(gòu)進(jìn)行第二次精確過(guò)濾,比特向量第一次近似過(guò)濾方法只會(huì)存在誤報(bào)不會(huì)存在漏報(bào),第二次精確過(guò)濾將誤報(bào)刪除;(3)由于直接進(jìn)行精確匹配的方法難以適應(yīng)高速網(wǎng)絡(luò)流量需求,本發(fā)明所提出的雙過(guò)濾機(jī)制方法能夠應(yīng)用在大規(guī)模高速主干網(wǎng)絡(luò)的環(huán)境中進(jìn)行僵尸檢測(cè)過(guò)濾。
為了更清楚地說(shuō)明本發(fā)明實(shí)施實(shí)例的技術(shù)方案,下面將對(duì)實(shí)施實(shí)例或現(xiàn)有技術(shù)描述中所需要使用的附圖做簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施實(shí)例。圖1 基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法流程圖。圖2 基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法過(guò)程示意圖。圖3 比特向量B的初始狀態(tài)示意圖,其中比特向量B由23 = 8個(gè)比特構(gòu)成的向量,8個(gè)比特初始值為0。圖4:比特向量B的一個(gè)結(jié)果狀態(tài)示意圖,其中設(shè)已知僵尸網(wǎng)絡(luò)控制器IP庫(kù)中的 IP地址為IPp IP2和IP3,設(shè)置一個(gè)哈希函數(shù)H1,該函數(shù)的輸入是IP地址,輸出是一個(gè)3個(gè)比特的比特串,設(shè) Hl (IP1) = 3、Hl (IP2) = 7、Hl (IP3) = 2。圖5 IP地址存儲(chǔ)結(jié)構(gòu)初始狀態(tài)示意圖,其中IP地址存儲(chǔ)結(jié)構(gòu)是由22 = 4個(gè)32比特正整數(shù)構(gòu)成的向量,初始的時(shí)候這4個(gè)正整數(shù)均設(shè)置為0。圖6 IP地址存儲(chǔ)結(jié)構(gòu)一個(gè)結(jié)果狀態(tài)示意圖,設(shè)置一個(gè)哈希函數(shù)H2的輸入是一個(gè) IP地址,輸出是有一個(gè)2比特的比特串,設(shè)IE(IP1) = U H2 (IP2) = 3, H2 (IP3) = 1。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施實(shí)例中的附圖,對(duì)本發(fā)明實(shí)施實(shí)例中的技術(shù)方案進(jìn)行清楚、完整地描述,當(dāng)然所描述的實(shí)施實(shí)例僅僅是本發(fā)明一部分實(shí)施實(shí)例,而不是全部的實(shí)施實(shí)例。實(shí)施實(shí)例1本發(fā)明實(shí)施例提供了一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,圖1 為本發(fā)明基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法流程示意圖,如圖1所示,該方法包括如下步驟步驟一、設(shè)置一個(gè)比特向量B、一個(gè)IP地址存儲(chǔ)結(jié)構(gòu)、一個(gè)僵尸主機(jī)庫(kù)和一個(gè)僵尸網(wǎng)絡(luò)控制器IP庫(kù),比特向量B是由2m個(gè)比特構(gòu)成的向量,其中m是2的上標(biāo),2-是2的m次冪,m是大于1的正整數(shù),2-個(gè)比特初始值為0,IP地址存儲(chǔ)結(jié)構(gòu)是由2"個(gè)32比特正整數(shù)構(gòu)成的向量,其中η是2的上標(biāo),2η是2的η次冪,2η大于所要檢測(cè)僵尸網(wǎng)絡(luò)控制器IP數(shù)量, 初始的時(shí)候這2η個(gè)正整數(shù)均設(shè)置為0,進(jìn)入步驟二 ;步驟二、在比特向量B和IP地址存儲(chǔ)結(jié)構(gòu)中分別記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器ΙΡ,所述的比特向量B記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP的步驟包括設(shè)置一個(gè)哈希函數(shù)Η1,哈希函數(shù)Hl的輸入是IP地址,輸出是有一個(gè) m個(gè)比特的比特串的步驟,將每個(gè)僵尸網(wǎng)絡(luò)控制器IP地址作為哈希函數(shù)Hl的輸入,并由哈希函數(shù)Hl輸出一個(gè)正整數(shù),并以在這個(gè)正整數(shù)為比特向量B的指針,同時(shí)將指針指向的比特向量B的比特值設(shè)置為1的步驟,IP地址存儲(chǔ)結(jié)構(gòu)記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP包括設(shè)置一個(gè)哈希函數(shù)H2的輸入是一個(gè)IP地址,輸出是由一個(gè)η比特構(gòu)成的比特串,將每個(gè)僵尸網(wǎng)絡(luò)控制器IP作為哈希函數(shù)Η2的輸入生成一個(gè)正整數(shù),并以在這個(gè)正整數(shù)為IP地址存儲(chǔ)結(jié)構(gòu)的指針,查找指針對(duì)應(yīng)的IP地址存儲(chǔ)結(jié)構(gòu)中的值,如果所對(duì)應(yīng)值為0,則將該僵尸網(wǎng)絡(luò)控制器IP地址記錄在指針指向的IP地址存儲(chǔ)結(jié)構(gòu)中的相應(yīng)位置上;如果所對(duì)應(yīng)值不為0, 則從IP地址存儲(chǔ)結(jié)構(gòu)中查找下一個(gè)值,直到找到一個(gè)為0的值,并在與這個(gè)0值所對(duì)應(yīng)的 IP地址存儲(chǔ)結(jié)構(gòu)的位置上記錄所述僵尸網(wǎng)絡(luò)控制器IP地址。步驟三、當(dāng)測(cè)量器測(cè)量到一個(gè)報(bào)文,測(cè)量器從報(bào)文頭中提取所測(cè)量報(bào)文的源IP地址、宿IP地址,在比特向量B中快速近視查找所測(cè)量報(bào)文的源IP地址,將所測(cè)量報(bào)文的源 IP地址作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸出值所對(duì)應(yīng)位置的比特值,如果其比特值為1,返回查找成功,如果在比特向量B中查找成功,則進(jìn)入步驟四,否則進(jìn)入步驟六;步驟四、在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找所測(cè)量報(bào)文的源IP地址,對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找所測(cè)量報(bào)文的源IP地址包括首先將所測(cè)量報(bào)文的源IP地址作為哈希函數(shù)Η2的輸入,查找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置的正整數(shù),從IP地址存儲(chǔ)結(jié)構(gòu)中查找下一個(gè)正整數(shù)方法如果查找到IP地址存儲(chǔ)結(jié)構(gòu)中的最后一個(gè)正整數(shù)后還需要查找下一個(gè)正整數(shù),則從IP地址存儲(chǔ)結(jié)構(gòu)中的第一個(gè)正整數(shù)開(kāi)始查找,如果所對(duì)應(yīng)正整數(shù)等于所測(cè)量報(bào)文的源IP地址,則返回成功查找,否則如果所對(duì)應(yīng)正整數(shù)不等于所測(cè)量報(bào)文的源IP地址,且所對(duì)應(yīng)位置的正整數(shù)值為0,則返回失敗查找,否則進(jìn)入查找IP地址存儲(chǔ)結(jié)構(gòu)中下一個(gè)正整數(shù)繼續(xù)查找,如果在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的所測(cè)量報(bào)文的源IP地址,進(jìn)入步驟五,否則進(jìn)入步驟六;步驟五、將所測(cè)量報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),將所測(cè)量報(bào)文的源IP地址和宿IP地址作為一條記錄寫(xiě)在僵尸主機(jī)庫(kù)中,其中所測(cè)量報(bào)文的源IP地址為僵尸控制器IP地址,所測(cè)量報(bào)文的宿IP地址為受僵尸控制器IP地址所控制的僵尸主機(jī),進(jìn)入步驟六;步驟六、如果處理完所有報(bào)文后,對(duì)僵尸主機(jī)庫(kù)的僵尸主機(jī)進(jìn)行分類匯總生成僵尸網(wǎng)絡(luò)規(guī)模報(bào)告,將僵尸主機(jī)庫(kù)中所有記錄按照源IP地址進(jìn)行聚類,統(tǒng)計(jì)每個(gè)源IP地址所對(duì)應(yīng)不同宿IP地址的數(shù)量作為以源IP地址為僵尸網(wǎng)絡(luò)控制器所控制的僵尸網(wǎng)絡(luò)的規(guī)模, 否則回到步驟三。實(shí)施實(shí)例2步驟一(1)設(shè)置一個(gè)比特向量B、一個(gè)IP地址存儲(chǔ)結(jié)構(gòu)和給定一個(gè)僵尸網(wǎng)絡(luò)控制器IP集合,設(shè)已知僵尸網(wǎng)絡(luò)控制器IP集合中的IP地址為IPi、IP2和IP3,其中比特向量B 由23 = 8個(gè)比特構(gòu)成的向量,8個(gè)比特初始值為0 ;IP地址存儲(chǔ)結(jié)構(gòu)是由22 = 4個(gè)32比特正整數(shù)構(gòu)成的向量,初始的時(shí)候這4個(gè)正整數(shù)均設(shè)置為0,進(jìn)入步驟二 O);步驟二 O)在比特向量B和IP地址存儲(chǔ)結(jié)構(gòu)中分別記錄僵尸網(wǎng)絡(luò)控制器IP集合,其中比特向量B記錄僵尸網(wǎng)絡(luò)控制器IP集合的步驟包括(1)設(shè)置一個(gè)哈希函數(shù)H1,該函數(shù)的輸入是IP地址,輸出是一個(gè)3個(gè)比特的比特串,設(shè) Hl (IP1) = 3, Hl (IP2) = 7, Hl (IP3) = 2 ;(2)將僵尸網(wǎng)絡(luò)控制器IP地址IP1作為哈希函數(shù)Hl的輸入,對(duì)應(yīng)一個(gè)輸出值 Hl(IP1) =3,將比特向量B中輸出值對(duì)應(yīng)位置第3個(gè)比特的比特值設(shè)置為1 ;將僵尸網(wǎng)絡(luò)控制器IP地址IP2作為哈希函數(shù)Hl的輸入,對(duì)應(yīng)一個(gè)輸出值Hl (IP2) = 7,將比特向量B中輸出值對(duì)應(yīng)位置第7個(gè)比特的比特值設(shè)置為1 ;將僵尸網(wǎng)絡(luò)控制器IP地址IP3作為哈希函數(shù)Hl的輸入,對(duì)應(yīng)一個(gè)輸出值Hl (IP3) = 2,將比特向量B中輸出值對(duì)應(yīng)位置第2個(gè)比特的比特值設(shè)置為1 ;IP地址存儲(chǔ)結(jié)構(gòu)記錄僵尸網(wǎng)絡(luò)控制器IP集合的步驟包括(1)設(shè)置一個(gè)哈希函數(shù)H2的輸入是一個(gè)IP地址,輸出是有一個(gè)2比特的比特串, 設(shè)!E(IP1) = 1、H2 (IP2) = 3、H2 (IP3) = 1 ;(2)將僵尸網(wǎng)絡(luò)控制器IP地址IP1作為哈希函數(shù)H2的輸入生成一個(gè)輸出值 H2 (IP1) = 1,查找輸出值對(duì)應(yīng)位置1的IP地址存儲(chǔ)結(jié)構(gòu)中的正整數(shù);(3) IP地址存儲(chǔ)結(jié)構(gòu)中位置1所對(duì)應(yīng)正整數(shù)為0,將該僵尸網(wǎng)絡(luò)控制器IP地址IP1 記錄在位置1所對(duì)應(yīng)正整數(shù)中;(4)將僵尸網(wǎng)絡(luò)控制器IP地址IP2作為哈希函數(shù)H2的輸入生成一個(gè)輸出值 H2 (IP2) = 3,查找輸出值對(duì)應(yīng)位置3的IP地址存儲(chǔ)結(jié)構(gòu)中的正整數(shù);(5) IP地址存儲(chǔ)結(jié)構(gòu)中位置3所對(duì)應(yīng)正整數(shù)為0,將該僵尸網(wǎng)絡(luò)控制器IP地址IP2 記錄在位置1所對(duì)應(yīng)正整數(shù)中;(6)將僵尸網(wǎng)絡(luò)控制器IP地址IP3作為哈希函數(shù)H2的輸入生成一個(gè)輸出值 H2 (IP3) = 1,查找輸出值對(duì)應(yīng)位置1的IP地址存儲(chǔ)結(jié)構(gòu)中的正整數(shù);(7)對(duì)應(yīng)位置1正整數(shù)不為0,則從IP地址存儲(chǔ)結(jié)構(gòu)中查找下一個(gè)位置2的正整數(shù),位置2的正整數(shù)為0,將該僵尸網(wǎng)絡(luò)控制器IP地址IP3記錄在該正整數(shù)中;進(jìn)入步驟三(3)步驟三(3)設(shè)一共測(cè)量到4個(gè)報(bào)文,第一個(gè)報(bào)文的源IP地址為SIP1和宿IP地址為DIP1,第二個(gè)報(bào)文的源IP地址為SIP2和宿IP地址為DIP2,第三個(gè)報(bào)文的源IP地址為 SIP3和宿IP地址為DIP3,第4個(gè)報(bào)文的源IP地址為SIP4和宿IP地址為DIP4,其中SIP1 = IP1^SIP3 = IP3 ;Hl (SIP1) = Hl (IP1) = 3,Hl (SIP2) = 5,Hl (SIP3) = Hl (IP3) = 2,Hl (SIP4) =7 ;H2 (SIP1) = H2 (IP1) = 1、H2 (SIP2) = 2、H2 (SIP3) = H2 (IP3) = 1、H2 (SIP4) = 0 ;對(duì)于第一個(gè)被測(cè)量到的報(bào)文,在比特向量B中匹配其源IP地址SIP1,具體方法是將網(wǎng)絡(luò)報(bào)文的源IP地址SIP1作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸
出值Hl (SIP1) =Hl(IP1) =3所對(duì)應(yīng)位置的比特值,其比特值為1,返回成功,進(jìn)入步驟四 ⑷;步驟四⑷對(duì)于在比特向量B中成功匹配的報(bào)文源IP地址SIP1,在IP地址存儲(chǔ)結(jié)構(gòu)中查找報(bào)文源IP地址SIP1,對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中查找IP地址的具體方法是首先將報(bào)文的源IP地址SIP1作為哈希函數(shù)H2的輸入,查找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置H2 (SIP1) =H2 (IP1) = 1的正整數(shù),所對(duì)應(yīng)正整數(shù)為IP1等于報(bào)文源IP地址SIP1,則返回成功查找,進(jìn)入步驟五(5);步驟五(5)對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的報(bào)文源IP地址,將該報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),具體方法是將報(bào)文的源IP地址和宿IP地址作為一條記錄寫(xiě)在僵尸主機(jī)庫(kù)中,其中報(bào)文的源IP地址為僵尸控制器IP地址,報(bào)文的宿IP 地址為受僵尸控制器IP地址所控制的僵尸主機(jī),進(jìn)入步驟六(6);步驟六(6)處理下一個(gè)被測(cè)量報(bào)文,回到步驟三(7);步驟三(7)對(duì)于第二個(gè)被測(cè)量到的報(bào)文,在比特向量B中匹配其源IP地址SIP2, 具體方法是將網(wǎng)絡(luò)報(bào)文的源IP地址SIP2作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸出值Hl (SIP2) =5所對(duì)應(yīng)位置的比特值,其比特值為0,返回失敗匹配,進(jìn)入步驟六⑶;步驟六(8)處理下一個(gè)被測(cè)量報(bào)文,回到步驟三(9);步驟三(9)對(duì)于第三個(gè)被測(cè)量到的報(bào)文,在比特向量B中匹配其源IP地址SIP3, 具體方法是將網(wǎng)絡(luò)報(bào)文的源IP地址SIP3作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸出值Hl (SIP3) =Hl(IP3) = 2所對(duì)應(yīng)位置的比特值,其比特值為1,返回成功, 進(jìn)入步驟四(10);步驟四(10)對(duì)于在比特向量B中成功匹配的報(bào)文源IP地址SIP3,在IP地址存儲(chǔ)結(jié)構(gòu)中查找報(bào)文源IP地址SIP3,對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中查找IP地址的具體方法是首先將報(bào)文的源IP地址SIP3作為哈希函數(shù)H2的輸入,查找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置H2 (SIP3) = H2 (IP3) = 1的正整數(shù),所對(duì)應(yīng)正整數(shù)為IP1不等于報(bào)文源IP地址SIP3,查找 IP地址存儲(chǔ)結(jié)構(gòu)中第二個(gè)位置正整數(shù),找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置H2 (SIP3)= H2 (IP3) = 1的正整數(shù),所對(duì)應(yīng)正整數(shù)為IP3不等于報(bào)文源IP地址SIP3,進(jìn)入步驟五(11);步驟五(11)對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的報(bào)文源IP地址SIP3,將該報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),具體方法是將報(bào)文的源IP地址和宿IP 地址作為一條記錄寫(xiě)在僵尸主機(jī)庫(kù)中,其中報(bào)文的源IP地址為僵尸控制器IP地址,報(bào)文的宿IP地址為受僵尸控制器IP地址所控制的僵尸主機(jī),進(jìn)入步驟六(12);步驟六(1 處理下一個(gè)被測(cè)量報(bào)文,回到步驟三(13);步驟三(1 當(dāng)?shù)谒膫€(gè)報(bào)文到達(dá)測(cè)量器,測(cè)量器從報(bào)文頭中提取其源IP地址、宿 IP地址,在比特向量B中匹配其源IP地址,具體方法是將網(wǎng)絡(luò)報(bào)文的源IP地址SIP4作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸出值Hl (SIP4) = 7所對(duì)應(yīng)位置的比特值,其比特值為1,返回成功匹配,則進(jìn)入步驟四(14);步驟四(14)對(duì)于在比特向量B中成功匹配的報(bào)文源IP地址SIP4,在IP地址存儲(chǔ)結(jié)構(gòu)中查找報(bào)文源IP地址SIP4,對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中查找IP地址的具體方法是首先將報(bào)文的源IP地址SIP4作為哈希函數(shù)H2的輸入,查找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置H2 (SIP4) = 0的正整數(shù),所對(duì)應(yīng)位置的正整數(shù)值為0,則返回失敗查找,進(jìn)入步驟六 (15);步驟六(15)處理完所有的被測(cè)量報(bào)文后,對(duì)僵尸主機(jī)庫(kù)的僵尸主機(jī)進(jìn)行分類匯總生成僵尸網(wǎng)絡(luò)規(guī)模報(bào)告,具體方法是將僵尸主機(jī)庫(kù)中所有記錄按照源IP地址進(jìn)行聚類,統(tǒng)計(jì)每個(gè)源IP地址相同而不同宿IP地址的數(shù)量作為源IP地址僵尸網(wǎng)絡(luò)控制器所控制的僵尸網(wǎng)絡(luò)的規(guī)模,輸出結(jié)果為僵尸控制器IP地址IP1,控制僵尸主機(jī)1個(gè);僵尸控制器IP地址IP2,控制僵尸主機(jī)0個(gè);僵尸控制器IP地址IP3,控制僵尸主機(jī)1個(gè);方法結(jié)束。
權(quán)利要求
1.一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于步驟一、設(shè)置一個(gè)比特向量B、一個(gè)IP地址存儲(chǔ)結(jié)構(gòu)、一個(gè)僵尸主機(jī)庫(kù)和一個(gè)僵尸網(wǎng)絡(luò)控制器IP庫(kù),比特向量B是由2m個(gè)比特構(gòu)成的向量,其中m是2的上標(biāo),2m是2的m次冪, m是大于1的正整數(shù),2-個(gè)比特初始值為0,進(jìn)入步驟二 ;步驟二、在比特向量B和IP地址存儲(chǔ)結(jié)構(gòu)中分別記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP,進(jìn)入步驟三;步驟三、當(dāng)測(cè)量器測(cè)量到一個(gè)報(bào)文,測(cè)量器從報(bào)文頭中提取所測(cè)量報(bào)文的源IP地址、 宿IP地址,在比特向量B中快速近視查找所測(cè)量報(bào)文的源IP地址,如果在比特向量B中查找成功,則進(jìn)入步驟四,否則進(jìn)入步驟六;步驟四、在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找所測(cè)量報(bào)文的源IP地址,如果在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的所測(cè)量報(bào)文的源IP地址,進(jìn)入步驟五,否則進(jìn)入步驟六;步驟五、將所測(cè)量報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),進(jìn)入步驟六;步驟六、如果處理完所有報(bào)文后,對(duì)僵尸主機(jī)庫(kù)的僵尸主機(jī)進(jìn)行分類匯總生成僵尸網(wǎng)絡(luò)規(guī)模報(bào)告,否則回到步驟三。
2.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的比特向量B記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP的步驟包括設(shè)置一個(gè)哈希函數(shù)H1,哈希函數(shù)Hl的輸入是IP地址,輸出是有一個(gè)m個(gè)比特的比特串的步驟;將每個(gè)僵尸網(wǎng)絡(luò)控制器IP地址作為哈希函數(shù)Hl的輸入,并由哈希函數(shù)Hl輸出一個(gè)正整數(shù),并以在這個(gè)正整數(shù)為比特向量B的指針,同時(shí)將指針指向的比特向量B的比特值設(shè)置為1的步驟。
3.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的IP地址存儲(chǔ)結(jié)構(gòu)是由2"個(gè)32比特正整數(shù)構(gòu)成的向量,其中η是2的上標(biāo),2"是 2的η次冪,2η大于所要檢測(cè)僵尸網(wǎng)絡(luò)控制器IP數(shù)量,初始的時(shí)候這2η個(gè)正整數(shù)均設(shè)置為 O0
4.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的IP地址存儲(chǔ)結(jié)構(gòu)記錄僵尸網(wǎng)絡(luò)控制器IP庫(kù)內(nèi)所有的僵尸網(wǎng)絡(luò)控制器IP的步驟包括設(shè)置一個(gè)哈希函數(shù)Η2的輸入是一個(gè)IP地址,輸出是由一個(gè)η比特構(gòu)成的比特串的步驟;將每個(gè)僵尸網(wǎng)絡(luò)控制器IP作為哈希函數(shù)Η2的輸入生成一個(gè)正整數(shù),并以在這個(gè)正整數(shù)為IP地址存儲(chǔ)結(jié)構(gòu)的指針,查找指針對(duì)應(yīng)的IP地址存儲(chǔ)結(jié)構(gòu)中的值,如果所對(duì)應(yīng)值為0, 則將該僵尸網(wǎng)絡(luò)控制器IP地址記錄在指針指向的IP地址存儲(chǔ)結(jié)構(gòu)中的相應(yīng)位置上;如果所對(duì)應(yīng)值不為0,則從IP地址存儲(chǔ)結(jié)構(gòu)中查找下一個(gè)值,直到找到一個(gè)為0的值,并在與這個(gè)0值所對(duì)應(yīng)的IP地址存儲(chǔ)結(jié)構(gòu)的位置上記錄所述僵尸網(wǎng)絡(luò)控制器IP地址。
5.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的在比特向量B中快速近視查找所測(cè)量報(bào)文的源IP地址是將所測(cè)量報(bào)文的源IP 地址作為哈希函數(shù)Hl的輸入,查找比特向量B中哈希函數(shù)Hl輸出值所對(duì)應(yīng)位置的比特值, 如果其比特值為1,返回查找成功的步驟。
6.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,對(duì)于在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找所測(cè)量報(bào)文的源IP地址包括步驟6. 1、將所測(cè)量報(bào)文的源IP地址作為哈希函數(shù)H2的輸入,查找IP地址存儲(chǔ)結(jié)構(gòu)中輸出值對(duì)應(yīng)位置的正整數(shù),進(jìn)入步驟6. 2 ;步驟6. 2、如果所對(duì)應(yīng)正整數(shù)等于所測(cè)量報(bào)文的源IP地址,則返回成功查找,否則進(jìn)入步驟6. 3 ;步驟6. 3、如果所對(duì)應(yīng)正整數(shù)不等于所測(cè)量報(bào)文的源IP地址,且所對(duì)應(yīng)位置的正整數(shù)值為0,則返回失敗查找,否則進(jìn)入步驟6. 4 ;步驟6. 4、查找IP地址存儲(chǔ)結(jié)構(gòu)中下一個(gè)正整數(shù),回到上一步驟6. 3。
7.根據(jù)權(quán)利要求4或6所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的從IP地址存儲(chǔ)結(jié)構(gòu)中查找下一個(gè)正整數(shù)方法如果查找到IP地址存儲(chǔ)結(jié)構(gòu)中的最后一個(gè)正整數(shù)后還需要查找下一個(gè)正整數(shù),則從IP地址存儲(chǔ)結(jié)構(gòu)中的第一個(gè)正整數(shù)開(kāi)始查找。
8.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的將所測(cè)量報(bào)文的宿IP地址作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù)的方法是將所測(cè)量報(bào)文的源IP地址和宿IP地址作為一條記錄寫(xiě)在僵尸主機(jī)庫(kù)中,其中所測(cè)量報(bào)文的源IP地址為僵尸控制器IP地址,所測(cè)量報(bào)文的宿IP地址為受僵尸控制器IP地址所控制的僵尸主機(jī)。
9.根據(jù)權(quán)利要求1所述的基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,其特征在于,所述的分類匯總僵尸網(wǎng)絡(luò)規(guī)模報(bào)告的方法為將僵尸主機(jī)庫(kù)中所有記錄按照源IP地址進(jìn)行聚類,統(tǒng)計(jì)每個(gè)源IP地址所對(duì)應(yīng)不同宿IP地址的數(shù)量作為以源IP地址為僵尸網(wǎng)絡(luò)控制器所控制的僵尸網(wǎng)絡(luò)的規(guī)模。
全文摘要
一種基于雙過(guò)濾機(jī)制的高速網(wǎng)絡(luò)僵尸報(bào)文的檢測(cè)方法,設(shè)置比特向量、IP地址存儲(chǔ)結(jié)構(gòu)和僵尸網(wǎng)絡(luò)控制器庫(kù),在比特向量和IP地址存儲(chǔ)結(jié)構(gòu)中分別記錄僵尸網(wǎng)絡(luò)控制器IP集合,對(duì)于測(cè)量器獲取的報(bào)文,測(cè)量器提取源IP、宿IP,在比特向量中快速近似查找源IP,如果在比特向量中成功匹配的報(bào)文源IP,則在IP地址存儲(chǔ)結(jié)構(gòu)中精確查找報(bào)文源IP,如果在IP地址存儲(chǔ)結(jié)構(gòu)中成功查找到的報(bào)文源IP,將該報(bào)文的宿IP作為僵尸主機(jī)加入到僵尸主機(jī)庫(kù),如果處理完所有的被測(cè)量報(bào)文后,對(duì)僵尸主機(jī)庫(kù)的僵尸主機(jī)進(jìn)行分類匯總生成僵尸網(wǎng)絡(luò)規(guī)模報(bào)告,本發(fā)明能夠根據(jù)僵尸網(wǎng)絡(luò)控制器庫(kù),從高速主干網(wǎng)絡(luò)中實(shí)時(shí)檢測(cè)出被僵尸控制器所控制的僵尸主機(jī)及其規(guī)模。
文檔編號(hào)H04L12/56GK102437936SQ20111042885
公開(kāi)日2012年5月2日 申請(qǐng)日期2011年12月20日 優(yōu)先權(quán)日2011年12月20日
發(fā)明者程光 申請(qǐng)人:東南大學(xué)