亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于ip追蹤的內(nèi)部邊采樣方法和系統(tǒng)的制作方法

文檔序號(hào):75333閱讀:495來源:國知局
專利名稱:用于ip追蹤的內(nèi)部邊采樣方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)涉及IP追蹤技術(shù),尤其涉及基于邊采樣的概率包標(biāo)記(PPM)的IP追蹤方法和系統(tǒng)。
背景技術(shù)
隨著互聯(lián)網(wǎng)的發(fā)展,出現(xiàn)了各種針對(duì)協(xié)議或操作系統(tǒng)設(shè)計(jì)缺陷的網(wǎng)絡(luò)攻擊。DoS/DDoS攻擊(拒絕服務(wù)攻擊/分布式拒絕服務(wù)攻擊)的原理是在一定時(shí)間段內(nèi)直接或者通過跳板向目標(biāo)網(wǎng)絡(luò)發(fā)送大量的特定數(shù)據(jù)包(如服務(wù)請(qǐng)求包,TCP SYN包等),極大地消耗網(wǎng)絡(luò)帶寬或系統(tǒng)資源,引起目標(biāo)網(wǎng)絡(luò)的阻塞甚至癱瘓。這些攻擊包的源IP地址通常是經(jīng)過偽造的。被攻擊網(wǎng)絡(luò)如何根據(jù)收到的數(shù)據(jù)包,最大可能地追蹤和定位攻擊者位置,封堵DoS攻擊來源,稱為IP地址追蹤技術(shù)。
雖然IP包頭源地址是虛假的,但每個(gè)IP包都必須經(jīng)過從攻擊者到目標(biāo)機(jī)之間的路由器轉(zhuǎn)發(fā)。借助路由器對(duì)數(shù)據(jù)包進(jìn)行標(biāo)記或記錄,從而根據(jù)收到的數(shù)據(jù)包重構(gòu)出攻擊路徑,是IP追蹤研究的基本思路。
近年來的IP追蹤研究工作基本上分為“單獨(dú)生成追蹤信息專用數(shù)據(jù)包”和“IP數(shù)據(jù)包標(biāo)記”兩大類。前者會(huì)增加網(wǎng)絡(luò)帶寬負(fù)荷,不易升級(jí),反而充當(dāng)了一種DoS攻擊行為。后者經(jīng)歷了從“節(jié)點(diǎn)附加”和“節(jié)點(diǎn)采樣”到“邊采樣”標(biāo)記的發(fā)展過程。自2000年Savage等人提出了“邊采樣”標(biāo)記方法之后,主流的IP追蹤技術(shù)進(jìn)入了“基于日志記錄的追蹤技術(shù)”和“基于邊采樣的概率包標(biāo)記(PPM)技術(shù)”兩大陣營的時(shí)代。
在節(jié)點(diǎn)附加方法中,每個(gè)路由器將自己的IP地址附加在標(biāo)記數(shù)據(jù)包的后面。其缺點(diǎn)是標(biāo)記包長度不可控,容易引起標(biāo)記包的再分片,攻擊者可以添加虛假信息路徑信息。在節(jié)點(diǎn)采樣標(biāo)記方法中,路由器按照某種概率將32位IP地址記錄到IP頭某個(gè)位置。其缺點(diǎn)是,沒有很好地考慮IP頭中有沒有足夠空間存儲(chǔ)32位IP地址。
基于日志記錄的IP追蹤技術(shù)要求路由器通過對(duì)每個(gè)轉(zhuǎn)發(fā)包進(jìn)行Hash運(yùn)算記錄數(shù)據(jù)包摘要信息。路徑重構(gòu)時(shí),通過獲取的攻擊包,進(jìn)行遞歸得到相鄰路由器地址,從而恢復(fù)出整個(gè)攻擊路徑。在高速鏈路情況下,由于數(shù)據(jù)包到達(dá)的速度和記錄速度必須相匹配,此方法適合范圍受到限制。
基于傳統(tǒng)邊采樣的概率包標(biāo)記(PPM)技術(shù)適合DoS攻擊追蹤。路由器以一定概率對(duì)數(shù)據(jù)包進(jìn)行標(biāo)記,標(biāo)記內(nèi)容包括攻擊路徑上任兩個(gè)相鄰路由器的地址,即攻擊路徑圖上的“邊”,以及“邊”到攻擊目標(biāo)的距離。被攻擊者根據(jù)收到的標(biāo)記信息恢復(fù)攻擊路徑。一般認(rèn)為IP頭域中適合標(biāo)記的空間有17位16bit的包標(biāo)識(shí)域和1bit的分片標(biāo)志flag的最高位。受此空間限制,標(biāo)記信息往往需要先分片再進(jìn)行標(biāo)記。為了重構(gòu)時(shí)將標(biāo)記片段正確地組合在一起,有些算法基于范德蒙行列式生成標(biāo)記信息分片;有的將IP地址的Hash結(jié)果作為標(biāo)記信息中的認(rèn)證碼或者將Hash結(jié)果和IP地址隔位插入作為標(biāo)記信息。
PPM已成為IP地址追蹤研究的一個(gè)主要方向。許多研究人員在PPM標(biāo)記概率、標(biāo)記信息分片、防止偽造包的加密和認(rèn)證技術(shù)等領(lǐng)域開展研究工作。
圖1是目前PPM所依賴的IP地址追蹤技術(shù)中的傳統(tǒng)“邊采樣”示意圖。Attacker表示攻擊發(fā)起者,Victim表示攻擊目標(biāo),R表示路由器。從左側(cè)網(wǎng)絡(luò)拓?fù)涫疽鈭D可以看出傳統(tǒng)邊采樣中,路由器是圖的頂點(diǎn),相鄰頂點(diǎn)構(gòu)成了圖的邊。右側(cè)圖中黑實(shí)線表示兩個(gè)攻擊者發(fā)起的攻擊路徑(R5,2R4,2R3,1R2,1R1,1)和(R3,3R2,1R1,1),每條攻擊路徑由若干個(gè)相鄰接路由器組成的“邊”連接而成。
PPM方法基于這些傳統(tǒng)邊采樣技術(shù),存在如下三個(gè)問題。
1)傳統(tǒng)“邊”由相鄰路由器構(gòu)成,下游路由器打標(biāo)記時(shí)必須知道相鄰上游標(biāo)記路由器地址。否則,無法生成“邊”信息。當(dāng)兩個(gè)非相鄰標(biāo)記路由器之間有其他非標(biāo)記路由器時(shí),問題更為突出,因?yàn)闃?biāo)記路由器必須知道跨越這幾個(gè)非標(biāo)記路由器之前的那個(gè)“相鄰”標(biāo)記路由器的地址,才能完成這條邊的標(biāo)記。圖1中,路由器R2,1必須知道自己上游相鄰路由器R3,1,R3,2,R3,3的地址,并且將其地址分別和自己的地址進(jìn)行運(yùn)算作為對(duì)應(yīng)的標(biāo)記信息。如果R3,1不具備標(biāo)記功能,則R2,1必須知道R3,1不是標(biāo)記路由器,不能和其進(jìn)行運(yùn)算,而且還要知道該方向上最相近的標(biāo)記路由器R4,1和R4,2的地址,并和其進(jìn)行運(yùn)算,顯然這是非常困難的。
2)在重構(gòu)時(shí)要將收集到的標(biāo)記片斷信息和特定運(yùn)算結(jié)果對(duì)照數(shù)據(jù)庫中的片斷信息進(jìn)行對(duì)比,以此確定攻擊路徑上參與標(biāo)記的路由器。因此在攻擊路徑重構(gòu)之前必須有一個(gè)重構(gòu)對(duì)照數(shù)據(jù)庫,保存各路由器IP地址,或者這些地址的Hash結(jié)果,或者相鄰路由器地址異或結(jié)果。3)傳統(tǒng)方法中將一臺(tái)路由器定義為圖上的一個(gè)頂點(diǎn),兩個(gè)頂點(diǎn)構(gòu)成一條邊。因此只能用一個(gè)IP地址代表該路由器作為頂點(diǎn)的信息。路由器的IP地址與其自身各個(gè)網(wǎng)絡(luò)接口是對(duì)應(yīng)的,無論用哪個(gè)網(wǎng)絡(luò)接口上的IP地址來代表該路由器,都容易引起攻擊重構(gòu)時(shí)假邊的產(chǎn)生,從而將重構(gòu)引入歧途。

