一種利用信息熵和哈希函數(shù)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流零水印提取的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及匿名網(wǎng)絡(luò)環(huán)境下通信雙方關(guān)系確認(rèn)領(lǐng)域,更具體的說(shuō),涉及一種利用信息熵和哈希函數(shù)對(duì)網(wǎng)絡(luò)流進(jìn)行水印提取的方法,以及一種網(wǎng)絡(luò)流零水印的提取和檢測(cè)系統(tǒng)。
【背景技術(shù)】
[0002]隨著全球信息化的飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)是當(dāng)今世界最為激動(dòng)人心的高新技術(shù)之一。網(wǎng)絡(luò)的資源共享、信息交換和分布式處理給學(xué)習(xí)、工作、科研帶來(lái)極大便利。但層出不窮的各種攻擊,給計(jì)算機(jī)網(wǎng)絡(luò)和系統(tǒng)帶來(lái)了巨大的潛在威脅和破壞。
[0003]進(jìn)入2000年以來(lái),網(wǎng)絡(luò)遭受攻擊事件不斷發(fā)生,根據(jù)“2003年FBI計(jì)算機(jī)犯罪與安全調(diào)查”顯示,DD0S攻擊是排名第二的網(wǎng)絡(luò)犯罪,并且數(shù)量不斷攀升。
[0004]DDoS攻擊通過(guò)控制多臺(tái)傀儡主機(jī)向攻擊目標(biāo)發(fā)起大量占用網(wǎng)絡(luò)帶寬的無(wú)用報(bào)文,以此消耗攻擊目標(biāo)的系統(tǒng)和網(wǎng)絡(luò)資源,使其無(wú)法對(duì)外正常提供服務(wù)。由于攻擊流量的突發(fā)性和地址的隨機(jī)性,導(dǎo)致這種攻擊很難用傳統(tǒng)的基于流量監(jiān)控的檢測(cè)技術(shù)從突發(fā)性正常流量中區(qū)分出來(lái)。
[0005]在眾多的DDoS攻擊中,SYN Flood無(wú)疑是當(dāng)前最為經(jīng)典且最被廣泛應(yīng)用的攻擊類型,它利用了 TCP協(xié)議實(shí)現(xiàn)中的漏洞,可以對(duì)所有基于TCP/IP協(xié)議棧的網(wǎng)絡(luò)設(shè)備產(chǎn)生影響。
[0006]SYN Flood攻擊的具體工作原理為:通過(guò)向目標(biāo)服務(wù)器的開(kāi)放端口發(fā)送大量的偽造源地址的攻擊報(bào)文,導(dǎo)致服務(wù)器網(wǎng)絡(luò)協(xié)議棧中的半開(kāi)連接隊(duì)列占滿緩存,最終宕機(jī)停止工作,使得其他用戶不能正常訪問(wèn)。各種操作系統(tǒng),甚至性能較差的防火墻、路由器等都無(wú)法有效地防御這種攻擊模式。而且通過(guò)各種網(wǎng)絡(luò)工具,該攻擊可以方便地偽造源地址,這使得追蹤攻擊者變得非常困難。
[0007]針對(duì)SYN Flood攻擊的特點(diǎn),解決的根本途徑是跟蹤攻擊流,找出攻擊路徑并發(fā)現(xiàn)攻擊源,這就是IP回溯方法。
[0008]IP回溯旨在從被攻擊方開(kāi)始找到攻擊方,是一種重在威懾的方法。IP回溯大致可分為兩類。
[0009]—類是能回溯一定流量的攻擊。主要缺點(diǎn)是:(1)對(duì)IP協(xié)議進(jìn)行修改;(2)當(dāng)攻擊流量足夠大時(shí),回溯性能可接受,對(duì)小流量和單包攻擊,誤報(bào)率和漏報(bào)率都相當(dāng)高。
[0010]另一類是能回溯任意流量的攻擊,包括單包攻擊?;驹硎?當(dāng)路由器轉(zhuǎn)發(fā)分組時(shí),也對(duì)分組信息進(jìn)行記錄;回溯是通過(guò)查詢分組記錄以確定分組經(jīng)過(guò)的路由器。這類方案關(guān)鍵問(wèn)題是:由于路由器存儲(chǔ)資源有限,分組記錄容易丟失。
[0011]為此,我們發(fā)明了基于數(shù)據(jù)流零水印的IP回溯方法。
[0012]數(shù)字水印最早是向數(shù)據(jù)多媒體(如圖像、聲音、視頻信號(hào)等)中添加某些數(shù)字信息以達(dá)到文件真?zhèn)舞b別、版權(quán)保護(hù)等功能。后來(lái)為標(biāo)識(shí)網(wǎng)絡(luò)流量將水印引入網(wǎng)絡(luò)安全中。
[0013]網(wǎng)絡(luò)流零水印是目前數(shù)據(jù)流水印的一個(gè)新的研究方向,其思想是利用原始流量的某些重要特征構(gòu)造可以唯一識(shí)別的水印,因此原始數(shù)據(jù)流也就認(rèn)為已經(jīng)包含了該水印且具備了某些標(biāo)識(shí)。零水印的最大特點(diǎn)就是不改變?cè)剂髁康娜魏螖?shù)據(jù),保證了水印的不可見(jiàn)性,因此不存在數(shù)據(jù)流質(zhì)量下降或水印量受限等問(wèn)題。
【發(fā)明內(nèi)容】
[0014]發(fā)明的目的在于克服現(xiàn)有技術(shù)之不足,提供一種利用信息熵和哈希函數(shù)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流零水印提取的方法以及一種基于網(wǎng)絡(luò)流零水印的IP回溯系統(tǒng)。
[0015]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:提供一種利用信息熵和哈希函數(shù)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流零水印提取的方法,包括:在發(fā)送端原始流量中,通過(guò)對(duì)數(shù)據(jù)流按時(shí)間進(jìn)行分片,統(tǒng)計(jì)數(shù)據(jù)包大小的分布情況并計(jì)算香農(nóng)熵,利用哈希函數(shù)對(duì)其進(jìn)行零水印的提??;在接收端,利用同樣的方法再次對(duì)接收到的流量進(jìn)行零水印提??;通過(guò)對(duì)兩端提取的零水印的比較來(lái)確認(rèn)發(fā)送端和接收端是否存在明顯的網(wǎng)絡(luò)通信關(guān)系。
[0016]優(yōu)選的,所述網(wǎng)絡(luò)流零水印的提取的步驟為:
[0017]A1、獲得發(fā)送端的原始數(shù)據(jù)流t,選取合適的偏移量0,按照一定的時(shí)間片大小T對(duì)數(shù)據(jù)流進(jìn)行分片,得到1個(gè)時(shí)間片。
[0018]A2、在每一個(gè)時(shí)間片大小內(nèi),統(tǒng)計(jì)數(shù)據(jù)包大小的分布狀況;計(jì)算每個(gè)時(shí)間間隔內(nèi),不同包大小出現(xiàn)的次數(shù)Δ t);
[0019]A3、計(jì)算每個(gè)時(shí)間間隔內(nèi),不同大小包出現(xiàn)的概率:
[0020](i Δ t) = Njj (i Δ t)/ Σ sumj = iNj j (i Δ t)
[0021]其中,N^iAt)代表第i個(gè)時(shí)間間隔內(nèi),同樣大小的包出現(xiàn)的次數(shù);Σ,= At)代表同一時(shí)間間隔內(nèi),不同大小的包出現(xiàn)的總次數(shù),sum代表該時(shí)間間隔內(nèi)不同大小包的和;
[0022]A4、以隨機(jī)變量X代表每個(gè)時(shí)間間隔中不同大小包的取值情況,利用香濃公式,計(jì)算各個(gè)時(shí)間片內(nèi)的香農(nóng)熵:
[0023]Η ⑴,=-Σ nj = !P (x^ logp (x^
[0024]p (x^代表隨機(jī)變量中某一特定值時(shí)的概率;
[0025]A5、對(duì)信息熵H(X) ’進(jìn)行量化處理:
[0026]H(X)=H(X)’*a
[0027]其中,a是量化單位。
[0028]A6、輸入一組秘鑰Key,與量化后的香農(nóng)熵H(X)進(jìn)行哈希,得到所需的水印:
[0029]ff, = HASH (Key ,, Η (Χχ))
[0030]其中,Wi是最終要求的水印,也是該數(shù)據(jù)流的特征量,Key i是第i個(gè)秘鑰,H(X ,)是第i個(gè)時(shí)間片的熵,HASH0是求水印所需的哈希函數(shù)。
[0031]優(yōu)選的,在發(fā)送端的邊界路由收集來(lái)自發(fā)送端的數(shù)據(jù)流信息,對(duì)其進(jìn)行零水印的提取,并將提取的零水印W及提取參數(shù)轉(zhuǎn)存到第三方代理。
[0032]優(yōu)選的,在接收端的邊界路由收集發(fā)送給接收端的數(shù)據(jù)流信息,從第三方代理獲得零水
[0033]印提取所需的各種參數(shù),利用零水印的提取的步驟提取接收端接收的數(shù)據(jù)流所攜帶的零
[0034]水印W’,并發(fā)送到第三方代理;由第三方代理比較發(fā)送端和接收端的零水印是否相同。
[0035]優(yōu)選的,包括如下步驟:
[0036]B1、在被攻擊方,首先利用網(wǎng)絡(luò)流零水印,確定攻擊流來(lái)自于邊界路由;
[0037]B2、使用零水印提取和網(wǎng)絡(luò)通信關(guān)系確認(rèn)的方法確認(rèn)公積流流經(jīng)的上一個(gè)路由的位置;
[0038]B3、重復(fù)步驟B2直到將攻擊流鎖定在某一特定局域網(wǎng)內(nèi);
[0039]B4、當(dāng)鎖定某一路由器或局域網(wǎng)時(shí),按照零水印提取的方法來(lái)確定攻擊流流經(jīng)的主機(jī)路線,最終將攻擊源鎖定在某臺(tái)或某幾臺(tái)物理機(jī)上,以此實(shí)現(xiàn)IP回溯。
[0040]1)本發(fā)明的有益效果是:在被攻擊方,首先利用網(wǎng)絡(luò)流零水印,確定攻擊流來(lái)自于哪個(gè)路由器或交換機(jī),以此來(lái)尋找攻擊流流經(jīng)的路徑。
[0041]2)當(dāng)鎖定某一路由器或局域網(wǎng)時(shí),在以此為跳板,繼續(xù)向與自身相連的路由器確認(rèn)攻擊流的來(lái)源,進(jìn)一步回溯攻擊流的路徑。
[0042]如此循環(huán)下去,則可以將攻擊源鎖定在某一局域網(wǎng)或某幾臺(tái)主機(jī)之間。
[0043]以下結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明;但本發(fā)明的一種利用信息熵和哈希函數(shù)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流零水印提取的方法不局限于實(shí)施例。
【附圖說(shuō)明】
[0044]圖1是利用信息熵和哈希函數(shù)對(duì)網(wǎng)絡(luò)流進(jìn)行零水印提取的框架示意圖;
[0045]圖2是利用信息熵和哈希函數(shù)對(duì)網(wǎng)絡(luò)流進(jìn)行零水印提取的流程示意圖;
[0046]圖3是利用零水印進(jìn)行通信關(guān)系確認(rèn)的網(wǎng)絡(luò)框架示意圖;
[0047]圖4是利用零水印進(jìn)行通信關(guān)系確認(rèn)的整體流程示意圖;
[0048]圖5是利用零水印進(jìn)彳丁 IP回溯不意圖。
【具體實(shí)施方式】
[0049]實(shí)施例1
[0050]參見(jiàn)圖1至圖5所示,本發(fā)明的一種利用信息熵和哈希函數(shù)進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)流零水印提取的方法,包括:在發(fā)送端原始流量中,通過(guò)對(duì)數(shù)據(jù)流按時(shí)間進(jìn)行分片,統(tǒng)計(jì)數(shù)據(jù)包大小的分布情況并計(jì)算香農(nóng)熵,利用哈希函數(shù)對(duì)其進(jìn)行零水印的提??;在接收端,利用同樣的方法再次對(duì)接收到的流量進(jìn)行零水印提??;通過(guò)對(duì)兩端提取的零水印的比較來(lái)確認(rèn)發(fā)送端和接收端是否存在明顯的網(wǎng)絡(luò)通信關(guān)系。
[0051]優(yōu)選的,所述網(wǎng)絡(luò)流零水印的提取的步驟為:
[0052]A1、獲得發(fā)送端的原始數(shù)據(jù)流t,選取合適的偏移量0,按照一定的時(shí)間片大小T對(duì)數(shù)據(jù)流進(jìn)行分片,得到1個(gè)時(shí)間片。
[0053]A2、在每一個(gè)時(shí)間片大小內(nèi),統(tǒng)計(jì)數(shù)據(jù)包大小的分布狀況;計(jì)算每個(gè)時(shí)間間隔內(nèi),不同包大小出現(xiàn)的次數(shù)Δ t);
[0054]A3、計(jì)算每個(gè)時(shí)間間隔內(nèi),不同大小包出現(xiàn)的概率:
[0055](i Δ t) = Njj (i Δ t)/ Σ 二 =凡(i Δ t)
[0056]其中,N^iAt)代表第i個(gè)時(shí)間間隔內(nèi),同樣大小的包出現(xiàn)的次數(shù);Σ,=^,(1 At)代表同一時(shí)間間隔內(nèi),不同大小的包出現(xiàn)的總次數(shù),sum代表該時(shí)間間隔內(nèi)不同大小包的和;