Bloom-filter加密算法在網(wǎng)絡(luò)取證中的應(yīng)用

作為網(wǎng)絡(luò)取證技術(shù)一方面要大范圍地收集網(wǎng)絡(luò)數(shù)據(jù)流,不能僅僅收集有限的日志信息,另一方面要克服海量數(shù)據(jù)傳輸和存儲(chǔ)帶來(lái)的資源瓶頸。為了解決這一矛盾的策略就是對(duì)原始的網(wǎng)絡(luò)數(shù)據(jù)流進(jìn)行的壓縮存儲(chǔ),同時(shí)不影響壓縮后的數(shù)據(jù)對(duì)事后分析機(jī)制的支持,重構(gòu)網(wǎng)絡(luò)事件。Bloom-filter加密算法良好數(shù)據(jù)映射壓縮性能、支持高效的查詢機(jī)制能正好可以解決這個(gè)問(wèn)題。

Bloom-filter加密算法在網(wǎng)絡(luò)取證中的應(yīng)用

一、Bloom-filter加密算法介紹

Bloom-filter是一個(gè)非常優(yōu)秀的數(shù)據(jù)結(jié)構(gòu),由Bloom在1970年提出來(lái),現(xiàn)已經(jīng)廣泛應(yīng)用于計(jì)算機(jī)系統(tǒng)中龐大的數(shù)據(jù)集表達(dá),提高查找效率。

1、Bloom-filter加密算法的基本原理

分配一個(gè)具有m位的向量y,所有的位被初始化為0。選擇k個(gè)相互獨(dú)立的hash函數(shù)h1,h2,h3,…,hk。,值域?yàn)椋?,2,…,m}。對(duì)于n個(gè)數(shù)據(jù)對(duì)象的集合,{s=s1,s2,…,sn}(m>n)的每個(gè)數(shù)據(jù)對(duì)象計(jì)算一個(gè)地址序列h1(s),h2(s),…,hk(s),然后將位向量對(duì)應(yīng)地址序列位置1。查詢某個(gè)數(shù)據(jù)對(duì)象是否是集合s的成員時(shí),檢查表示s的Bloom-filter對(duì)應(yīng)數(shù)據(jù)對(duì)象地址序列的位,如果均為1,則判定該數(shù)據(jù)對(duì)象屬于s,否則不屬于s。在Bloom-filter加密算法中可能對(duì)位向量中的同一個(gè)位多次置1,所以在查詢數(shù)據(jù)對(duì)象是否為集合元素時(shí)會(huì)存在“假肯定”(FalsePositive)現(xiàn)象。假肯定的概率叫做假肯定率(FP),計(jì)算公式為:

FP(1一(1—1/m)kn)k≈一(1-e-kn/m)k(1)

對(duì)公式(1)進(jìn)行求導(dǎo),可推出當(dāng)k=ln2*(m/n),F(xiàn)P取得最小值:

FPmin≈0.6185m/n(2)

定義存儲(chǔ)空問(wèn)壓縮率d=1-m/(n*b)(3)

其中b為數(shù)據(jù)元素大小。

二、基于Bloom-filter加密算法的網(wǎng)絡(luò)取證系統(tǒng)結(jié)構(gòu)設(shè)計(jì)

Bloom-filter數(shù)據(jù)結(jié)構(gòu)通過(guò)小概率的假肯定換來(lái)了空間效率,將其應(yīng)用于網(wǎng)絡(luò)取證系統(tǒng)中,將采集到的原始網(wǎng)絡(luò)數(shù)據(jù)切片為大小為b的數(shù)據(jù)元素進(jìn)行Bloom-filter映射存儲(chǔ)會(huì)大大降低數(shù)據(jù)證據(jù)的存儲(chǔ)量和通信量。事后取證時(shí),只需要找到網(wǎng)絡(luò)事件的特征片斷,進(jìn)行相應(yīng)的處理,結(jié)合數(shù)據(jù)存儲(chǔ)的附加信息如源目的IP地址、連接時(shí)間等就可以查洵到網(wǎng)絡(luò)事件是否發(fā)生過(guò),都和哪些主機(jī)相關(guān),危害到哪些主機(jī),追蹤相關(guān)事件發(fā)起者,采取措施。在查洵單個(gè)Bloom-filter時(shí),僅僅和參數(shù)M有關(guān),與所映射存儲(chǔ)的數(shù)據(jù)元素個(gè)數(shù)N沒(méi)有關(guān)系,這種特性使得Bloom-filter加密算法應(yīng)用于網(wǎng)絡(luò)取汪有很好的查詢效率。

Bloom-filter加密算法在網(wǎng)絡(luò)取證中的應(yīng)用