發(fā)明內(nèi)容基于現(xiàn)有技術(shù)中的上述問題,本發(fā)明提出了一種新穎的用于標(biāo)記路由器的“內(nèi)部邊采樣”的方法來替代傳統(tǒng)的邊采樣方法。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種對(duì)經(jīng)過標(biāo)記路由器的網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行處理的方法,其中所述標(biāo)記路由器包括至少兩個(gè)網(wǎng)絡(luò)接口。該方法包括針對(duì)進(jìn)入所述標(biāo)記路由器的一個(gè)網(wǎng)絡(luò)接口的數(shù)據(jù)包,在數(shù)據(jù)包的IP包頭中寫入標(biāo)記信息,其中所述標(biāo)記信息包括所述網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口信息;針對(duì)離開所述標(biāo)記路由器的所述網(wǎng)絡(luò)接口的數(shù)據(jù)包,判斷所述數(shù)據(jù)包是否是已標(biāo)記數(shù)據(jù)包;如果所述數(shù)據(jù)包是已標(biāo)記數(shù)據(jù)包,則取出所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口信息,并將所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口信息與當(dāng)前的網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口信息組合在一起,構(gòu)成一個(gè)IP地址邊;以及,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間。針對(duì)進(jìn)入所述標(biāo)記路由器的一個(gè)網(wǎng)絡(luò)接口的數(shù)據(jù)包,在數(shù)據(jù)包的IP包頭中寫入標(biāo)記信息,其中所述標(biāo)記信息包括所述網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口號(hào);針對(duì)離開所述標(biāo)記路由器的所述網(wǎng)絡(luò)接口的數(shù)據(jù)包,判斷所述數(shù)據(jù)包是否是已標(biāo)記數(shù)據(jù)包;如果所述數(shù)據(jù)包是已標(biāo)記數(shù)據(jù)包,則取出所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口號(hào),并將所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口號(hào)與當(dāng)前的網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口號(hào)組合在一起,構(gòu)成一個(gè)IP地址邊;以及,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間。
優(yōu)選地,該方法進(jìn)一步包括將所述IP地址邊分成k個(gè)分片,將一個(gè)1/k分片的邊地址信息寫入所述數(shù)據(jù)包的標(biāo)記空間。其中,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間的步驟包括將所述IP地址寫入用于標(biāo)識(shí)數(shù)據(jù)包的ID域和用于分片的Flags字段的最高位。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的方法,包括取出所述數(shù)據(jù)包中包含的標(biāo)記信息,其中,該標(biāo)記信息包括由所經(jīng)過的路由器的入口網(wǎng)絡(luò)接口信息和出口網(wǎng)絡(luò)接口信息組合在一起的地址信息;根據(jù)所述標(biāo)記信息得到所述數(shù)據(jù)包所經(jīng)過的路由器的地址信息。
優(yōu)選地,該方法進(jìn)一步包括將標(biāo)記信息存儲(chǔ)在數(shù)據(jù)庫中。并且,該標(biāo)記信息進(jìn)一步包括所述數(shù)據(jù)包的距離和分片偏移號(hào)。優(yōu)選地,該方法進(jìn)一步包括通過將標(biāo)記信息與數(shù)據(jù)庫中存儲(chǔ)的標(biāo)記信息記錄進(jìn)行比較,得到所述路由器的地址信息。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)數(shù)據(jù)包經(jīng)過的路由器進(jìn)行標(biāo)識(shí)的方法,包括記錄所述數(shù)據(jù)包進(jìn)入路由器所經(jīng)過的入口網(wǎng)絡(luò)接口的信息以及數(shù)據(jù)包離開路由器所經(jīng)過的出口網(wǎng)絡(luò)接口的信息;以及,以所述入口網(wǎng)絡(luò)接口的信息和所述出口網(wǎng)絡(luò)接口的信息對(duì)所述路由器進(jìn)行標(biāo)識(shí)。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)經(jīng)過標(biāo)記路由器的網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行處理的設(shè)備,其中所述標(biāo)記路由器包括至少兩個(gè)網(wǎng)絡(luò)接口,所述設(shè)備包括用于實(shí)現(xiàn)所述的方法中的各個(gè)步驟的裝置。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的設(shè)備,包括用于實(shí)現(xiàn)如權(quán)利要求
4-7所述的方法中的各個(gè)步驟的裝置。
包含在說明書中并構(gòu)成說明書的一部分的附圖用于圖解說明本發(fā)明的實(shí)施例,并和上面給出的概述及下面給出的實(shí)施例的詳細(xì)說明一起用于解釋本發(fā)明的原理,其中圖1是顯示傳統(tǒng)的IP地址追蹤方法中的邊采樣的示意圖。
圖2是顯示依據(jù)本發(fā)明的標(biāo)記路由器及其內(nèi)部邊的示意圖。
圖3是顯示依據(jù)本發(fā)明的IP地址追蹤方法的路由器內(nèi)部邊采樣的示意圖。
圖4是顯示IPv4格式的數(shù)據(jù)包頭的示意圖。
圖5是顯示依據(jù)本發(fā)明的RIES方法中的路由器標(biāo)記方法的示意圖。
圖6是顯示依據(jù)本發(fā)明的RIES方法中的重構(gòu)方法的示意圖。
圖7是顯示在受攻擊目標(biāo)處的標(biāo)記包存儲(chǔ)格式的示意圖。
圖8是顯示在傳統(tǒng)的邊采樣方法中重構(gòu)出的假邊的示意圖。
圖9是顯示基于本發(fā)明的RIES方法的PPM測試實(shí)驗(yàn)網(wǎng)絡(luò)的拓?fù)鋱D。
具體實(shí)施方式以下參照附圖對(duì)依據(jù)本發(fā)明的方法和系統(tǒng)的實(shí)施例進(jìn)行詳細(xì)描述,但應(yīng)指出的是,下文中描述僅用于示例和說明的目的,而不構(gòu)成對(duì)本發(fā)明的限制。在下文中描述中了大量技術(shù)細(xì)節(jié)以便更清楚地解釋本發(fā)明,并使本領(lǐng)域中的技術(shù)人員能夠據(jù)此實(shí)現(xiàn)本發(fā)明,但這并不意味著本發(fā)明的實(shí)現(xiàn)必須依賴于這些細(xì)節(jié);相反,可實(shí)現(xiàn)本發(fā)明而沒有所述的一些特征,或具有附加的或不同的特征。
根據(jù)現(xiàn)在的互聯(lián)網(wǎng)或者大型局域網(wǎng)上的部署,標(biāo)記路由器的部署是循序漸進(jìn)、分步實(shí)施的,即攻擊路徑上的路由器并非都具有標(biāo)記功能,導(dǎo)致標(biāo)記路由器之間可能夾雜非標(biāo)記路由器。若非借助于ISP(網(wǎng)絡(luò)服務(wù)商)或者其他人工告知方式,下游路由器很難自動(dòng)獲知上游最近的標(biāo)記路由器地址。尤其是每條“邊”的信息必須分片標(biāo)記,下游路由器無法從上游來的數(shù)據(jù)包中發(fā)現(xiàn)上游標(biāo)記路由器完整的IP地址信息,從而無法將其與本機(jī)IP地址進(jìn)行運(yùn)算生成標(biāo)記信息。
并且,互聯(lián)網(wǎng)協(xié)作的無組織特點(diǎn),很難讓所有的ISP或某個(gè)組織來登記和管理標(biāo)記路由器IP地址庫。盡管獲取網(wǎng)絡(luò)拓?fù)鋱D是容易的,然而很難維護(hù)一個(gè)僅將所有標(biāo)記路由器按照鄰接關(guān)系進(jìn)行地址運(yùn)算的重構(gòu)參照數(shù)據(jù)庫。
由于上述問題,目前絕大多數(shù)基于“傳統(tǒng)采樣邊”的PPM方案都有標(biāo)記和重構(gòu)兩方面實(shí)施上的問題。
針對(duì)上述問題,本發(fā)明提出了一種新穎的用于標(biāo)記路由器的“內(nèi)部邊采樣”的方法來替代傳統(tǒng)的邊采樣方法。其中,本發(fā)明將“邊”的位置定義在標(biāo)記路由器內(nèi)部,頂點(diǎn)恰好是同一臺(tái)路由器的一對(duì)網(wǎng)絡(luò)接口。數(shù)據(jù)包流經(jīng)路由器上的一對(duì)網(wǎng)絡(luò)接口構(gòu)成路由器內(nèi)部的一條“內(nèi)部邊”。圖2顯示了依據(jù)本發(fā)明的標(biāo)記路由器及其內(nèi)部邊的示意圖。
定義1標(biāo)記路由器R=(IFlocal,ER,IFwan),每臺(tái)標(biāo)記路由器都可以從路由器網(wǎng)絡(luò)接口的角度將路由器定義為三元組。
IFlocal={L0,L1,L2,...,Lm}表示該路由器本地網(wǎng)絡(luò)接口集。
IFwan={S0,S1,S2,...,Sn}表示該路由器廣域網(wǎng)絡(luò)接口集。
ER={(SinSout)|Sin,Sout∈R.IFwan,Sin≠Sout},是路由器的“內(nèi)部邊”集合。數(shù)據(jù)包經(jīng)過路由器是有入/出方向的,Sin和Sout分別表示某個(gè)數(shù)據(jù)包流經(jīng)標(biāo)記路由器時(shí)經(jīng)過的入口和出口。這兩個(gè)網(wǎng)絡(luò)接口相連便在路由器體內(nèi)形成一條內(nèi)部邊,指向該包流經(jīng)的方向。ER是路由器R內(nèi)部所有可能的內(nèi)部邊的集合,一個(gè)數(shù)據(jù)包只能經(jīng)過其中的一條。入口和出口僅僅是相對(duì)于一個(gè)包而言的。在路由器任意一個(gè)網(wǎng)絡(luò)接口上,針對(duì)入/出數(shù)據(jù)包的處理策略不同(見算法部分)。圖2下方示意了不同方向的數(shù)據(jù)包流經(jīng)某標(biāo)記路由器時(shí),網(wǎng)絡(luò)接口對(duì)不同方向的數(shù)據(jù)包分別起到了入口和出口的標(biāo)記作用,并由此產(chǎn)生的內(nèi)部邊。
按照一定的標(biāo)記算法,路由器將內(nèi)部邊信息寫入數(shù)據(jù)包,根據(jù)對(duì)這些包的統(tǒng)計(jì)分析,即可恢復(fù)出攻擊路徑。
定義2攻擊路徑P=(A,EPATH,Victim),A∈{Attacker1,Attacker2,...Attackern},Attacker表示攻擊發(fā)起者,Victim表示攻擊目標(biāo)。EPATH=(edge1,edge2,...edged),表示從距離d處發(fā)起的攻擊所經(jīng)過的標(biāo)記路由器“體內(nèi)采樣邊”連接而成的一條路徑,其中edgei=Ri.(SinSout)。
定義3攻擊路徑圖G=(EG,VG)VG={Ri.IFwan|i=1,2,...}表示圖G的“頂點(diǎn)”集合是所有路由器的廣域網(wǎng)絡(luò)接口集。
EG={edgei|i=1,2,...}表示圖G的“邊”集合是所有路由器體內(nèi)網(wǎng)絡(luò)接口連接而成的“內(nèi)部邊”集合。
圖3顯示了IP追蹤技術(shù)中的路由器內(nèi)部邊采樣的示意圖,其中,左圖示意了“內(nèi)部邊”標(biāo)記路由器部署后的網(wǎng)絡(luò)拓?fù)鋱D。圓框表示非標(biāo)記路由器,矩形框表示標(biāo)記路由器。圖3右圖演示了從R7,1和R7,4處發(fā)起攻擊后,攻擊包所經(jīng)過的路徑上標(biāo)記路由器“內(nèi)部邊”連接而成的攻擊路徑圖。盡管來自Attacker1的攻擊路徑(R7,1R6,1R5,1R4,1R3,1R2,1R1,1)中夾雜了非標(biāo)記路由器R6,1,R4,1和R2,1,參照網(wǎng)絡(luò)拓?fù)鋱D能夠?qū)崿F(xiàn)該路徑的重構(gòu)恢復(fù)。
標(biāo)記域的選擇數(shù)據(jù)包標(biāo)記技術(shù)將標(biāo)記信息存儲(chǔ)于IP頭內(nèi)。圖4顯示了IPv4包頭格式。本發(fā)明結(jié)合圖4對(duì)IPv4格式的包頭中可能被利用的字段進(jìn)行了分析。本領(lǐng)域技術(shù)人員能夠了解,本發(fā)明不僅僅適用IPv4格式的數(shù)據(jù)包,對(duì)于其他格式的數(shù)據(jù)包也同樣適用。
實(shí)際網(wǎng)絡(luò)中只有不到0.25%的數(shù)據(jù)包可能被分片,因此研究人員大多將注意力放在標(biāo)識(shí)數(shù)據(jù)包的ID域和Flags字段上。結(jié)合實(shí)驗(yàn),我們認(rèn)為IP頭域中17位空間存儲(chǔ)標(biāo)記信息是比較可靠的,即用于標(biāo)識(shí)數(shù)據(jù)包的ID域(16bit)和用于分片的Flags字段的最高位(1bit)(圖4中ID字段和Offset字段之間的3位是Flags字段)。因此,本發(fā)明使用IP頭中的17位空間存儲(chǔ)標(biāo)記信息(見圖4中的陰影部分)。然而,本發(fā)明并不僅限于使用IP頭域中的這17位空間,也不限于17位的位數(shù),只要能在IP頭中找到適當(dāng)?shù)拇鎯?chǔ)空間來存儲(chǔ)本發(fā)明的內(nèi)部邊信息,都能夠?qū)崿F(xiàn)本發(fā)明。并且,如果能找到更多存儲(chǔ)空間來存儲(chǔ)邊信息,則基于邊采樣的PPM功能會(huì)更為強(qiáng)大。
標(biāo)記信息受標(biāo)記空間限制,基于邊采樣的PPM技術(shù)一般將一條64bit的“邊”劃分為若干標(biāo)記片段。本發(fā)明采用常用的8片段方式,每個(gè)標(biāo)記信息片段格式如下
c數(shù)值0~7,表示是該邊的第幾個(gè)片段。
distance數(shù)值1~31,表示標(biāo)記路由器到目標(biāo)機(jī)距離。
flag數(shù)值0或1。當(dāng)flag取1時(shí)表示此數(shù)據(jù)包為已標(biāo)記包。
edgei[c]路由器Ri內(nèi)部邊edgei的第c個(gè)1/8片段信息,長度為8bit。
“內(nèi)部邊”edgei是數(shù)據(jù)包流經(jīng)路由器Ri時(shí)經(jīng)過的兩個(gè)網(wǎng)絡(luò)接口Sin和Sout構(gòu)成的。要標(biāo)記的內(nèi)容是它們的64位IP地址對(duì),記為(IPin,IPout),即“內(nèi)部邊”edgei=(Sin,Sout)=(IPin,IPout)。本發(fā)明研究基于“內(nèi)部邊”采樣的PPM技術(shù),因此標(biāo)記路由器知道位于本機(jī)的edgei數(shù)值,可以直接打入標(biāo)記包,而不需要像傳統(tǒng)“邊采樣”那樣去獲取相鄰路由器地址來進(jìn)行各種計(jì)算作為標(biāo)記信息。
每條邊是一個(gè)64bit的地址對(duì)(IPin,IPout),因此每個(gè)1/8片段信息edgei[c]∈{Ri.IPin[0],Ri.IPin[1],Ri.IPin[2],Ri.IPin[3],Ri.IPout[0],Ri.IPout[1],Ri.IPout[2],Ri.IPout[3]}。
下面將結(jié)合圖5和圖6描述依據(jù)本發(fā)明的IP地址追蹤方法中所采用的路由器標(biāo)記方法和重構(gòu)方法。其中,圖5是顯示依據(jù)本發(fā)明的路由器標(biāo)記方法的示意圖。圖6是顯示依據(jù)本發(fā)明的重構(gòu)方法的示意圖。
本發(fā)明研究的RIES(路由器內(nèi)部邊采樣)方法中“邊”的位置與傳統(tǒng)邊采樣中“邊”的位置不同傳統(tǒng)“邊”的頂點(diǎn)是相鄰的兩臺(tái)路由器;RIES“邊”定義在路由器內(nèi)部,頂點(diǎn)恰好是數(shù)據(jù)包經(jīng)過標(biāo)記路由器時(shí)的兩個(gè)網(wǎng)絡(luò)接口(地址)。標(biāo)記路由器只需要關(guān)注數(shù)據(jù)包在本體所流經(jīng)的入口和出口,并將對(duì)應(yīng)的地址作為路徑片段標(biāo)記在數(shù)據(jù)包上。
本發(fā)明的標(biāo)記方法可以在標(biāo)記路由器的任一網(wǎng)絡(luò)接口(相當(dāng)于標(biāo)記設(shè)備的任一網(wǎng)卡)上運(yùn)行。如圖5所示,步驟S510-S530顯示了針對(duì)進(jìn)入該網(wǎng)絡(luò)接口的每個(gè)數(shù)據(jù)包所進(jìn)行的處理,在步驟S520,該網(wǎng)絡(luò)接口判斷是否發(fā)生了小概率[f1]事件。如果是,則流程進(jìn)行到步驟S530,在數(shù)據(jù)包的IP頭中寫入標(biāo)記信息(數(shù)據(jù)結(jié)構(gòu))距離=0;標(biāo)記標(biāo)志位=1;邊的地址信息=該網(wǎng)絡(luò)接口信息(網(wǎng)絡(luò)入口信息,其中,網(wǎng)絡(luò)接口信息可以是網(wǎng)絡(luò)接口號(hào),也可以網(wǎng)絡(luò)接口地址。如果在步驟S520判斷未發(fā)生小概率事件,則不對(duì)數(shù)據(jù)包進(jìn)行任何處理,流程返回到步驟S510繼續(xù)進(jìn)行。另外,在步驟S540到S590顯示了針對(duì)離開該網(wǎng)絡(luò)接口的每個(gè)數(shù)據(jù)包所進(jìn)行的處理,在步驟S550,判斷該離開網(wǎng)絡(luò)接口的數(shù)據(jù)包是否是已標(biāo)記包。如果不是已標(biāo)記包,則對(duì)此數(shù)據(jù)包不進(jìn)行處理,流程返回到步驟S540,繼續(xù)分析下一個(gè)數(shù)據(jù)包。如果是已標(biāo)記包,則流程進(jìn)行到步驟S560,進(jìn)一步判斷該數(shù)據(jù)包是否是剛被本機(jī)[f2]標(biāo)記過的含有入口網(wǎng)絡(luò)接口信息的數(shù)據(jù)包,即該數(shù)據(jù)包在進(jìn)入同一個(gè)路由器時(shí)被某個(gè)網(wǎng)絡(luò)接口作為該數(shù)據(jù)包的入口網(wǎng)絡(luò)接口進(jìn)行了標(biāo)記。具體地,可以通過判斷標(biāo)記距離是否為0來實(shí)現(xiàn),也可以通過[f3]判斷標(biāo)記域中其他約定好的在入口網(wǎng)絡(luò)接口所標(biāo)記的特定信息來確定。如果在步驟S560判斷該數(shù)據(jù)包是剛被本機(jī)[f4]標(biāo)記過的數(shù)據(jù)包,則流程進(jìn)行到步驟S570,取出標(biāo)記中的網(wǎng)絡(luò)入口信息,將該入口與本網(wǎng)絡(luò)接口構(gòu)成64位IP地址邊。然后流程進(jìn)行到步驟S580,將構(gòu)成的64位IP地址邊分成k個(gè)分片(在這里k=8),每個(gè)分片含有64/k位IP地址。將一個(gè)1/k分片的邊地址信息寫入該數(shù)據(jù)包標(biāo)記空間,并在步驟S590將距離參數(shù)的值遞增,并寫入該數(shù)據(jù)包標(biāo)記空間。如果在步驟S560判斷該數(shù)據(jù)包不是本機(jī)的已標(biāo)記包,則流程進(jìn)行到步驟S590,將距離遞增,并寫入該數(shù)據(jù)包的標(biāo)記空間。重復(fù)上述步驟繼續(xù)處理下一個(gè)進(jìn)入該網(wǎng)絡(luò)接口的數(shù)據(jù)包。[f5]依據(jù)本發(fā)明的一個(gè)具體實(shí)施例的標(biāo)記過程算法如下
通過上述的標(biāo)記算法,可以將一個(gè)數(shù)據(jù)包所經(jīng)過的路由器的信息標(biāo)記在數(shù)據(jù)包上。
下面將描述在重構(gòu)機(jī)中實(shí)現(xiàn)的重構(gòu)步驟。
重構(gòu)機(jī)位于被攻擊目標(biāo)所在網(wǎng)絡(luò)內(nèi),將聽到的包按距離和同一條邊的1/8分片號(hào)存入庫中。圖7顯示了在攻擊目標(biāo)處的標(biāo)記包存儲(chǔ)格式的示意圖。
標(biāo)記方法中按順序產(chǎn)生1/8分片,明文標(biāo)記各片的IP地址。在DDoS攻擊時(shí),對(duì)于相同距離和分片序號(hào)的不同地址分片,參照路由拓?fù)淇梢詫?shí)現(xiàn)定位。
具體的重構(gòu)方法可以在Victim網(wǎng)絡(luò)內(nèi)的重構(gòu)機(jī)上實(shí)現(xiàn)。從每個(gè)標(biāo)記包中提取標(biāo)記信息,按照一定規(guī)則存入一個(gè)重構(gòu)數(shù)據(jù)庫中,當(dāng)發(fā)生單路徑攻擊時(shí),該數(shù)據(jù)中的記錄能夠按照距離大小順序,直接提供攻擊路徑的恢復(fù)。當(dāng)發(fā)生多路徑攻擊時(shí),數(shù)據(jù)中的記錄對(duì)比“參考拓?fù)鋱D”,同樣可以恢復(fù)攻擊路徑。
該重構(gòu)方法首先讀入每個(gè)標(biāo)記包的包頭,取出標(biāo)記信息(數(shù)據(jù)結(jié)構(gòu)),從該標(biāo)記信息中可以得到該包的距離d、分片偏移號(hào)β、分片標(biāo)記地址seg等信息。在重構(gòu)數(shù)據(jù)庫中已經(jīng)保存的相同距離和相同偏移號(hào)的分片記錄有η條(庫中對(duì)應(yīng)存在η條記錄),所以必須將該分片進(jìn)行正確定位。其中,數(shù)據(jù)庫中每一條分片記錄是一個(gè)數(shù)據(jù)結(jié)構(gòu),包括k個(gè)分片(在這里k=8),這k個(gè)分片全部收齊后,將組成一條完整的邊,即距離為d的標(biāo)記路由器上的一對(duì)網(wǎng)絡(luò)接口所連接而成的邊,每個(gè)分片的偏移號(hào)為0~k-1。
如果數(shù)據(jù)庫中已經(jīng)保存的相同距離、相同偏移號(hào)的這η條分片記錄中有一條記錄的偏移號(hào)為β的片段地址等于seg,則說明已收集的那些攻擊分片記錄中已經(jīng)登記過同一臺(tái)標(biāo)記路由器,將數(shù)據(jù)庫中此條分片記錄的偏移號(hào)為β的位置的統(tǒng)計(jì)個(gè)數(shù)加1,該統(tǒng)計(jì)個(gè)數(shù)即代表目標(biāo)機(jī)所接收到的經(jīng)過由所述分片記錄代表的標(biāo)記路由器的偏移號(hào)為β數(shù)據(jù)包的個(gè)數(shù)。
如果不存在這樣的記錄,則將相同距離的記錄逐條比對(duì),將每條記錄中前β個(gè)IP片段和本片段連接起來,構(gòu)成一個(gè)長度為(βrη+1)*64/k位長度的“非完整邊”信息。如果此“非完整邊”屬于攻擊路徑參考拓?fù)鋱D上的某條距離為d的邊,并且該條記錄中偏移為β的邊片段統(tǒng)計(jì)個(gè)數(shù)為0,則在符合上述條件的記錄中寫入偏移為β的片段地址為seg,并將其統(tǒng)計(jì)個(gè)數(shù)加1。而如果該條記錄中偏移為β的邊片段統(tǒng)計(jì)個(gè)數(shù)不為0,則創(chuàng)建一條新記錄,將此記錄前β個(gè)片段的信息拷入新記錄,并置新記錄的第β+1個(gè)片段地址為seg,統(tǒng)計(jì)個(gè)數(shù)置為1。
圖6顯示了依據(jù)本發(fā)明的一個(gè)具體實(shí)施例的重構(gòu)方法的流程圖。首先,在步驟S610,取出數(shù)據(jù)包中包含的標(biāo)記信息,如上面所述的,該標(biāo)記信息可以包含該包的距離d、分片偏移號(hào)β、分片標(biāo)記地址seg等信息。根據(jù)該標(biāo)記信息,在步驟S620判斷在重構(gòu)設(shè)備中建立的重構(gòu)路徑數(shù)據(jù)庫中是否有與其距離相同的記錄。如果在步驟S620判斷為否,則流程進(jìn)行到步驟S630,判斷分片偏移號(hào)是否為0。如果為0則在步驟S635舍棄該數(shù)據(jù)包的信息,并結(jié)束對(duì)該數(shù)據(jù)包的處理。如果不為0,則在步驟S636,在數(shù)據(jù)庫中生成一條新記錄,并將相應(yīng)的分片計(jì)數(shù)置1,然后結(jié)束對(duì)該數(shù)據(jù)包的處理。
如果在步驟S620判斷數(shù)據(jù)庫中存在與其距離相同的記錄,則流程進(jìn)行到步驟S640,判斷數(shù)據(jù)庫中是否有與該數(shù)據(jù)包的偏移號(hào)相同的記錄。如果沒有,則在步驟S670判斷是否可以將此分片與數(shù)據(jù)庫中同距離的記錄組合成”非完整邊”,即是否屬于拓?fù)鋱D上某條相同距離的邊。如果是,則進(jìn)行到步驟S675,在數(shù)據(jù)庫中記錄添加此分片項(xiàng)記錄并將分片計(jì)數(shù)置1,然后結(jié)束對(duì)該數(shù)據(jù)包的處理。如果否,則可以在步驟S676舍棄該數(shù)據(jù)包的信息,并結(jié)束對(duì)該數(shù)據(jù)包的處理。
如果在步驟S640判斷結(jié)果為是,則流程進(jìn)行到步驟S660,判斷數(shù)據(jù)庫記錄中對(duì)應(yīng)的標(biāo)記地址是否相同,如果是,則在步驟S665將分片計(jì)數(shù)遞增。如果步驟S660的判斷結(jié)果為否,流程進(jìn)行到步驟S650,判斷是否可以將此分片與數(shù)據(jù)庫中同距離的記錄組合成”非完整邊”,即屬于拓?fù)鋱D上某條相同距離的邊。如果是則在步驟S655在數(shù)據(jù)庫中記錄添加一條同距離新記錄,并將分片計(jì)數(shù)置1,然后結(jié)束對(duì)該數(shù)據(jù)包的處理。如果否,則可以在步驟S656舍棄該數(shù)據(jù)包的信息,并結(jié)束對(duì)該數(shù)據(jù)包的處理。
通過對(duì)各個(gè)數(shù)據(jù)包重復(fù)上述重構(gòu)過程,可以在數(shù)據(jù)庫中得到關(guān)于各個(gè)數(shù)據(jù)包所經(jīng)過的路由器的信息。
重構(gòu)結(jié)束時(shí)會(huì)發(fā)現(xiàn)有些記錄中最后一個(gè)片段的統(tǒng)計(jì)數(shù)小于某個(gè)閾值,可以將這樣的記錄去掉。在單路徑攻擊時(shí),數(shù)據(jù)庫中每條記錄的距離都不相同,可以直接相連恢復(fù)出攻擊路徑。在多路徑攻擊時(shí),重構(gòu)數(shù)據(jù)庫中相同距離的記錄可能有多條,將數(shù)據(jù)庫中各條記錄中片段構(gòu)成的“完整邊”在攻擊路徑參考拓?fù)鋱D上(或者拓?fù)涞刂窋?shù)據(jù)庫)相比對(duì),即可恢復(fù)出攻擊路徑。
依據(jù)本發(fā)明的一個(gè)具體實(shí)施例的重構(gòu)處理中的部分算法如下
基于RIES方法,無需路由拓?fù)鋱D可以直接實(shí)現(xiàn)DoS攻擊路徑重構(gòu),而借助路由拓?fù)鋱D可實(shí)現(xiàn)DDoS攻擊路徑重構(gòu)。
本發(fā)明雖然在這里以例示方式顯示了可以用于實(shí)現(xiàn)本發(fā)明的重構(gòu)算法,但本領(lǐng)域技術(shù)人員應(yīng)該知曉,本發(fā)明并不局限于上述重構(gòu)算法,事實(shí)上,可以將基于傳統(tǒng)的邊采用方法的PPM方法中所采用的重構(gòu)算法移植到本發(fā)明的RIES方法上,用來實(shí)現(xiàn)本發(fā)明,但顯然本發(fā)明的重構(gòu)與已有技術(shù)相比要簡單得多。
標(biāo)記算法對(duì)比傳統(tǒng)邊采樣標(biāo)記路由器需要從收到的數(shù)據(jù)包中獲取上游標(biāo)記路由器地址片段信息,推斷出其完整IP地址,再與本機(jī)地址進(jìn)行Hash或插值等運(yùn)算,生成兩路由器連成的邊信息再分片打入標(biāo)記。生成標(biāo)記信息過程復(fù)雜,路徑上夾雜非標(biāo)記路由器時(shí)獲取上游地址困難。
依據(jù)本發(fā)明的RIES標(biāo)記路由器擁有自身所有的網(wǎng)絡(luò)接口地址,能夠嚴(yán)格控制1/8分片標(biāo)記順序,標(biāo)記概率可以隨端口策略而定,算法簡單,獨(dú)立于其他路由器,易于實(shí)現(xiàn)。
數(shù)據(jù)包期望基于傳統(tǒng)邊采樣的PPM方法中,往往要求所有路由器參與標(biāo)記,恢復(fù)一條長度距離為d的攻擊路徑所需要的數(shù)據(jù)包期望值計(jì)算公式如下E(X)<k·ln(kd)p(1-p)d-1]]>k表示每條邊的分片數(shù),此處為8。p為標(biāo)記概率,一般選擇4%-5%??梢奅(X)與d成正比。傳統(tǒng)方法中由于必須路徑上的路由器都參加標(biāo)記,因此距離d傳統(tǒng)等于攻擊者距離攻擊目標(biāo)的全部路由器跳數(shù)。
依據(jù)本發(fā)明的RIES方法仍然是一種邊采樣技術(shù)。因此,基于RIES的PPM重構(gòu)數(shù)據(jù)包期望值計(jì)算公式與上式相同。RVER容許攻擊路徑上非標(biāo)記路由器的存在,距離d表示攻擊者到攻擊目標(biāo)經(jīng)歷了多少標(biāo)記路由器。
增加標(biāo)記概率p雖然可以減弱攻擊者隱藏來源的能力,卻影響鏈路的吞吐性能。本發(fā)明的標(biāo)記方法中,可以針對(duì)同一個(gè)路由器上的不同網(wǎng)絡(luò)接口Si采取不同的標(biāo)記速率qi。這對(duì)于一臺(tái)路由器上制定各種路徑服務(wù)策略,決定其中哪些“邊”參與標(biāo)記,各端口設(shè)置合適的標(biāo)記速率提供了可能。
對(duì)假標(biāo)記包的抵御分析1)標(biāo)記路由器鄰接時(shí)產(chǎn)生的假邊分析傳統(tǒng)邊采樣將一臺(tái)路由器定義為攻擊路徑圖G上的一個(gè)頂點(diǎn),然后通過工具獲得路由器上網(wǎng)絡(luò)接口的IP地址在拓?fù)鋱D中表示出該路由器。由于路由器只能選擇一個(gè)出口或者入口地址代表這個(gè)頂點(diǎn),對(duì)于多出口/入口的路由器進(jìn)行標(biāo)記就會(huì)出現(xiàn)問題。比如,選擇出口IP代表路由器,路由器連接如圖8中左圖時(shí),Ri+1,1有2個(gè)不同出口,若以左出口IP代表Ri+1,1位置,則在路徑重構(gòu)時(shí),重構(gòu)對(duì)照拓?fù)鋱D中邊(Ri+1,1,Ri,2)信息與標(biāo)記包中(Ri+1,1,Ri,2)的信息是對(duì)應(yīng)不上的。同理,選擇入口IP代表該路由器,當(dāng)路由器級(jí)連如圖8中右圖時(shí),也會(huì)產(chǎn)生對(duì)應(yīng)不上的問題。
依據(jù)本發(fā)明的RIES方法在圖G的定義中,頂點(diǎn)定義在路由器網(wǎng)絡(luò)接口上,故而不會(huì)產(chǎn)生邊的二義性。
2)標(biāo)記路由器夾雜非標(biāo)記路由器時(shí)產(chǎn)生的假邊分析傳統(tǒng)邊采樣中的“邊”由兩臺(tái)鄰接路由器節(jié)點(diǎn)構(gòu)成的。若攻擊路徑上夾雜非標(biāo)記路由器,會(huì)誤將標(biāo)記路由器和相鄰非標(biāo)記路由器的地址構(gòu)造為一條假邊。依據(jù)本發(fā)明的RIES中的“邊”在標(biāo)記路由器體內(nèi),不會(huì)出現(xiàn)這種情況。
3)注入假包分析攻擊者除了修改攻擊包中的源地址來隱藏自己外,還會(huì)采用注入偽造標(biāo)記包的方法混淆分析人員的視線。標(biāo)記算法中往往根據(jù)P.flag判斷是否為標(biāo)記包。偽造的假標(biāo)記包也會(huì)將此數(shù)值置1,在標(biāo)記信息域填入假的邊信息,使得重構(gòu)分析誤入歧途。
依據(jù)本發(fā)明的RIES標(biāo)記路由器對(duì)P.flag為1的包進(jìn)行距離加1操作。(1)假標(biāo)記包到達(dá)目標(biāo)機(jī)時(shí),其距離會(huì)大于正常的標(biāo)記數(shù)據(jù)包被去掉。(2)在大規(guī)模部署時(shí),可以通過對(duì)比TTL減少值和距離增加值是否吻合來判斷假標(biāo)記包。
重構(gòu)DoS和DDoS攻擊分析基于“傳統(tǒng)邊采樣”的PPM技術(shù)對(duì)DoS攻擊重構(gòu)有效,但對(duì)于DDoS攻擊沒有很好的辦法。一個(gè)非常重要的原因是傳統(tǒng)邊采樣技術(shù)中“邊”跨越兩個(gè)路由器,要維護(hù)一個(gè)所有標(biāo)記路由器按鄰接關(guān)系進(jìn)行地址運(yùn)算的對(duì)照數(shù)據(jù)庫,以便重構(gòu)時(shí)正確定位相同距離層面上的多攻擊路徑標(biāo)記片段很難。一些已有技術(shù)希望借助于Hash函數(shù)或著某種校驗(yàn)算法產(chǎn)生特定標(biāo)記信息,以減少重構(gòu)誤報(bào)率。這要求標(biāo)記路由器和重構(gòu)計(jì)算機(jī)共享相同的Hash算法或校驗(yàn)算法,否則無法在重構(gòu)時(shí)進(jìn)行標(biāo)記信息碎片定位。
針對(duì)DoS攻擊,依據(jù)本發(fā)明的基于RIES的PPM能夠按照攻擊距離的順序和分片號(hào)可以直接獲得標(biāo)記路由器的地址,從而快速恢復(fù)攻擊路徑。
針對(duì)DDoS攻擊,例如當(dāng)攻擊者在距離m層有n條攻擊路徑時(shí),從算法中可以看出,本發(fā)明對(duì)該層的任一分片定位不需要收集全該層全部分片后再進(jìn)行對(duì)比定位,從而避免了組合指數(shù)問題。
實(shí)驗(yàn)設(shè)計(jì)及結(jié)果概率包標(biāo)記(PPM)的研究工作都是基于傳統(tǒng)邊采樣的。RIES方法仍然是一種邊采樣,PPM的研究工作同樣適用。我們?cè)O(shè)計(jì)了一個(gè)基于RIES的PPM實(shí)驗(yàn)環(huán)境。
實(shí)驗(yàn)環(huán)境如圖9所示?;赗IES技術(shù)的標(biāo)記路由器原理樣機(jī)Ri+1,Rj+1,Rj+2部署在實(shí)際的互聯(lián)網(wǎng)上。pc1,pc2和pc3為發(fā)包測試機(jī)。Ri,Rj和Rk是3臺(tái)處于正常運(yùn)行的商用路由器,不具備標(biāo)記功能。標(biāo)記概率取4%。
實(shí)驗(yàn)1Victim={pc3},Attacker={pc1}由Attacker向Victim分別發(fā)送TCP和UDP包。
在Victim處抓取IP包頭中已標(biāo)記數(shù)據(jù)包,將標(biāo)記信息按照?qǐng)D5的格式換算排列如下
表中看出,數(shù)據(jù)流路徑為(192.168.99.254,192.168.100.131)→(192.168.100.132,192.168.0.253)→Victim實(shí)驗(yàn)2Victim={pc2},Attacker={pc1}由Attacker向Victim分別發(fā)送TCP和UDP包。
在Victim處抓取IP包頭中已標(biāo)記數(shù)據(jù)包,將標(biāo)記信息按照?qǐng)D5的格式換算排列如下
表中看出,數(shù)據(jù)流路徑為(192.168.99.254,192.168.100.131)→(192.168.100.132,192.168.0.253)→→(10.0.5.213,10.0.3.252)→Victim實(shí)驗(yàn)3Victim={pc3},Attacker={pc1,pc2}由Attacker向Victim分別發(fā)送TCP和UDP包。
在Victim處抓取已標(biāo)記數(shù)據(jù)包,由于出現(xiàn)同距離的分片,采用上面所述的重構(gòu)算法,參照路由拓?fù)鋱D8,將路徑信息按照?qǐng)D5的格式換算排列如下
對(duì)照路由拓?fù)鋱D,可以發(fā)現(xiàn)攻擊來自兩條路徑,分別是(192.168.99.254,192.168.100.131)→(192.168.100.132,192.168.0.253)→Victim(10.0.3.252,10.0.5.213)→Victim受標(biāo)記路由器原理樣機(jī)個(gè)數(shù)的限制,本實(shí)驗(yàn)僅演示了距離為3,最多2條攻擊路徑。實(shí)驗(yàn)中可看出(1)RIES方法中標(biāo)記路由器距離d是實(shí)際跨越的標(biāo)記路由器距離,雖然攻擊路徑上夾雜了Ri,Ri和Rk等非標(biāo)記商用路由器,以及跨越因特網(wǎng)上若干商用路由器,依然可以忠實(shí)地記錄數(shù)據(jù)包經(jīng)歷的網(wǎng)段歷程,設(shè)備可實(shí)現(xiàn),可分步部署。
(2)RIES標(biāo)記過程不影響網(wǎng)絡(luò)中其它正常業(yè)務(wù)流量。
(3)采用17bit標(biāo)記空間是可行的。同時(shí)我們發(fā)現(xiàn)TOS域,F(xiàn)lags低2位以及Offset域修改后的數(shù)據(jù)包無法跨越實(shí)際網(wǎng)絡(luò)中的商用路由器。
概率包標(biāo)記(PPM)技術(shù)是近年來IP追蹤技術(shù)的一個(gè)主流研究分支方向。許多研究人員在PPM的編碼、加密、認(rèn)證或者標(biāo)記概率策略等領(lǐng)域開展工作,對(duì)重構(gòu)期望進(jìn)行仿真計(jì)算,而沒有進(jìn)行實(shí)際網(wǎng)絡(luò)中的標(biāo)記和重構(gòu)實(shí)驗(yàn)。一些研究人員為獲取更多標(biāo)記空間,不合理地占用IP頭某些域以承載標(biāo)記算法。這些標(biāo)記包并不能通過實(shí)際網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)發(fā)。傳統(tǒng)邊采樣方法不能有效應(yīng)對(duì)DDoS攻擊路徑重構(gòu)。
RIES比傳統(tǒng)方法更具有可部署性,標(biāo)記概率策略配置靈活性。重構(gòu)過程不依賴于復(fù)雜運(yùn)算標(biāo)記信息對(duì)照庫。我們給出本發(fā)明標(biāo)記和重構(gòu)算法,(1)無需路由拓?fù)鋱D直接實(shí)現(xiàn)DoS攻擊重構(gòu)(2)借助路由器拓?fù)鋱D實(shí)現(xiàn)DDOS攻擊重構(gòu)。實(shí)驗(yàn)表明標(biāo)記和重構(gòu)算法簡單,快速有效,結(jié)果正確,對(duì)于中間跨越商用路由器的實(shí)際網(wǎng)絡(luò)業(yè)務(wù)不產(chǎn)生影響。即使不更換現(xiàn)有商用路由器,按照本發(fā)明思路,依然可以研制和部署基于RIES的PPM標(biāo)記網(wǎng)關(guān)設(shè)備。
以上是對(duì)本發(fā)明的方法的詳細(xì)描述。如熟悉該技術(shù)領(lǐng)域
的人員可以看到的那樣,本發(fā)明可以體現(xiàn)為方法、系統(tǒng)和/或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可以呈現(xiàn)為完全硬件實(shí)施形式、完全軟件實(shí)施形式或者軟件和硬件組合實(shí)施形式。
依據(jù)本發(fā)明的一個(gè)具體實(shí)施例,提供了一種對(duì)經(jīng)過標(biāo)記路由器的網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行處理的設(shè)備,其中所述標(biāo)記路由器包括至少兩個(gè)網(wǎng)絡(luò)接口,所述設(shè)備包括針對(duì)進(jìn)入所述標(biāo)記路由器的一個(gè)網(wǎng)絡(luò)接口的數(shù)據(jù)包、在數(shù)據(jù)包的IP包頭中寫入標(biāo)記信息的裝置,其中所述標(biāo)記信息包括所述網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口號(hào);針對(duì)離開所述標(biāo)記路由器的所述網(wǎng)絡(luò)接口的數(shù)據(jù)包、判斷所述數(shù)據(jù)包是否是已標(biāo)記數(shù)據(jù)包的裝置;如果所述數(shù)據(jù)包是已標(biāo)記數(shù)據(jù)包、則取出所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口號(hào)、并將所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口號(hào)與當(dāng)前的網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口號(hào)組合在一起以構(gòu)成一個(gè)IP地址邊的裝置;以及,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間的裝置。
優(yōu)選地,所述設(shè)備進(jìn)一步包括將所述IP地址邊分成k個(gè)分片、將一個(gè)1/k分片的邊地址信息寫入所述數(shù)據(jù)包的標(biāo)記空間的裝置。并且,其中,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間的裝置包括將所述IP地址寫入用于標(biāo)識(shí)數(shù)據(jù)包的ID域和用于分片的Flags字段的最高位的裝置。
依據(jù)本發(fā)明的另一個(gè)實(shí)施例,提供了一種對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的設(shè)備,包括取出所述數(shù)據(jù)包中包含的標(biāo)記信息的裝置,其中,該標(biāo)記信息包括所述數(shù)據(jù)包的距離、分片偏移號(hào)和分片標(biāo)記地址;根據(jù)所述標(biāo)記信息得到所述數(shù)據(jù)包所經(jīng)過的標(biāo)記路由器信息的裝置;根據(jù)所述標(biāo)記路由器信息對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的裝置。優(yōu)選地,所述設(shè)備進(jìn)一步包括判斷在數(shù)據(jù)庫中是否有具有相同標(biāo)記信息的分片記錄的裝置,以及,遞增該分片記錄的統(tǒng)計(jì)個(gè)數(shù)的裝置。
此外,本發(fā)明的目的也可以通過下述方式實(shí)現(xiàn)將存儲(chǔ)有上述可執(zhí)行程序代碼的存儲(chǔ)介質(zhì)直接或者間接地提供給系統(tǒng)或設(shè)備,并且該系統(tǒng)或設(shè)備中的計(jì)算機(jī)或者中央處理單元(CPU)讀出并執(zhí)行上述程序代碼。
此時(shí),只要該系統(tǒng)或者設(shè)備具有執(zhí)行程序的功能,則實(shí)施的方式不局限于程序,并且該程序也可以是任意的形式,例如,目標(biāo)程序、解釋器執(zhí)行的程序或者提供給操作系統(tǒng)的腳本程序等上述這些機(jī)器可讀存儲(chǔ)介質(zhì)包括但不限于各種存儲(chǔ)器和存儲(chǔ)單元,半導(dǎo)體設(shè)備,磁盤單元例如光、磁和磁光盤,以及其它適于存儲(chǔ)信息的介質(zhì)等。
另外,客戶計(jì)算機(jī)通過連接到因特網(wǎng)上的相應(yīng)網(wǎng)站,并且將依據(jù)本發(fā)明的計(jì)算機(jī)程序代碼下載和安裝到計(jì)算機(jī)中然后執(zhí)行該程序,也可以實(shí)現(xiàn)本發(fā)明。
以上雖然結(jié)合附圖詳細(xì)描述了本發(fā)明的實(shí)施例,但是應(yīng)當(dāng)明白,上面所描述的實(shí)施方式只是用于說明本發(fā)明,而并不構(gòu)成對(duì)本發(fā)明的限制。對(duì)于本領(lǐng)域的技術(shù)人員來說,可以對(duì)上述實(shí)施方式做出各種修改和變更而不背離本發(fā)明的實(shí)質(zhì)和范圍。因此,本發(fā)明的范圍僅由所附權(quán)利要求
及其等效含義來限定。
權(quán)利要求
1.一種對(duì)經(jīng)過標(biāo)記路由器的網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行處理的方法,其中所述標(biāo)記路由器包括至少兩個(gè)網(wǎng)絡(luò)接口,包括針對(duì)進(jìn)入所述標(biāo)記路由器的一個(gè)網(wǎng)絡(luò)接口的數(shù)據(jù)包,在數(shù)據(jù)包的IP包頭中寫入標(biāo)記信息,其中所述標(biāo)記信息包括所述網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口信息;針對(duì)離開所述標(biāo)記路由器的所述網(wǎng)絡(luò)接口的數(shù)據(jù)包,判斷所述數(shù)據(jù)包是否是已標(biāo)記數(shù)據(jù)包;如果所述數(shù)據(jù)包是已標(biāo)記數(shù)據(jù)包,則取出所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口信息,并將所述標(biāo)記信息中包括的網(wǎng)絡(luò)接口信息與當(dāng)前的網(wǎng)絡(luò)接口的網(wǎng)絡(luò)接口信息組合在一起,構(gòu)成一個(gè)IP地址邊;以及將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間。
2.如權(quán)利要求
1所述的方法,進(jìn)一步包括將所述IP地址邊分成k個(gè)分片,將一個(gè)1/k分片的邊地址信息寫入所述數(shù)據(jù)包的標(biāo)記空間。
3.如權(quán)利要求
1或2所述的方法,其中,將所述IP地址邊寫入所述數(shù)據(jù)包的標(biāo)記空間的步驟包括將所述IP地址寫入用于標(biāo)識(shí)數(shù)據(jù)包的ID域和用于分片的Flags字段的最高位。
4.一種對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的方法,包括取出所述數(shù)據(jù)包中包含的標(biāo)記信息,其中,該標(biāo)記信息包括由所經(jīng)過的路由器的入口網(wǎng)絡(luò)接口信息和出口網(wǎng)絡(luò)接口信息組合在一起的地址信息;根據(jù)所述標(biāo)記信息得到所述數(shù)據(jù)包所經(jīng)過的路由器的地址信息。
5.如權(quán)利要求
4所述的方法,進(jìn)一步包括將標(biāo)記信息存儲(chǔ)在數(shù)據(jù)庫中。
6.如權(quán)利要求
4所述的方法,其中,所述標(biāo)記信息進(jìn)一步包括所述數(shù)據(jù)包的距離和分片偏移號(hào),
7.如權(quán)利要求
4到6中的任何一個(gè)所述的方法,進(jìn)一步包括通過將標(biāo)記信息與數(shù)據(jù)庫中存儲(chǔ)的標(biāo)記信息記錄進(jìn)行比較,得到所述路由器的地址信息。
8.一種對(duì)數(shù)據(jù)包經(jīng)過的路由器進(jìn)行標(biāo)識(shí)的方法,包括記錄所述數(shù)據(jù)包進(jìn)入路由器所經(jīng)過的入口網(wǎng)絡(luò)接口的信息以及數(shù)據(jù)包離開路由器所經(jīng)過的出口網(wǎng)絡(luò)接口的信息;以及以所述入口網(wǎng)絡(luò)接口的信息和所述出口網(wǎng)絡(luò)接口的信息對(duì)所述路由器進(jìn)行標(biāo)識(shí)。
9.一種對(duì)經(jīng)過標(biāo)記路由器的網(wǎng)絡(luò)接口的數(shù)據(jù)包進(jìn)行處理的設(shè)備,其中所述標(biāo)記路由器包括至少兩個(gè)網(wǎng)絡(luò)接口,所述設(shè)備包括用于實(shí)現(xiàn)如權(quán)利要求
1-3所述的方法中的各個(gè)步驟的裝置。
10.一種對(duì)數(shù)據(jù)包所經(jīng)過的路徑進(jìn)行重構(gòu)的設(shè)備,包括用于實(shí)現(xiàn)如權(quán)利要求
4-7所述的方法中的各個(gè)步驟的裝置。
專利摘要
基于邊采樣的概率包標(biāo)記(PPM)是IP追蹤技術(shù)中的一個(gè)主流方向。本發(fā)明提出一種新型的邊采樣方法“路由器內(nèi)部邊采樣”(RIES),使得PPM標(biāo)記設(shè)備容易實(shí)現(xiàn)和部署。在圖論模型上,RIES以網(wǎng)絡(luò)接口替代路由器作為頂點(diǎn),以路由器“內(nèi)部邊”替代傳統(tǒng)采樣邊。標(biāo)記路由器對(duì)于進(jìn)入和離開本機(jī)任一個(gè)網(wǎng)絡(luò)接口的數(shù)據(jù)包分別實(shí)施入口標(biāo)記策略和出口標(biāo)記策略。標(biāo)記過程不依賴于上下游路由器信息,從而有效地解決了標(biāo)記路由器的逐步部署問題。該方法實(shí)施簡單,標(biāo)記概率的策略配置靈活,可以有效解決分布式拒絕服務(wù)(DDoS)攻擊的重構(gòu)問題。
文檔編號(hào)H04L12/56GK1997023SQ200610167702
公開日2007年7月11日 申請(qǐng)日期2006年12月19日
發(fā)明者魏軍, 戴英俠, 連一峰 申請(qǐng)人:中國科學(xué)院研究生院導(dǎo)出引文BiBTeX, EndNote, RefMan
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1