基于指紋多重哈希布隆過(guò)濾器的網(wǎng)絡(luò)取證內(nèi)容溯源方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)取證領(lǐng)域,是一個(gè)基于增強(qiáng)版指紋多重哈希布隆過(guò)濾器(EWMB) 數(shù)據(jù)結(jié)構(gòu)進(jìn)行會(huì)話內(nèi)容溯源的網(wǎng)絡(luò)取證方法和系統(tǒng)。
【背景技術(shù)】
[0002] 計(jì)算機(jī)和網(wǎng)絡(luò)的普及給本發(fā)明帶來(lái)了極大的便利,而與此同時(shí)也產(chǎn)生了大量的信 息安全威脅。其中引人關(guān)注的是如今網(wǎng)絡(luò)犯罪日益猖獗,無(wú)論在范圍上還是所使用的技術(shù) 手段上都日新月異。在防止網(wǎng)絡(luò)犯罪方面已經(jīng)有一些出色的工作對(duì)其進(jìn)行研宄,然而在幫 助執(zhí)法機(jī)關(guān)或者安全專(zhuān)家進(jìn)行網(wǎng)絡(luò)犯罪的調(diào)查取證方面卻鮮有成果,需要一種可以對(duì)網(wǎng)絡(luò) 上傳輸過(guò)的內(nèi)容進(jìn)行溯源的系統(tǒng)。
[0003] 最直接的方法是捕獲并且存儲(chǔ)原始的網(wǎng)絡(luò)流量,但是由于網(wǎng)絡(luò)規(guī)模的日益擴(kuò)大, 即使利用先進(jìn)的存儲(chǔ)技術(shù)將這些流量包全部收集起來(lái),對(duì)這些數(shù)據(jù)進(jìn)行分析查找也是極其 不現(xiàn)實(shí)的。那么,為了減少存儲(chǔ)和計(jì)算能力的需求并且提供一些隱私保護(hù),對(duì)其稍加改進(jìn)的 方法是存儲(chǔ)這些原始網(wǎng)絡(luò)流量的哈希值。這種方法(例如:SHA-1哈希方法)可以對(duì)每個(gè) 原始的網(wǎng)絡(luò)流量包減少大概20字節(jié)的存儲(chǔ)需求,但由于哈希碰撞存在一定的誤報(bào)率,顯而 易見(jiàn)該方法只能對(duì)整個(gè)包的內(nèi)容進(jìn)行溯源,而不能對(duì)通信內(nèi)容的某一摘錄進(jìn)行溯源。
[0004] 對(duì)此,Shanmugasundaram等人(ShanmugasundaramK,EJronnimannH,Memon N.Payloadattributionviahierarchicalbloomfilters[C]//Proceedingsofthe IlthACMconferenceonComputerandcommunicationssecurity.ACM, 2004:31-41.)提 出一種存儲(chǔ)有效負(fù)載哈希值的數(shù)據(jù)結(jié)構(gòu)一一分層布隆過(guò)濾器(HBF),然后基于HBF設(shè)計(jì)了 有效負(fù)載溯源系統(tǒng)(PAS)作為網(wǎng)絡(luò)取證分布式系統(tǒng)ForNet的核心模塊。該系統(tǒng)監(jiān)控網(wǎng)絡(luò)流 量,創(chuàng)建基于哈希的有效負(fù)載摘錄并定期的對(duì)其存檔,可以對(duì)有效負(fù)載的某一摘錄進(jìn)行溯 源。縱觀溯源系統(tǒng)的發(fā)展,該系統(tǒng)的提出可以說(shuō)是一次質(zhì)的飛越,使得對(duì)摘錄的溯源成為可 能。隨后,大量的研宄集中在對(duì)有效負(fù)載溯源系統(tǒng)進(jìn)行改進(jìn)上,改進(jìn)方法可以分為兩大類(lèi): 1)對(duì)有效負(fù)載的塊劃分方法進(jìn)行改進(jìn),例如:固定塊覆蓋(FBS)、可變塊覆蓋(VBS) ;2)實(shí) 現(xiàn)更復(fù)雜的有效負(fù)載溯源查詢,例如帶通配符的查詢。雖然該方法具有一定的溯源取證能 力,但是它的缺點(diǎn)是只能對(duì)有效負(fù)載進(jìn)行溯源,并且只能獲取到源端和目的端的四元組。在 網(wǎng)絡(luò)安全事件中為了判斷受害者或者犯罪者進(jìn)行取證,該系統(tǒng)的溯源能力是遠(yuǎn)遠(yuǎn)不夠的。
【發(fā)明內(nèi)容】
[0005] 當(dāng)前的有效負(fù)載溯源系統(tǒng)(PAS,PayloadAttributionSystem)均是工作在網(wǎng)絡(luò) 層,只能對(duì)有效負(fù)載的摘錄進(jìn)行溯源,如要對(duì)通信的具體內(nèi)容進(jìn)行溯源還要進(jìn)行一些變換 處理,除此只能溯源到源端和目的端的四元組。隨著網(wǎng)絡(luò)安全事件的層出不窮,為了能夠在 事件中判斷受害者或者犯罪者進(jìn)行取證,想進(jìn)一步獲得一些應(yīng)用層信息,例如:HTTP會(huì)話 的URUcookies,該系統(tǒng)溯源能力的不足越來(lái)越引起重視?;诖耍景l(fā)明旨在提高溯源能 力和準(zhǔn)確性,提出了一種基于增強(qiáng)版指紋多重哈希布隆過(guò)濾器(EWMB,EnhancedWinnowing MultihashingBloomFilter)的數(shù)據(jù)結(jié)構(gòu)和基于此工作在應(yīng)用層的網(wǎng)絡(luò)取證內(nèi)容溯源方 法和系統(tǒng)。
[0006] 具體來(lái)說(shuō),本發(fā)明采用的技術(shù)方案如下:
[0007] 一種網(wǎng)絡(luò)取證內(nèi)容溯源方法,其步驟包括:
[0008] 1)從網(wǎng)關(guān)上捕獲原始網(wǎng)絡(luò)流量數(shù)據(jù)包,對(duì)其進(jìn)行重組并構(gòu)建應(yīng)用層的會(huì)話,然后 將所獲得的會(huì)話內(nèi)容和會(huì)話信息進(jìn)行存儲(chǔ);
[0009] 2)在每一個(gè)時(shí)間間隔內(nèi),將會(huì)話內(nèi)容分塊存儲(chǔ)到增強(qiáng)版指紋多重哈希布隆過(guò)濾器 中,并保存會(huì)話索引表;所述增強(qiáng)版指紋多重哈希布隆過(guò)濾器是基于當(dāng)前效果最好的指紋 多重哈希布隆過(guò)濾器所提出的改進(jìn),它包含基本布隆過(guò)濾器和帶會(huì)話索引的布隆過(guò)濾器, 每一個(gè)分塊不僅存儲(chǔ)到基本布隆過(guò)濾器中,還串聯(lián)會(huì)話索引存儲(chǔ)到帶會(huì)話索引的布隆過(guò)濾 器中;
[0010] 3)收到查詢請(qǐng)求后,使用與步驟2)相同的方法對(duì)所查詢的摘錄進(jìn)行分塊,然后在 可能的時(shí)間間隔內(nèi)的所有存檔單元中檢索,首先將得到的分塊在基本布隆過(guò)濾器中進(jìn)行查 詢,若能夠查詢到這些分塊,則將得到的分塊串聯(lián)候選的會(huì)話索引,并在帶會(huì)話索引的布隆 過(guò)濾器中進(jìn)行查詢,從而得到傳輸該摘錄的應(yīng)用層信息。
[0011] 進(jìn)一步地,步驟2)將會(huì)話內(nèi)容分塊存儲(chǔ)到增強(qiáng)版指紋多重哈希布隆過(guò)濾器中的 方法是:
[0012] a)在每一個(gè)指紋哈希布隆過(guò)濾器中,使用winnowing指紋方法設(shè)置兩個(gè)不同大小 的窗口,通過(guò)該兩個(gè)不同大小的窗口在會(huì)話內(nèi)容中滑動(dòng)來(lái)選擇塊邊界;
[0013] b)由每?jī)蓚€(gè)塊邊界之間的部分和下一個(gè)塊的前綴組成分塊;
[0014] c)對(duì)分塊大小小于預(yù)先設(shè)定的閾值的塊和下一個(gè)塊進(jìn)行合并,直到分塊大小大于 閾值;
[0015] d)使用過(guò)濾器中的哈希算法將最終的分塊插入到過(guò)濾器中。
[0016] 一種采用上述方法的網(wǎng)絡(luò)取證內(nèi)容溯源系統(tǒng),其包括:
[0017] 數(shù)據(jù)重組模塊,用于對(duì)原始網(wǎng)絡(luò)流量數(shù)據(jù)包進(jìn)行重組,構(gòu)建應(yīng)用層的會(huì)話,并將所 獲得的會(huì)話內(nèi)容和會(huì)話信息進(jìn)行存儲(chǔ);
[0018] 內(nèi)容處理模塊,用于在每一個(gè)時(shí)間間隔內(nèi),將會(huì)話內(nèi)容分塊存儲(chǔ)到增強(qiáng)版指紋多 重哈希布隆過(guò)濾器中,并保存會(huì)話索引表;所述增強(qiáng)版指紋多重哈希布隆過(guò)濾器包含基本 布隆過(guò)濾器和帶會(huì)話索引的布隆過(guò)濾器,每一個(gè)分塊不僅存儲(chǔ)到基本布隆過(guò)濾器中,還串 聯(lián)會(huì)話索引存儲(chǔ)到帶會(huì)話索引的布隆過(guò)濾器中;
[0019] 查詢處理模塊,用于對(duì)查詢請(qǐng)求進(jìn)行處理,首先將所查詢的摘錄分塊存儲(chǔ)到增強(qiáng) 版指紋多重哈希布隆過(guò)濾器中,然后將得到的分塊在基本布隆過(guò)濾器中進(jìn)行查詢,若能夠 查詢到這些分塊,則將得到的分塊串聯(lián)候選的會(huì)話索引,并在帶會(huì)話索引的布隆過(guò)濾器中 進(jìn)行查詢,從而得到傳輸該摘錄的應(yīng)用層信息。
[0020] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果如下:
[0021] 1)基于當(dāng)前效果最好的指紋多重哈希布隆過(guò)濾器(WMH,WinnowingMutihashing Bloomfilter)的數(shù)據(jù)結(jié)構(gòu),提出了一種增強(qiáng)版指紋多重哈希布隆過(guò)濾器用于網(wǎng)絡(luò)取證內(nèi) 容溯源系統(tǒng)中,使其具有更高的準(zhǔn)確率和壓縮比;
[0022] 2)在網(wǎng)絡(luò)取證內(nèi)容溯源系統(tǒng)中,提出了會(huì)話索引(session-index)和時(shí)間索引 (time-index),使其具有更強(qiáng)的溯源能力和效率,在短時(shí)間內(nèi)獲得應(yīng)用層的信息;
[0023] 3)為了能夠直接對(duì)通信內(nèi)容進(jìn)行溯源,對(duì)網(wǎng)絡(luò)取證內(nèi)容溯源方法和系統(tǒng)架構(gòu)進(jìn)行 了設(shè)計(jì);
[0024] 4)實(shí)現(xiàn)了網(wǎng)絡(luò)取證內(nèi)容溯源的原型系統(tǒng),實(shí)驗(yàn)顯示該系統(tǒng)具有更高的處理效率以 及準(zhǔn)確率。
[0025] 本發(fā)明基于增強(qiáng)版指紋多重哈希布隆過(guò)濾器,使用會(huì)話索引和時(shí)間索引對(duì)網(wǎng)絡(luò)取 證內(nèi)容溯源系統(tǒng)的架構(gòu)進(jìn)行整體設(shè)計(jì),并對(duì)實(shí)現(xiàn)的網(wǎng)絡(luò)取證溯源原型系統(tǒng)進(jìn)行一些性能的 測(cè)試與比較。本發(fā)明的原型系統(tǒng)具有對(duì)通信具體內(nèi)容溯源的能力,利用實(shí)驗(yàn)室網(wǎng)關(guān)上所捕 獲的一天4258. 71MB的網(wǎng)絡(luò)流量進(jìn)行模擬測(cè)試,與沒(méi)有時(shí)間索引的系統(tǒng)相比較,該系統(tǒng)以 10%的存儲(chǔ)空間為代價(jià),使其溯源效率提高了 30多倍。
【附圖說(shuō)明】
[0026] 圖1是本發(fā)明的CAS系統(tǒng)的架構(gòu)圖。
[0027] 圖2是WBS和EWMB方法的示意圖。
[0028] 圖3是WMH方法的兩個(gè)實(shí)例示意圖。
[0029] 圖4是WMH和EWMB方法的塊分布大小的比較圖。
[0030] 圖5是WMH和EWMB方法的誤報(bào)率比較圖。
【具體實(shí)施方式】
[0031] 為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面通過(guò)具體實(shí)施例和 附圖,對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
[0032] 為了實(shí)現(xiàn)網(wǎng)絡(luò)安全事件中的內(nèi)容溯源,本發(fā)明提供了一種基于增強(qiáng)版指紋多重哈 希布隆過(guò)濾器(EWMB)的網(wǎng)絡(luò)取證內(nèi)容溯源方法和系統(tǒng),該系統(tǒng)簡(jiǎn)稱(chēng)CAS。主要包含兩個(gè)方 面:(1)網(wǎng)絡(luò)取證內(nèi)容溯源系統(tǒng)(CAS)架構(gòu)的設(shè)計(jì);(2)提出了一種增強(qiáng)版指紋多重哈希布 隆過(guò)濾器(EWMB)的數(shù)據(jù)結(jié)構(gòu)。
[0033] 本發(fā)明的網(wǎng)絡(luò)取證內(nèi)容溯源系統(tǒng)(CAS)的架構(gòu)圖如圖1所示,包括以下三個(gè)部 分:
[0034] (一)數(shù)據(jù)重組:將從網(wǎng)關(guān)上捕獲的原始網(wǎng)絡(luò)流量數(shù)據(jù)包進(jìn)行重組,構(gòu)建應(yīng)用層的 會(huì)話,例如http會(huì)話,郵件會(huì)話,網(wǎng)絡(luò)電話會(huì)話等。并將所獲得的會(huì)話內(nèi)容和會(huì)話信息分別 進(jìn)行存儲(chǔ)。一些成熟的開(kāi)源工具(wireshark,xways等)可以完成這部分工作。
[0035] (二)內(nèi)容處理:在每一個(gè)時(shí)間間隔內(nèi),CAS利用EWMB方法對(duì)會(huì)話內(nèi)容分塊存儲(chǔ) 到布隆過(guò)濾器中,并保存一份會(huì)話索引(session-index)表,圖1中EWMB_H1~EWMB_Hn即 表示每個(gè)時(shí)間索引內(nèi)的布隆過(guò)濾器。并且,每過(guò)一個(gè)時(shí)間間隔對(duì)當(dāng)前的布隆過(guò)濾器進(jìn)行存 檔,以方便進(jìn)行time-index即時(shí)間索引。本發(fā)明中,會(huì)話索引是指根據(jù)會(huì)話的唯一標(biāo)識(shí)(可 以是會(huì)話的四元組)而形成的索引;時(shí)間索引是指根據(jù)選擇的時(shí)間間隔而形成的索引。在 EWMB方法中,不同的指紋分塊方法所得分塊插入到不同的過(guò)濾