陶曉玲, 龔昱鳴, 趙 峰
(1.桂林電子科技大學(xué) 廣西高校云計(jì)算與復(fù)雜系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;2.桂林電子科技大學(xué) 計(jì)算機(jī)與信息安全學(xué)院,廣西 桂林 541004;3.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
在現(xiàn)有的入侵檢測(cè)系統(tǒng)中,檢測(cè)設(shè)備種類繁多,且設(shè)備間工作相互獨(dú)立,對(duì)同一入侵行為會(huì)產(chǎn)生大量異構(gòu)、多源的重復(fù)報(bào)警。安全管理員難以從海量的報(bào)警數(shù)據(jù)中捕獲有價(jià)值的報(bào)警信息,無法快速地對(duì)入侵行為做出準(zhǔn)確的決策。報(bào)警數(shù)據(jù)聚合是減少重復(fù)報(bào)警的重要手段,能有效降低無用報(bào)警信息對(duì)系統(tǒng)檢測(cè)性能的影響?,F(xiàn)有的數(shù)據(jù)聚合方法主要根據(jù)數(shù)據(jù)的幾何距離相似度、語義相似度及密度分布等特性進(jìn)行聚合。
基于數(shù)據(jù)的幾何距離相似度,文獻(xiàn)[1]提出了一種對(duì)同一個(gè)攻擊步驟的不同報(bào)警進(jìn)行聚合的方法,該方法通過將相似度和抽象性相結(jié)合來重構(gòu)攻擊場(chǎng)景。文獻(xiàn)[2]提出了一種改進(jìn)的K均值聚合算法,該算法通過優(yōu)化初始聚類中心點(diǎn)減少迭代次數(shù),并采用MapReduce編程模型將改進(jìn)的算法并行化設(shè)計(jì),提高計(jì)算效率。文獻(xiàn)[3]提出了一種基于凝聚度與K均值的報(bào)警數(shù)據(jù)聚合方法,該方法雖然能提高聚合結(jié)果準(zhǔn)確性,但未對(duì)誤報(bào)警進(jìn)行處理。
文獻(xiàn)[4]提出了一種基于標(biāo)簽的報(bào)警數(shù)據(jù)聚合方法,該方法可以用標(biāo)簽對(duì)報(bào)警數(shù)據(jù)進(jìn)行標(biāo)記,按標(biāo)簽自動(dòng)分類并聚合相似報(bào)警,從而降低誤報(bào),但不適用于不同設(shè)備數(shù)據(jù)聚合。文獻(xiàn)[5]提出了一種Snort報(bào)警關(guān)聯(lián)器,通過源端口、目的端口和報(bào)警ID將相似報(bào)警捆綁到單個(gè)聚合報(bào)警,有效地減少了冗余報(bào)警的數(shù)量,但在報(bào)警數(shù)據(jù)聚合時(shí)未考慮攻擊類型對(duì)聚合率的影響。文獻(xiàn)[6]提出一種基于Graph的報(bào)警關(guān)聯(lián)方法,該方法設(shè)置屬性相似度的閾值,然后計(jì)算源地址、源端口、目的地址和目的端口的屬性相似度,并以此對(duì)報(bào)警數(shù)據(jù)進(jìn)行聚合,在計(jì)算屬性相似度時(shí)也未考慮報(bào)警數(shù)據(jù)攻擊類型對(duì)相似度的影響。文獻(xiàn)[7]提出一種基于相似半徑的迭代自組織數(shù)據(jù)分析方法,該方法利用最優(yōu)序列比較法計(jì)算報(bào)警數(shù)據(jù)的屬性權(quán)重和相似度。
基于數(shù)據(jù)的語義相似度,文獻(xiàn)[8]提出了一種自適應(yīng)調(diào)整集群節(jié)點(diǎn)數(shù)目的語義數(shù)據(jù)聚合算法,該算法能夠快速降低信道擁塞,即使在擁塞情況下也能提高數(shù)據(jù)精度。文獻(xiàn)[9]提出了一個(gè)基于語義的數(shù)據(jù)聚合框架,該方法能夠?qū)酆蠑?shù)據(jù)執(zhí)行推理機(jī)制,從而推斷出上下文內(nèi)容。
針對(duì)數(shù)據(jù)密度分布,文獻(xiàn)[10]提出了一種基于密度與近鄰傳播融合的數(shù)據(jù)流聚合算法,該算法能夠根據(jù)數(shù)據(jù)流的時(shí)態(tài)特征變化,實(shí)時(shí)地對(duì)數(shù)據(jù)流進(jìn)行聚合。文獻(xiàn)[11]提出了一種基于密度增量的K均值聚合算法,該算法能有效地處理高維混合屬性的數(shù)據(jù),但該算法對(duì)于數(shù)據(jù)的密集噪聲點(diǎn)處理存在局限性。文獻(xiàn)[12]提出了一種抗噪聲聚合算法,該算法基于空間密度和時(shí)間密度,可以減少重復(fù)報(bào)警并且降低誤報(bào)率。
上述文獻(xiàn)均未對(duì)原始報(bào)警數(shù)據(jù)作特殊處理,側(cè)重聚合方法的研究。由于原始報(bào)警數(shù)據(jù)的類別屬性存在差異,不同類別的報(bào)警數(shù)據(jù)具有較低的相似度,導(dǎo)致數(shù)據(jù)聚合受影響[12]。因此,本文充分考慮OSSEC報(bào)警數(shù)據(jù)類別屬性的差異性,先借助MapReduce編程模型對(duì)數(shù)據(jù)進(jìn)行合并,再以類別屬性對(duì)數(shù)據(jù)進(jìn)行劃分,最后通過計(jì)算屬性相似度對(duì)報(bào)警數(shù)據(jù)進(jìn)行聚合。
入侵檢測(cè)系統(tǒng)會(huì)根據(jù)不同的攻擊行為產(chǎn)生不同的報(bào)警數(shù)據(jù),以至于采集到的OSSEC報(bào)警數(shù)據(jù)的屬性存在差異。冗余屬性增加了數(shù)據(jù)處理的復(fù)雜度并導(dǎo)致資源過多的消耗,同時(shí)對(duì)數(shù)據(jù)聚合準(zhǔn)確性的影響也不容忽視。若對(duì)原始報(bào)警數(shù)據(jù)直接聚合,則報(bào)警數(shù)據(jù)對(duì)比的次數(shù)較大,同時(shí)也增加了類別屬性查找的難度。通常相同類別的報(bào)警具有高度的相似性,且發(fā)生在同一攻擊場(chǎng)景。攻擊場(chǎng)景是一組具有某些共同特征的報(bào)警,根據(jù)攻擊者采取的攻擊方法定義了不同的攻擊場(chǎng)景[13],同一攻擊場(chǎng)景相同類別的報(bào)警數(shù)據(jù)通常具備以下特點(diǎn)之一:
(1)具有相同的攻擊源,相同的攻擊目標(biāo)和相同的報(bào)警類型。如攻擊者在一段連續(xù)的時(shí)間內(nèi)對(duì)同一服務(wù)器進(jìn)行一系列攻擊。
(2)具有相同的攻擊源,相同的報(bào)警類型和相同的用戶訪問。如攻擊者不定時(shí)地對(duì)不同服務(wù)器發(fā)動(dòng)分布式攻擊。
(3)具有相同的報(bào)警類型,相同的攻擊目標(biāo)。如不同的攻擊者協(xié)同對(duì)同一服務(wù)器發(fā)動(dòng)攻擊。
(4)具有相同的報(bào)警類型,相同的嚴(yán)重等級(jí)。如不同的攻擊者同時(shí)對(duì)多個(gè)目標(biāo)的同一漏洞發(fā)動(dòng)攻擊。
由此可以看出,相同類別的報(bào)警數(shù)據(jù)具有較多共同的特征?;诖?,本文以O(shè)SSEC報(bào)警數(shù)據(jù)的類別屬性作為標(biāo)準(zhǔn)對(duì)經(jīng)過預(yù)處理的報(bào)警數(shù)據(jù)進(jìn)行劃分,然后對(duì)劃分好的報(bào)警數(shù)據(jù)按類別存儲(chǔ)。
本文方法中用到的相關(guān)參數(shù)符號(hào)見表1。
表1 參數(shù)符號(hào)說明
基于類別屬性的OSSEC報(bào)警數(shù)據(jù)劃分方法的過程分為4個(gè)階段。
(1)首先,定義不同類別報(bào)警數(shù)據(jù)的集合和劃分方法中用到的各個(gè)參數(shù)。
(2)然后,把精簡(jiǎn)過濾后的OSSEC報(bào)警數(shù)據(jù)加載到指定的集合,若加載到最后一行則直接跳出循環(huán),否則將一一加載到集合。
(3)其次,對(duì)每條報(bào)警數(shù)據(jù)的類別屬性逐一比較,將屬于同一攻擊場(chǎng)景中相同類別的報(bào)警數(shù)據(jù)放在同一個(gè)集合,并循環(huán)迭代逐層判別,生成不同類別的子集合。以類別屬性的首字母升序?qū)⒏鱾€(gè)子集合的報(bào)警數(shù)據(jù)依次加載到新的集合中,從而實(shí)現(xiàn)類別屬性劃分。
(4)最后,把經(jīng)過類別劃分的數(shù)據(jù)寫入文件中,并以指定格式進(jìn)行保存輸出。
基于類別屬性的OSSEC報(bào)警數(shù)據(jù)劃分方法:
Input: alert set in uniform format AlertProcessingByFilterC={n∈N|c1,c2,…,cn};
Output: AlertByCCAD={n∈N|d1,d2,…,dn}
(1) Begin
(2) New Arraylist dataList;
(3) for (j=0; j (4) ifC=? (5) dataList.add(C.get(j)) (6) else (7) break (8) New Arraylist (9) For(int i=0;i<9;i++) (10) { Lists[i].add(getClass) } (11) sortString(Alldata (12) Compare(data1,data2) (13) return sortList (14) } (15) convertData(sortList){ (16) for(String s: sortList){ (17) ossecs.add(s) (18) } (19) return ossecs (20) } (21) else (22) Q.add(ci),Q.add(ci+1) (23) return R(process_alert) (24) End 2.1.1 報(bào)警數(shù)據(jù)標(biāo)準(zhǔn)化 不同的IDS存在差異性和工作狀態(tài)的相互獨(dú)立,使得產(chǎn)生的報(bào)警數(shù)據(jù)格式不統(tǒng)一。本文基于消息交換格式IDMEF(intrusion detection message exchange format)的標(biāo)準(zhǔn)來對(duì)不同的入侵檢測(cè)系統(tǒng)報(bào)警數(shù)據(jù)格式進(jìn)行標(biāo)準(zhǔn)化。 目前IDMEF格式的報(bào)警數(shù)據(jù)對(duì)大多數(shù)的安全檢測(cè)系統(tǒng)都是兼容的。屬性的過多冗余使整體的處理復(fù)雜度增加,同時(shí)對(duì)準(zhǔn)確性也會(huì)降低。屬性的精簡(jiǎn)是非常有必要的。經(jīng)過屬性篩選之后的OSSEC報(bào)警數(shù)據(jù)包括時(shí)間戳、主機(jī)用戶名、源IP、描述信息、規(guī)則編號(hào)、類別、嚴(yán)重程度等級(jí)等7種屬性構(gòu)成的七元組,形式化Alert={Timestamp, Rule_id, Description, User, Src_IP, Level, Classification }。 其每個(gè)屬性的含義見表2。 2.1.2 報(bào)警數(shù)據(jù)合并 原始OSSEC報(bào)警數(shù)據(jù)是按天分開存儲(chǔ),同時(shí)每條報(bào)警數(shù)據(jù)占用了6行文件內(nèi)容,在一定程度上增加了后續(xù)聚合處理的難度。針對(duì)文件數(shù)量比較多的問題,本文借助 MapReduce 編程模型對(duì)多個(gè)小文件進(jìn)行合并,同時(shí)對(duì)數(shù)據(jù)內(nèi)容合并和格式轉(zhuǎn)換。 首先,對(duì)經(jīng)過合并和轉(zhuǎn)換后的報(bào)警數(shù)據(jù)進(jìn)行封裝定義。然后,順序按行讀取整個(gè)文本的內(nèi)容,若讀取到尾行則跳出循環(huán),否則將讀取到的每一條數(shù)據(jù)分別加載到集合。其次,在集合上設(shè)置一個(gè)大小為60 s的時(shí)間窗口進(jìn)行移動(dòng),對(duì)于時(shí)間差小于設(shè)定窗口的報(bào)警數(shù)據(jù)進(jìn)行檢測(cè)。最后,對(duì)除時(shí)間屬性以外的不同屬性進(jìn)行逐一比較,并且判斷是否滿足過濾條件,對(duì)字段User、Src_IP、Level和Rule_id采取逐個(gè)校驗(yàn)比對(duì)的方式,只要這4個(gè)字段存在差異,就把新傳入的報(bào)警數(shù)據(jù)轉(zhuǎn)入下一節(jié)點(diǎn)的驗(yàn)證過濾操作??奢敵霾⒋鎯?chǔ)的數(shù)據(jù)必須滿足每個(gè)屬性都符合過濾條件,否則,將會(huì)視作不過濾預(yù)處理操作。 表2 報(bào)警數(shù)據(jù)屬性含義 2.2.1 屬性相似度計(jì)算 通過對(duì)報(bào)警數(shù)據(jù)各個(gè)屬性之間的幾何距離進(jìn)行數(shù)值運(yùn)算來實(shí)現(xiàn)報(bào)警數(shù)據(jù)的聚會(huì),同時(shí)這種運(yùn)算也稱為屬性相似度計(jì)算。為了找到報(bào)警數(shù)據(jù)之間的關(guān)聯(lián)性來生成高級(jí)報(bào)警,最終減少冗余報(bào)警的目的,本文需要對(duì)初級(jí)數(shù)據(jù)進(jìn)行聚合。 下面給出各個(gè)OSSEC報(bào)警數(shù)據(jù)屬性特征的相似度計(jì)算函數(shù)。 (1)報(bào)警標(biāo)識(shí)相似度的計(jì)算 如果屬性Rule_id,Description,User,Level相同,則設(shè)定相似度為1,如果不同,則設(shè)定相似度為0。 (2)IP地址相似度的計(jì)算 IP地址之間的相似度是通過對(duì)兩條不同報(bào)警數(shù)據(jù)IP相同二進(jìn)制位數(shù)r除以單個(gè)IP總長(zhǎng)度32得到[14],該計(jì)算方法源自無類別域間路由法[15],其計(jì)算公式設(shè)置如下 (1) 其中,Resemip(OSSECai,OSSECaj) 是報(bào)警數(shù)據(jù)的IP相似度值,OSSECai和OSSECaj是報(bào)警數(shù)據(jù)。 (3)報(bào)警時(shí)間戳相似度的計(jì)算 報(bào)警數(shù)據(jù)的時(shí)間戳對(duì)相似度的全局計(jì)算有著重要的影響,同時(shí)是聚合中的一個(gè)很重要的因素。首先將最小和最大時(shí)間閾值分別定義為tmin和tmax, 將兩條不同的報(bào)警數(shù)據(jù)之間的時(shí)間差Tinternal和時(shí)間閾值進(jìn)行對(duì)比,當(dāng)時(shí)間差小于最小時(shí)間閾值tmin時(shí),則相似度為0,大于最大時(shí)間閾值tmax時(shí),則相似度為1,當(dāng)兩條不同的報(bào)警數(shù)據(jù)之間的時(shí)間差Tinternal在最小時(shí)間閾值tmin和最大時(shí)間閾值tmax之間,則通過式(2)計(jì)算相應(yīng)的時(shí)間相似度。關(guān)于如何來選取tmin和tmax, 不同參考文獻(xiàn)給出不同的數(shù)值。本文根據(jù)實(shí)驗(yàn)的實(shí)際情況以及Long等[7]的結(jié)論,最大時(shí)間閾值和最小時(shí)間閾值的差為tmax-tmin=300 s, 將閾值計(jì)算公式設(shè)置如下 (2) 其中,Resemtimestamp(OSSECai,OSSECaj) 是OSSEC報(bào)警數(shù)據(jù)的時(shí)間相似度值,OSSECai和OSSECaj是兩條不同的報(bào)警數(shù)據(jù)。 2.2.2 屬性權(quán)重確定 對(duì)于屬性權(quán)重的確定優(yōu)先考慮客觀的計(jì)算方法,不同屬性的權(quán)重值對(duì)最終的相似度影響特別大,因此盡可能做到客觀去評(píng)分是非常有必要的。當(dāng)數(shù)據(jù)的獲取比較難且存在多重共線問題才會(huì)考慮PCA算法,同時(shí), PCA算法中每個(gè)主成分的作用難以從因變量和自變量之間的聯(lián)系中體現(xiàn)出來,因此熵值法更加適用于確定各個(gè)指標(biāo)的權(quán)重[14]。 報(bào)警數(shù)據(jù)之間的全局相似度對(duì)數(shù)據(jù)之間能否聚合起到?jīng)Q定性的作用,在全局相似度的計(jì)算中,為了衡量每個(gè)不同屬性的重要性,需為每個(gè)屬性設(shè)定相應(yīng)的權(quán)重W。通過計(jì)算得知,權(quán)重矩陣為[0.0120 0.0362 0.0125 0.1622 0.3692 0.4204] (3) 其中,數(shù)據(jù)的總數(shù)通過Resemsum(OSSECai,OSSECaj) 來表示,i和j分別表示計(jì)算權(quán)重時(shí)不同屬性的行號(hào)和列號(hào),各個(gè)屬性的權(quán)重通過Wj來表示。 面對(duì)收集到的數(shù)據(jù)中存在大量的冗余,針對(duì)如何去冗余和進(jìn)一步精簡(jiǎn)報(bào)警數(shù)據(jù),較高的期望值的設(shè)定能比較有效地解決這些問題。OSSEC聚合計(jì)算用到的相關(guān)參數(shù)符號(hào)見表3。 表3 參數(shù)符號(hào)說明 OSSEC報(bào)警數(shù)據(jù)聚合方法分為4個(gè)階段。 (1)首先,把經(jīng)過相似度計(jì)算的OSSEC報(bào)警數(shù)據(jù)進(jìn)行封裝。 (2)然后,對(duì)整個(gè)數(shù)據(jù)文件進(jìn)行逐行內(nèi)容讀取,若讀取到尾行則跳出循環(huán),否則將讀取到的每一條數(shù)據(jù)分別加載到集合。 (3)其次,用期望閾值集合跟每條報(bào)警數(shù)據(jù)的總相識(shí)度比較,并記錄下滿足條件的報(bào)警數(shù)據(jù)的條數(shù)。 (4)最后,進(jìn)行聚合函數(shù)計(jì)算。 OSSEC報(bào)警數(shù)據(jù)聚合方法: Input: OSSEC_AlertSWSW={n∈N|Sw1,Sw2,…,Swn}; Output: OSSEC_AlertSADAAE={n∈N|e1,e2,…,en}; (1) Begin (2) for (i=0;i (3) ifSW=? (4) break (5) else (6) for(i=0;i (7) for(H=0.1;H<0.9;H=H+0.1) (8) if OSSEC_SumSim((SS(i)) >H)a++; (9) elseb++; (10) Com_Aggregation(); (11) End 為了驗(yàn)證本文所提聚合方法可行性,在OSSIM開源平臺(tái)下搭建了OSSEC報(bào)警分布式入侵檢測(cè)系統(tǒng)[14]。報(bào)警數(shù)據(jù)的采集環(huán)境如圖1所示。 圖1 數(shù)據(jù)采集平臺(tái)拓?fù)鋱D 將采集到的數(shù)據(jù)通過輸出插件Barnyard2,輸出到關(guān)系型數(shù)據(jù)庫MySQL中。在OSSIM環(huán)境下部署一個(gè)服務(wù)端ossec-server作為主節(jié)點(diǎn),4個(gè)數(shù)據(jù)采集端ossec-agent1到ossec-agent4作為從節(jié)點(diǎn)??偣膊杉疧SSEC報(bào)警數(shù)據(jù) 150 283 條。本文以每條OSSEC報(bào)警數(shù)據(jù)的類別屬性作為分析標(biāo)準(zhǔn)來細(xì)化,分類結(jié)果進(jìn)一步細(xì)分見表4。 表4 原始OSSEC類 本文采用了數(shù)據(jù)內(nèi)容合并、格式轉(zhuǎn)換和屬性匹配固定時(shí)間閾值的方式來對(duì)報(bào)警數(shù)據(jù)進(jìn)行預(yù)處理,把經(jīng)過預(yù)處理后的多個(gè)數(shù)據(jù)文件進(jìn)行合并,對(duì)合并后的文件做屬性的起始字符識(shí)別轉(zhuǎn)換,將log文本文件轉(zhuǎn)換成txt文本文件輸出,并每一行代表一條OSSEC報(bào)警數(shù)據(jù)。 通過實(shí)驗(yàn)分析,定義數(shù)據(jù)的精簡(jiǎn)率來衡量預(yù)處理后的效果。src_n為原始報(bào)警的個(gè)數(shù),dst_n為精簡(jiǎn)后報(bào)警的個(gè)數(shù),報(bào)警數(shù)據(jù)的精簡(jiǎn)率計(jì)算公式如下 (4) 其中, ReduceRate反映了聚合方法對(duì)重復(fù)和冗余報(bào)警數(shù)據(jù)的消除效果,當(dāng)原始報(bào)警的個(gè)數(shù)src_n一定的情況下,要想提高ReduceRate, 就必須降低dst_n。 圖2給出了各類別的報(bào)警數(shù)量精簡(jiǎn)前后占比情況。 圖2 OSSEC報(bào)警數(shù)據(jù)精簡(jiǎn)前后對(duì)比 通過實(shí)驗(yàn)得到,src_n為150 283條,dst_n為31 268條,總的報(bào)警精簡(jiǎn)率為79.19%。 通過與文獻(xiàn)[16]的方法進(jìn)行對(duì)比來驗(yàn)證本文提出的方法的有效性,通過取不同的期望值H對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練來對(duì)比聚合效果,結(jié)果如圖3所示??梢钥闯?,在0.1≤H≤0.2時(shí),聚合率呈現(xiàn)上升趨勢(shì)并且兩者的差距逐漸減少,在0.2≤H≤0.6時(shí),兩者聚合率的浮動(dòng)都不大且均低于50%,在0.6≤H≤0.8時(shí),兩者的聚合率都發(fā)生明顯的增長(zhǎng),在0.8≤H≤0.9時(shí)兩者都趨于穩(wěn)定。由此可見,本文提出的以類別屬性作為劃分標(biāo)準(zhǔn)然后通過計(jì)算報(bào)警數(shù)據(jù)屬性相似度和權(quán)重來進(jìn)行聚合的方法,相比常規(guī)手段的順序聚合而言,更能使得聚合率提高并維持平穩(wěn)。 圖3 不同期望值下OSSEC報(bào)警數(shù)據(jù)聚合率對(duì)比 同時(shí),本文還通過系統(tǒng)誤報(bào)率和檢測(cè)率進(jìn)一步驗(yàn)證所提出方法的有效性,并且以這兩個(gè)指標(biāo)作為系統(tǒng)的檢測(cè)性能?;诖耍瑢?duì)收集到的報(bào)警數(shù)據(jù)根據(jù)以下規(guī)則進(jìn)行標(biāo)定。 當(dāng)報(bào)警數(shù)據(jù)滿足以下條件時(shí): (1)報(bào)警數(shù)據(jù)的源IP與模擬發(fā)動(dòng)攻擊的IP具有相同的地址; (2)報(bào)警數(shù)據(jù)的目標(biāo)IP與模擬的被攻擊IP具有相同的地址; (3)報(bào)警數(shù)據(jù)的時(shí)間屬性和模擬攻防環(huán)境產(chǎn)生的時(shí)間在預(yù)先設(shè)計(jì)的時(shí)間閾值內(nèi)。 則認(rèn)為是真報(bào)警,否則為誤報(bào)警。 經(jīng)標(biāo)定后,真報(bào)警和誤報(bào)警分別是23 236條和8032條。本文中隨機(jī)抽取70%的數(shù)據(jù)作為訓(xùn)練集,剩下的30%數(shù)據(jù)作為測(cè)試。通過給出了一個(gè)混合矩陣A定義的指標(biāo)來反映報(bào)警處理性能,如表5所示,表5中“+”代表真報(bào)警,“-”代表誤報(bào)警。 表5 混合矩陣A 基于此,定義如下的一組反映報(bào)警處理性能的指標(biāo)。 檢測(cè)率(TP)計(jì)算公式如下所示 TP=A11+A12/(A11+A12+A21+A22) (5) 誤報(bào)率(FP)計(jì)算公式如下所示 FP=A21/(A21+A22) (6) 通過對(duì)比本文提出的基于主機(jī)的OSSEC報(bào)警數(shù)據(jù)聚合方法(方法1)和文獻(xiàn)[16]提出的聚合方法(方法2),兩種方法的檢測(cè)率和誤報(bào)率見表6。 表6 系統(tǒng)檢測(cè)率與誤報(bào)率對(duì)比/% 由表6可知,方法1的檢測(cè)率為88.92%,高出方法2的檢測(cè)率10%左右,可以看出來本文提出來的方法對(duì)真報(bào)警的檢測(cè)率有所提高,同時(shí)降低了誤報(bào)率。 同時(shí),通過定義系統(tǒng)檢測(cè)的平均運(yùn)行時(shí)間(Taverage)來對(duì)比兩種方法的運(yùn)行效率,如下所示 Taverage=Ttotal/n (7) 其中,運(yùn)行總的消耗時(shí)間用Ttotal表示(ms),樣本總數(shù)用n表示,兩種不同方法的單位樣本平均運(yùn)行時(shí)間見表7。 表7 平均運(yùn)行時(shí)間對(duì)比 從表7可以得出結(jié)論,本文提出的聚合方法在時(shí)間效率上優(yōu)于文獻(xiàn)[16]提出的聚合方法,提高了系統(tǒng)檢測(cè)運(yùn)行效率。 針對(duì)基于主機(jī)的OSSEC原始報(bào)警數(shù)據(jù)類別屬性不統(tǒng)一且冗余量大,最終導(dǎo)致數(shù)據(jù)聚合率低的問題。本文提出了一種基于類別屬性劃分的OSSEC報(bào)警數(shù)據(jù)聚合方法。該方法通過類別屬性劃分來減少相鄰報(bào)警數(shù)據(jù)對(duì)比的次數(shù),減少數(shù)據(jù)聚合的運(yùn)行時(shí)間,并借助MapReduce編程模型對(duì)大量分散的數(shù)據(jù)文件進(jìn)行合并,最后通過屬性相似度和權(quán)重來確定報(bào)警數(shù)據(jù)之間的幾何距離進(jìn)行聚合。實(shí)驗(yàn)結(jié)果表明,該方法有效地提高了OSSEC報(bào)警數(shù)據(jù)的聚合率,而且在降低系統(tǒng)誤報(bào)率的同時(shí)提高了系統(tǒng)檢測(cè)率。本文采用固定時(shí)間閾值的方式計(jì)算報(bào)警數(shù)據(jù)的屬性相似度,在數(shù)據(jù)聚合時(shí)存在一定的時(shí)間局限性,后續(xù)可考慮采用動(dòng)態(tài)時(shí)間閾值的方式計(jì)算屬性相似度,能更加靈活地聚合不同時(shí)段的報(bào)警數(shù)據(jù)。2 OSSEC報(bào)警數(shù)據(jù)聚合方法
2.1 OSSEC報(bào)警數(shù)據(jù)預(yù)處理
2.2 屬性相似度和權(quán)重確定
2.3 數(shù)據(jù)聚合
3 相關(guān)工作實(shí)驗(yàn)及結(jié)果分析
3.1 實(shí)驗(yàn)環(huán)境
3.2 預(yù)處理結(jié)果及分析
3.3 聚合結(jié)果及分析
4 結(jié)束語