整個(gè)取證系統(tǒng)由兩大核心部件組成:數(shù)據(jù)處理器和取汪服務(wù)器。數(shù)據(jù)處理器被嵌入到網(wǎng)絡(luò)設(shè)備(如:路由器、網(wǎng)關(guān)、交換機(jī)等)之中,進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)的收集映射存儲(chǔ),取證服務(wù)器提供Bloom-filter處理后的數(shù)據(jù)歸檔管理,并提供用戶的取證事后分析查詢。安裝了數(shù)據(jù)處理器的網(wǎng)絡(luò)設(shè)備與取證服務(wù)器相連接,形成一個(gè)層次的網(wǎng)絡(luò)結(jié)構(gòu),取證服務(wù)器位于網(wǎng)絡(luò)的核心位置,對(duì)所歸屬域的數(shù)據(jù)處理器進(jìn)行協(xié)凋管理。

(1)數(shù)據(jù)采集

數(shù)據(jù)處理器和取證服務(wù)器的層次網(wǎng)絡(luò)結(jié)構(gòu),給數(shù)據(jù)采集帶來(lái)了便利,作為層次結(jié)構(gòu)葉結(jié)點(diǎn)數(shù)據(jù)處理器收集建立微觀視圖所必需的細(xì)粒度的網(wǎng)絡(luò)數(shù)據(jù),包括的數(shù)據(jù)種類主要有:連接協(xié)議、連接傳輸內(nèi)容、源目的IP地址、連接時(shí)間等,提供完整的事后分析查詢。而處于核心位置的取證服務(wù)器則收集用于建立宏觀視圖的粗粒度信息,包括流量信息、連接記錄、系統(tǒng)日志等信息,給取證分析查詢提供更多數(shù)據(jù)支持。

(2)數(shù)據(jù)映射壓縮處理

網(wǎng)絡(luò)數(shù)據(jù)包先由數(shù)據(jù)過(guò)濾模塊進(jìn)行過(guò)濾,提取有用的數(shù)據(jù)包,包過(guò)濾策略由配置管理模塊進(jìn)行管理控制,過(guò)濾后的數(shù)據(jù)包交由Bloom-filter引擎映射壓縮處理。Bloom-filter引擎主要負(fù)責(zé)Bloom-filter的生命期管理、Bloom-filter的參數(shù)進(jìn)行配置管理和對(duì)過(guò)濾后的網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行映射壓縮處理。Bloom-filter的參數(shù)配置由參數(shù)配置管理模塊進(jìn)行配置,用戶可以通過(guò)用戶管理模塊對(duì)其中的壓縮率,假肯定率和數(shù)據(jù)元素的大小進(jìn)行設(shè)置。映射壓縮后的數(shù)據(jù)由數(shù)據(jù)處理器上的內(nèi)存管理模塊進(jìn)行管理,先由本地?cái)?shù)據(jù)處理器存儲(chǔ)設(shè)備暫時(shí)存儲(chǔ),再定期發(fā)送到取證服務(wù)器上進(jìn)行歸檔。安全管理模塊會(huì)給每—個(gè)寫(xiě)到數(shù)據(jù)庫(kù)的數(shù)據(jù)進(jìn)行簽名和打上時(shí)間戳,確保存檔數(shù)據(jù)的完整性。同時(shí)安全管理模塊還負(fù)責(zé)對(duì)查詢請(qǐng)求進(jìn)行認(rèn)證,屏蔽非法欺詐性查詢,保證數(shù)據(jù)安全。

(3)取證分析查詢

用戶進(jìn)行取證查詢時(shí),由查詢分析模塊進(jìn)行分析,得出查詢的范圍、查詢方法、查詢的內(nèi)容選段等,具體的查詢方案由查詢計(jì)劃模塊完成。查詢計(jì)劃生成之后將會(huì)定位到某個(gè)取證服務(wù)器上,提交查詢請(qǐng)求,讀取Bloom-filter相關(guān)檔案,進(jìn)行比對(duì)查詢,以確定這個(gè)查詢選段(特征選段)是否在網(wǎng)絡(luò)上進(jìn)行了傳播,以及相關(guān)聯(lián)的主機(jī)地址,連接記錄等信息。查詢結(jié)果通過(guò)可視化顯示模塊返回給查詢用戶。在查詢選段的選取時(shí),大小應(yīng)在26大小附近才能保持查詢的正確性,因?yàn)椴殇瓡r(shí)把查詢選段切片成大小為b,再依字節(jié)向右進(jìn)行位移進(jìn)行比對(duì),選段過(guò)小會(huì)漏查,導(dǎo)致結(jié)果不正確;過(guò)大會(huì)增加查詢代價(jià)。

小知識(shí)之?dāng)?shù)據(jù)映射

利用特定轉(zhuǎn)換程序?qū)Σ煌獢?shù)據(jù)元格式進(jìn)行轉(zhuǎn)換,稱為元數(shù)據(jù)映射(Metadata Mapping/Crosswalking)。目前已有大量的轉(zhuǎn)換程序存在,供若干流行元數(shù)據(jù)格式之間的轉(zhuǎn)化。