專利名稱::一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法
技術(shù)領(lǐng)域:
:本項(xiàng)目涉及一種采樣技術(shù),特別是一種針對(duì)異常檢測(cè)的數(shù)據(jù)包采樣技術(shù)。(二)
背景技術(shù):
:隨著大規(guī)模、高速互聯(lián)網(wǎng)的發(fā)展,流量全采集測(cè)量技術(shù)己經(jīng)無(wú)法繼續(xù)進(jìn)行。由于監(jiān)測(cè)設(shè)備軟硬件的限制,在高速鏈路和路由器中,使用包采樣技術(shù)來(lái)減少需要處理的數(shù)據(jù)包數(shù)目已成為流量監(jiān)測(cè)分析中的一種重要方法,也是正TF的IPFIX和PSAMP工作組推薦的方法?,F(xiàn)有的數(shù)據(jù)包采樣算法在網(wǎng)絡(luò)流量監(jiān)測(cè)分析中得到了廣泛的應(yīng)用,如思科的NetFlow。近年來(lái),隨著安全分析變得越來(lái)越重要,網(wǎng)絡(luò)流量的采樣數(shù)據(jù)又被廣泛作為異常檢測(cè)的數(shù)據(jù)源,如用來(lái)檢測(cè)拒絕服務(wù)攻擊DoS、蠕蟲攻擊和端口掃描攻擊等。因此,對(duì)于ISP來(lái)說(shuō),為了確保服務(wù)質(zhì)量和提供增值服務(wù),準(zhǔn)確捕獲網(wǎng)絡(luò)中的異常流不僅是可取的也是必需的。隨著采樣技術(shù)逐漸應(yīng)用到異常檢測(cè)中,采樣算法對(duì)異常檢測(cè)的影響也成為學(xué)術(shù)界廣泛討論的話題。目前,在網(wǎng)絡(luò)流量抽樣測(cè)量方面,使用最廣泛的是基于IP流的隨機(jī)報(bào)文采樣方法,它的特點(diǎn)是簡(jiǎn)單,可行,易于操作。它傾向于采集長(zhǎng)流,而對(duì)短流的采樣率則很低。然而,網(wǎng)絡(luò)異常流通常由突發(fā)的一系列短流組成,且大部分僅為單個(gè)報(bào)文。不難想象,如果用隨機(jī)采樣方法的抽樣數(shù)據(jù)作為異常檢測(cè)分析的數(shù)據(jù)源,不可避免地會(huì)對(duì)異常檢測(cè)產(chǎn)生影響。為了分析現(xiàn)有的采樣算法對(duì)異常檢測(cè)的影響,研究者分別將隨機(jī)包采樣、隨機(jī)流采樣、smart釆樣和sample-and-hold采樣應(yīng)用在流量異常檢測(cè)和portscan檢測(cè)這兩種檢測(cè)技術(shù)上進(jìn)行實(shí)驗(yàn)。通過(guò)分析不同采樣算法對(duì)流量異常檢測(cè)和portscan檢測(cè)的影響,指出由于這些采樣算法在設(shè)計(jì)時(shí)并沒(méi)有考慮將來(lái)要用于異常檢測(cè),所以其抽樣結(jié)果影響了異常檢測(cè)的正確性,同時(shí)還建議今后需要設(shè)計(jì)一種新的抽樣方法來(lái)解決該問(wèn)題。由于現(xiàn)有的采樣技術(shù)極大地影響了其用于異常檢測(cè)時(shí)檢測(cè)結(jié)果的正確性,已有不少研究者開展了這方面的研究工作,提出了一些解決此問(wèn)題的方法和技5術(shù)。例如利用攻擊流的特征分布和入侵檢測(cè)系統(tǒng)檢測(cè)結(jié)果的反饋來(lái)指導(dǎo)采樣過(guò)程。這種方法在采樣概率較大時(shí)能很好地捕獲攻擊報(bào)文,但當(dāng)采樣概率相對(duì)攻擊規(guī)模來(lái)說(shuō)較小時(shí),采樣數(shù)據(jù)的失真會(huì)導(dǎo)致入侵檢測(cè)系統(tǒng)檢測(cè)率的大幅下降。又如將采樣概率設(shè)置為數(shù)據(jù)包的位置參數(shù)的減函數(shù)來(lái)進(jìn)行采樣。雖然這種方法可以減小抽樣數(shù)據(jù)對(duì)于異常檢測(cè)的影響,但是它需要記錄每個(gè)流中每個(gè)包的位置信息,同時(shí)在每個(gè)包到達(dá)時(shí)都需要計(jì)算一次決定是否采樣該數(shù)據(jù)包的采樣概率。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種可以克服采樣失真、缺乏靈活性、處理速度低和存儲(chǔ)空間大等缺陷等問(wèn)題的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法。本發(fā)明的具體工作過(guò)程是通過(guò)以下幾個(gè)步驟來(lái)實(shí)現(xiàn)的步驟一采用預(yù)先定義的采樣概率/。對(duì)數(shù)據(jù)包進(jìn)行采樣,直到到達(dá)第二個(gè)時(shí)間間隔;步驟二以旁路偵聽方式捕獲網(wǎng)絡(luò)上的TCP/IP數(shù)據(jù)包;步驟三將新到達(dá)的數(shù)據(jù)包按流標(biāo)識(shí)快速分類,對(duì)流標(biāo)識(shí)進(jìn)行哈希,得到HASH值,該HASH值即為流ID;步驟四用對(duì)應(yīng)流的采樣概率對(duì)到來(lái)的數(shù)據(jù)包進(jìn)行采樣;若采樣,則將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目數(shù)組中的該流ID對(duì)應(yīng)的關(guān)聯(lián)計(jì)數(shù)器加1,否則丟棄該數(shù)據(jù)包;步驟五實(shí)時(shí)檢測(cè)IP流是否期滿,期滿的IP流將被從緩沖區(qū)刪除;步驟六判斷時(shí)間間隔是否結(jié)束,若沒(méi)有,則轉(zhuǎn)到步驟二,繼續(xù)考察下一個(gè)數(shù)據(jù)包,若時(shí)間間隔結(jié)束,則用當(dāng)前時(shí)間間隔采樣到的報(bào)文數(shù)目和采樣概率估計(jì)流大小,預(yù)測(cè)下一個(gè)時(shí)間間隔的流大??;步驟七若預(yù)測(cè)的流大小小于指定的閾值A(chǔ)則對(duì)下一個(gè)時(shí)間間隔該流的所有數(shù)據(jù)包進(jìn)行強(qiáng)制采樣,否則根據(jù)流大小計(jì)算下一個(gè)時(shí)間間隔的采樣概率;步驟八將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組清零。本發(fā)明還可以包括1、所述的將新到達(dá)的數(shù)據(jù)包按流標(biāo)識(shí)快速分類的方法為從捕獲的網(wǎng)絡(luò)數(shù)據(jù)包中分解出能唯一標(biāo)識(shí)所屬流的數(shù)據(jù)項(xiàng);流是一組具有相同屬性的數(shù)據(jù)包集合,數(shù)據(jù)報(bào)文",的流標(biāo)識(shí)關(guān)鍵字為/〈Src.IP,Src.Port,Dst.IP,Dst.Port,Protocol〉其中,Src.IP代表源IP地址,Src.Port代表源端口,DstIP代表目的IP地址,Dst.Port代表目的端口,Protocol代表協(xié)議類型;如果數(shù)據(jù)報(bào)文a,到達(dá),則利用哈希函數(shù)H計(jì)算出/m")所對(duì)應(yīng)的流ID。2、所述實(shí)時(shí)檢測(cè)流是否期滿的方法為(1)、不活動(dòng)超時(shí)某條流的空閑時(shí)間超過(guò)一個(gè)閾值n,即流不活動(dòng)超時(shí),會(huì)被判為期滿;(2)、協(xié)議收到某些標(biāo)志連接結(jié)束的報(bào)文,如TCP連接中,收到FIN(TCP連接結(jié)束標(biāo)志)或者RST(重新建立連接標(biāo)志)時(shí),原流被判為期滿;(3)、內(nèi)存管理緩沖區(qū)滿時(shí),原流被判為期滿;(4)、活動(dòng)超時(shí)某條流的活動(dòng)時(shí)間超過(guò)指定的閾值T2,被判為期滿。3、所述預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小的方法為在計(jì)算下一個(gè)時(shí)間間隔的采樣概率之前用AR模型預(yù)測(cè)其流大小。本發(fā)明基于時(shí)間分層的思想,把時(shí)間分成一些預(yù)先確定的、不重疊的稱為塊或?qū)拥拈g隔。同一個(gè)時(shí)間間隔內(nèi),按照流標(biāo)識(shí)對(duì)數(shù)據(jù)報(bào)文進(jìn)行快速分類,用同一概率對(duì)屬于相同流的所有數(shù)據(jù)報(bào)文進(jìn)行采樣,并實(shí)時(shí)檢測(cè)流是否期滿。時(shí)間間隔結(jié)束時(shí),用當(dāng)前時(shí)間間隔采樣到的報(bào)文數(shù)目和釆樣概率估計(jì)流大小,并預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小分布,然后把預(yù)測(cè)的流大小作為確定下一個(gè)時(shí)間間隔的采樣概率的重要參數(shù),同時(shí)結(jié)合強(qiáng)制采樣方法對(duì)較小流的數(shù)據(jù)報(bào)文進(jìn)行強(qiáng)制采樣。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于算法簡(jiǎn)便、靈活,能為異常檢測(cè)提供正確的數(shù)據(jù)源,同時(shí)能夠提高處理速度和節(jié)約存儲(chǔ)空間。(四)圖l是本發(fā)明的時(shí)間分層圖圖2是本發(fā)明的采樣概率調(diào)整流程圖(五)具體實(shí)施例方式下面通過(guò)在IDS設(shè)備中實(shí)施本發(fā)明進(jìn)行詳細(xì)描述。實(shí)施時(shí),需要在IDS中設(shè)置自適應(yīng)采樣模塊,該模塊完成網(wǎng)絡(luò)數(shù)據(jù)包的采樣、統(tǒng)計(jì)功能。本發(fā)明的步驟是步驟一、程序啟動(dòng),初始化系統(tǒng)參數(shù),采用預(yù)先定義的采樣概率p。對(duì)數(shù)據(jù)包進(jìn)行采樣,直到到達(dá)第二個(gè)時(shí)間間隔。分別將用來(lái)記錄流大小和時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組清零。系統(tǒng)參數(shù)的初始值如下<table>tableseeoriginaldocumentpage8</column></row><table>步驟二、以旁路偵聽方式捕獲網(wǎng)絡(luò)上的TCP/IP數(shù)據(jù)包;步驟三、將新到達(dá)的數(shù)據(jù)包按流標(biāo)識(shí)快速分類,對(duì)流標(biāo)識(shí)進(jìn)行哈希,得到HASH值,該HASH值即為流ID,按流標(biāo)識(shí)進(jìn)行快速分類是指從捕獲的網(wǎng)絡(luò)數(shù)據(jù)包中分解出能唯一標(biāo)識(shí)所屬流的數(shù)據(jù)項(xiàng);流是一組具有相同屬性的數(shù)據(jù)包集合,流是一組具有相同屬性的數(shù)據(jù)包集合,數(shù)據(jù)報(bào)文fl,的流標(biāo)識(shí)關(guān)鍵字為//D0,)=〈Src.IP,Src.Port,Dst.IP,Dst.Port,Protocol〉其中,Src.IP代表源IP地址,Src.Port代表源端口,Dst.IP代表目的IP地址,Dst.Port代表目的端口,Protocol代表協(xié)議類型;如果數(shù)據(jù)報(bào)文",到達(dá),則利用哈希函數(shù)H計(jì)算出厶")所對(duì)應(yīng)的流ID;步驟四、用對(duì)應(yīng)流的采樣概率對(duì)到來(lái)的數(shù)據(jù)包進(jìn)行采樣;若采樣,則將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組中的該流ID對(duì)應(yīng)的關(guān)聯(lián)計(jì)數(shù)器加1,同時(shí)把該數(shù)據(jù)包送到IDS的異常分析模塊,否則丟棄該數(shù)據(jù)包;步驟五、實(shí)時(shí)檢測(cè)IP流是否期滿,期滿的IP流將被從緩沖區(qū)上刪除;步驟六、判斷時(shí)間間隔是否結(jié)束,若沒(méi)有,則轉(zhuǎn)到步驟二,繼續(xù)考察下一個(gè)數(shù)據(jù)包,若時(shí)間間隔結(jié)束,則用當(dāng)前時(shí)間間隔采樣到的報(bào)文數(shù)目和采樣概率估計(jì)流大小,預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小,估計(jì)流大小的方法為-其中《7為當(dāng)前時(shí)間間隔采樣到的某個(gè)IP流的報(bào)文數(shù)目,尸、.為該流的采樣概率,^為該流的大小;步驟七、若預(yù)測(cè)的流大小小于指定的閾值7\則對(duì)下一個(gè)時(shí)間間隔該流的所有數(shù)據(jù)包進(jìn)行強(qiáng)制采樣,否則根據(jù)流大小計(jì)算下一個(gè)時(shí)間間隔的采樣概率,下一個(gè)時(shí)間間隔各個(gè)流的采樣概率為<formula>formulaseeoriginaldocumentpage9</formula>這里的5是預(yù)測(cè)的下一個(gè)時(shí)間間隔的流大小,r是指定的閾值大小,f是常數(shù);步驟八、將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組清零;步驟九、轉(zhuǎn)到步驟二。最后所應(yīng)說(shuō)明的是以上實(shí)施方式僅用以說(shuō)明而非限制本發(fā)明的技術(shù)方案,盡管參照上述實(shí)施方式對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依照可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改與局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍內(nèi)。權(quán)利要求1、一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是步驟一采用預(yù)先定義的采樣概率對(duì)數(shù)據(jù)包進(jìn)行采樣,直到到達(dá)第二個(gè)時(shí)間間隔;步驟二以旁路偵聽方式捕獲網(wǎng)絡(luò)上的TCP/IP數(shù)據(jù)包;步驟三將新到達(dá)的數(shù)據(jù)包按流標(biāo)識(shí)快速分類,對(duì)流標(biāo)識(shí)進(jìn)行哈希,得到HASH值,該HASH值即為流ID;步驟四用對(duì)應(yīng)流的采樣概率對(duì)到來(lái)的數(shù)據(jù)包進(jìn)行采樣;若采樣,則將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組中的該流ID對(duì)應(yīng)的關(guān)聯(lián)計(jì)數(shù)器加1,否則丟棄該數(shù)據(jù)包;步驟五實(shí)時(shí)檢測(cè)IP流是否期滿,期滿的IP流將被從緩沖區(qū)刪除;步驟六判斷時(shí)間間隔是否結(jié)束,若沒(méi)有,則轉(zhuǎn)到步驟二,繼續(xù)考察下一個(gè)數(shù)據(jù)包,若時(shí)間間隔結(jié)束,則用當(dāng)前時(shí)間間隔采樣到的報(bào)文數(shù)目和采樣概率估計(jì)流大小,并預(yù)測(cè)下一個(gè)時(shí)間間隔的流大?。徊襟E七若預(yù)測(cè)的流大小小于指定的閾值,則對(duì)下一個(gè)時(shí)間間隔該流的所有數(shù)據(jù)包進(jìn)行強(qiáng)制采樣,否則根據(jù)流大小計(jì)算下一個(gè)時(shí)間間隔的采樣概率;步驟八將記錄時(shí)間間隔內(nèi)采樣報(bào)文數(shù)目的數(shù)組清零。2、根據(jù)權(quán)利要求1所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述的將新到達(dá)的數(shù)據(jù)包按流標(biāo)識(shí)快速分類的方法為從捕獲的網(wǎng)絡(luò)數(shù)據(jù)包中分解出能唯一標(biāo)識(shí)所屬流的數(shù)據(jù)項(xiàng);流是一組具有相同屬性的數(shù)據(jù)包集合,數(shù)據(jù)報(bào)文fl,的流標(biāo)識(shí)關(guān)鍵字為-/(",)=〈Src.IP'Src.Port,Dst.IP,Dst.Port,Protocol〉其中,Src.IP代表源IP地址,Src.Port代表源端口,Dst.IP代表目的IP地址,Dst.Port代表目的端口,Protocol代表協(xié)議類型;如果數(shù)據(jù)報(bào)文",到達(dá),則利用哈希函數(shù)H計(jì)算出/m(^)所對(duì)應(yīng)的流ID。3、根據(jù)權(quán)利要求1或2所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量釆樣方法,其特征是所述實(shí)時(shí)檢測(cè)流是否期滿的方法為(1)、不活動(dòng)超時(shí)某條流的空閑時(shí)間超過(guò)一個(gè)閾值r;,即流不活動(dòng)超時(shí),會(huì)被判為期滿;(2)、協(xié)議收到標(biāo)志連接結(jié)束的報(bào)文時(shí),原流被判為期滿;(3)、內(nèi)存管理緩沖區(qū)滿時(shí),原流被判為期滿;(4)、活動(dòng)超時(shí)某條流的活動(dòng)時(shí)間超過(guò)指定的閾值^,被判為期滿。4、根據(jù)權(quán)利要求1或2所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述估計(jì)流大小的方法為<formula>formulaseeoriginaldocumentpage3</formula>其中附為當(dāng)前時(shí)間間隔采樣到的某個(gè)IP流的報(bào)文數(shù)目,尸,為該流的采樣概率,S為該流的大小。5、根據(jù)權(quán)利要求3所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述估計(jì)流大小的方法為<formula>formulaseeoriginaldocumentpage3</formula>其中W為當(dāng)前時(shí)間間隔采樣到的某個(gè)IP流的報(bào)文數(shù)目,《.為該流的采樣概率,S為該流的大小。6、根據(jù)權(quán)利要求1或2所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小的方法為在計(jì)算下一個(gè)時(shí)間間隔的采樣概率之前用AR模型預(yù)測(cè)其流大小;通過(guò)預(yù)測(cè)的流大小分布,得到下一個(gè)時(shí)間間隔的采樣概率<formula>formulaseeoriginaldocumentpage3</formula>這里的^是預(yù)測(cè)的下一個(gè)時(shí)間間隔的流大小,r是指定的閾值大小,f是常數(shù)。7、根據(jù)權(quán)利要求3所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小的方法為在計(jì)算下一個(gè)時(shí)間間隔的采樣概率之前用AR模型預(yù)測(cè)其流大?。煌ㄟ^(guò)預(yù)測(cè)的流大小分布,得到下一個(gè)時(shí)間間隔的采樣概率-.這里的j是預(yù)測(cè)的下一個(gè)時(shí)間間隔的流大小,r是指定的閾值大小,f是常數(shù)。8、根據(jù)權(quán)利要求4所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小的方法為在計(jì)算下一個(gè)時(shí)間間隔的采樣概率之前用AR模型預(yù)測(cè)其流大??;通過(guò)預(yù)測(cè)的流大小分布,得到下一個(gè)時(shí)間間隔的采樣概率這里的^是預(yù)測(cè)的下一個(gè)時(shí)間間隔的流大小,r是指定的閾值大小,f是常數(shù)。9、根據(jù)權(quán)利要求5所述的一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法,其特征是所述預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小的方法為在計(jì)算下一個(gè)時(shí)間間隔的采樣概率之前用AR模型預(yù)測(cè)其流大小;通過(guò)預(yù)測(cè)的流大小分布,得到下一個(gè)時(shí)間間隔的采樣概率戶'=這里的s是預(yù)測(cè)的下一個(gè)時(shí)間間隔的流大小,r是指定的閾值大小,f是常全文摘要本發(fā)明提供的是一種用于異常檢測(cè)的自適應(yīng)網(wǎng)絡(luò)流量采樣方法?;跁r(shí)間分層的思想,把時(shí)間分成一些預(yù)先確定的、不重疊的稱為塊或?qū)拥拈g隔。同一個(gè)時(shí)間間隔內(nèi),用同一概率對(duì)屬于相同流的所有數(shù)據(jù)報(bào)文進(jìn)行采樣,并實(shí)時(shí)檢測(cè)流是否期滿。時(shí)間間隔結(jié)束時(shí),用當(dāng)前時(shí)間間隔采樣到的報(bào)文數(shù)目和采樣概率估計(jì)流大小,并預(yù)測(cè)下一個(gè)時(shí)間間隔的流大小分布,然后把預(yù)測(cè)的流大小作為確定下一個(gè)時(shí)間間隔的采樣概率的重要參數(shù),同時(shí)結(jié)合強(qiáng)制采樣方法對(duì)較小流的數(shù)據(jù)報(bào)文進(jìn)行強(qiáng)制采樣。與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是算法簡(jiǎn)便、靈活,能為異常檢測(cè)提供正確的數(shù)據(jù)源,同時(shí)能夠提高處理速度和節(jié)約存儲(chǔ)空間。文檔編號(hào)H04L29/06GK101668006SQ200910073048公開日2010年3月10日申請(qǐng)日期2009年10月12日優(yōu)先權(quán)日2009年10月12日發(fā)明者何曉冰,司賀華,喜康,武楊,玄世昌,巍王,苘大鵬,莫錫昌申請(qǐng)人:哈爾濱工程大學(xué)