孫 偉,張 羽
1.北京交通大學(xué) 計(jì)算機(jī)與信息技術(shù)學(xué)院,北京100044
2.中國(guó)科學(xué)院大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,北京100049
3.中國(guó)科學(xué)院 信息工程研究所,北京100093
在情報(bào)界,越來(lái)越多的共識(shí)認(rèn)為,內(nèi)網(wǎng)惡意人員可能是大多數(shù)組織中信息保障最有力的威脅[1-4]。內(nèi)網(wǎng)異常檢測(cè)問題的一種傳統(tǒng)方法是監(jiān)督學(xué)習(xí),其從訓(xùn)練數(shù)據(jù)構(gòu)建數(shù)據(jù)分類模型。不幸的是,監(jiān)督學(xué)習(xí)方法的訓(xùn)練過(guò)程往往耗時(shí)且昂貴,并且通常需要大量的平衡訓(xùn)練數(shù)據(jù)才能有效。在本文的實(shí)驗(yàn)中,觀察到該問題的實(shí)際數(shù)據(jù)集中不到3%的數(shù)據(jù)與內(nèi)網(wǎng)異常(少數(shù)類)相關(guān)聯(lián);超過(guò)97%的數(shù)據(jù)與非威脅(大多數(shù)類)相關(guān)聯(lián)。因此,根據(jù)這種不平衡數(shù)據(jù)訓(xùn)練的模型可能在測(cè)試數(shù)據(jù)集上表現(xiàn)不佳。
另一種方法是無(wú)監(jiān)督學(xué)習(xí),它可以有效地應(yīng)用于未標(biāo)記的數(shù)據(jù),即沒有明確地將點(diǎn)識(shí)別為異?;蚍钱惓5臄?shù)據(jù)?;趫D形的異常檢測(cè)(graph-based anomaly detection,GBAD)是無(wú)監(jiān)督學(xué)習(xí)的一種重要形式[5-7],但傳統(tǒng)上僅限于靜態(tài)有限長(zhǎng)度數(shù)據(jù)集。這限制了其應(yīng)用于與內(nèi)網(wǎng)異常相關(guān)的流,這些威脅往往具有無(wú)限長(zhǎng)度和隨時(shí)間演變的威脅模式。因此,將GBAD應(yīng)用于內(nèi)網(wǎng)異常問題需要一個(gè)足夠自適應(yīng)和高效的模型,以便可以從大量不斷發(fā)展的數(shù)據(jù)構(gòu)建有效模型。
本文將內(nèi)網(wǎng)異常檢測(cè)作為流挖掘問題進(jìn)行影射,并提出了一種有效的解決方案,用于應(yīng)用無(wú)監(jiān)督學(xué)習(xí)來(lái)檢測(cè)流中的異常。本文方法將多個(gè)GBAD模型組合在一個(gè)分類器集合中。該集合旨在提高相對(duì)于任何單個(gè)模型的分類準(zhǔn)確性。隨著惡意代理和非惡意代理的行為隨時(shí)間變化,這種進(jìn)化能力提高了分類器概念普適性。在實(shí)驗(yàn)中,使用基于Unix 的多用戶系統(tǒng)的大型系統(tǒng)調(diào)用數(shù)據(jù)記錄作為測(cè)試數(shù)據(jù)。
本文工作做出了以下貢獻(xiàn):首先,展示了如何有效地應(yīng)用流挖掘來(lái)檢測(cè)內(nèi)網(wǎng)異常;其次,提出了一種無(wú)監(jiān)督學(xué)習(xí)算法,可以應(yīng)對(duì)基于GBAD 的變化;然后,通過(guò)有效地將兩者結(jié)合起來(lái),利用流挖掘和基于圖的挖掘的力量;最后,將本文方法與傳統(tǒng)的無(wú)監(jiān)督學(xué)習(xí)方法進(jìn)行比較,并展示其卓越的有效性。
內(nèi)網(wǎng)異常檢測(cè)工作應(yīng)用了入侵檢測(cè)和外部威脅檢測(cè)的思想[8-11]。在本文中,內(nèi)網(wǎng)異常主要指當(dāng)前或曾經(jīng)雇員、承包商或商業(yè)伙伴,他們現(xiàn)在或曾經(jīng)被授予一定權(quán)限,并且以給組織的信息或信息系統(tǒng)的保密性、完整性和可用性帶來(lái)負(fù)面影響的方式,故意過(guò)度地訪問組織的網(wǎng)絡(luò)、系統(tǒng)或數(shù)據(jù)。監(jiān)督學(xué)習(xí)方法收集包含正常和異常行為記錄的系統(tǒng)調(diào)用跟蹤日志[12-15],從收集的數(shù)據(jù)中提取n-gram 特征,并使用提取的特征來(lái)訓(xùn)練分類器。文本分類方法將每個(gè)系統(tǒng)調(diào)用視為詞袋模型中的一個(gè)單詞[16]。系統(tǒng)調(diào)用的各種屬性,包括參數(shù)、對(duì)象路徑、返回值和錯(cuò)誤狀態(tài),已被用作各種監(jiān)督學(xué)習(xí)方法中的特征[17-18]。這些監(jiān)督方法需要大量標(biāo)記的訓(xùn)練數(shù)據(jù),并且僅適用于靜態(tài)的、非演進(jìn)的流。
過(guò)去的工作也探討了內(nèi)網(wǎng)異常檢測(cè)的無(wú)監(jiān)督學(xué)習(xí),但僅針對(duì)所知的靜態(tài)流[19-21]。靜態(tài)GBAD方法[5-7,22]將威脅和非威脅數(shù)據(jù)表示為圖形,并應(yīng)用無(wú)監(jiān)督學(xué)習(xí)來(lái)檢測(cè)異常。GBAD 的最小描述長(zhǎng)度(minimum description length,MDL)方法已應(yīng)用于電子郵件、手機(jī)流量、業(yè)務(wù)流程和網(wǎng)絡(luò)犯罪數(shù)據(jù)集[23-24]。本文的工作建立在GBAD 和MDL 之上,以支持動(dòng)態(tài)、不斷發(fā)展的流數(shù)據(jù)。
流挖掘[25]是一種相對(duì)較新的數(shù)據(jù)挖掘研究類型,適用于連續(xù)數(shù)據(jù)流。在這樣的設(shè)置中,監(jiān)督和無(wú)監(jiān)督學(xué)習(xí)必須是自適應(yīng)的,以便處理其特征隨時(shí)間變化的數(shù)據(jù)。有兩種主要的適應(yīng)方法:增量學(xué)習(xí)[26]和基于集成的學(xué)習(xí)[25,27-28]。過(guò)去的工作表明,基于集成的方法在兩者中更有效,激勵(lì)了本文的方法。
過(guò)去使用集合來(lái)增強(qiáng)正/負(fù)分類的有效性[28-29]。通過(guò)維持共同對(duì)最終分類進(jìn)行投票的K模型的集合,可以減少測(cè)試集的假陰性,即漏報(bào)(false negative,F(xiàn)N)和假陽(yáng)性,即誤報(bào)(false positive,F(xiàn)P)。隨著更好的模型被創(chuàng)建,較差的模型被丟棄以維持大小恰好為K的整體。這有助于整體隨著流的變化特征而發(fā)展并且使分類任務(wù)易于處理。表1 總結(jié)了上述相關(guān)工作的比較。文獻(xiàn)[30]提供了更完整的調(diào)查。
Table 1 Comparison of related work表1 相關(guān)工作比較
與內(nèi)網(wǎng)異常相關(guān)的數(shù)據(jù)通常在組織和系統(tǒng)操作的多年中累積,因此最佳地表征為無(wú)界數(shù)據(jù)流。這樣的流可以被劃分為一系列離散的塊。例如,每個(gè)塊可能包含一周的數(shù)據(jù)。
圖1 說(shuō)明了當(dāng)這樣的流觀察概念漂移時(shí)分類器的決策邊界如何變化。圖中的每個(gè)圓圈表示數(shù)據(jù)點(diǎn),未填充的圓圈表示真陰性(true negative,TN)(即非異常),實(shí)心圓圈表示真陽(yáng)性(true positive,TP)(即異常)。每個(gè)塊中的實(shí)線表示該塊的決策邊界,而虛線表示前一個(gè)塊的決策邊界。
Fig.1 Concept drift in stream data圖1 流數(shù)據(jù)中的概念漂移
陰影圓圈是那些體現(xiàn)了相對(duì)于前一個(gè)塊漂移的新概念的圓圈。為了對(duì)這些進(jìn)行適當(dāng)分類,必須調(diào)整決策邊界以考慮到新概念。存在兩種可能的誤解(錯(cuò)誤檢測(cè)):(1)塊2 的決策邊界相對(duì)于塊1 向上移動(dòng)。結(jié)果,一些異常數(shù)據(jù)被錯(cuò)誤地分類為非異常,導(dǎo)致FN(漏報(bào))率上升。(2)塊3 的決策邊界相對(duì)于塊2向下移動(dòng)。結(jié)果,一些非異常數(shù)據(jù)被錯(cuò)誤地分類為異常,導(dǎo)致FP(誤報(bào))率上升。
通常舊的和新的決策邊界可以相交,導(dǎo)致上述兩種情況同時(shí)發(fā)生在同一塊上。因此,F(xiàn)P和FN計(jì)數(shù)都可能增加。
這些觀察結(jié)果表明,從單個(gè)塊或任何有限的塊前綴構(gòu)建的模型不足以對(duì)流中的所有數(shù)據(jù)進(jìn)行適當(dāng)?shù)姆诸?。這促使采用本文的集成方法,該方法使用不斷發(fā)展的K模型對(duì)數(shù)據(jù)進(jìn)行分類。
集成分類程序如圖2所示。首先使用靜態(tài)的、受監(jiān)督的三種GBAD 方法來(lái)訓(xùn)練來(lái)自單個(gè)塊的模型。GBAD識(shí)別塊中的所有規(guī)范子結(jié)構(gòu),每個(gè)子結(jié)構(gòu)表示為子圖,選擇其中最優(yōu)的N個(gè)子結(jié)構(gòu)作為最終的規(guī)范子結(jié)構(gòu)。為了識(shí)別異常,將測(cè)試子結(jié)構(gòu)與整體中的每個(gè)模型進(jìn)行比較。每個(gè)模型基于其與模型的規(guī)范子結(jié)構(gòu)的差異對(duì)測(cè)試子結(jié)構(gòu)進(jìn)行分類。一旦所有模型投票,加權(quán)多數(shù)表決將做出最終的分類決定。通過(guò)集成演化來(lái)保持分類器中模型數(shù)量恰好為K。當(dāng)每個(gè)新塊到達(dá)時(shí),從新塊創(chuàng)建K+1模型,并丟棄這些K+1 模型的一個(gè)受害者模型??梢酝ㄟ^(guò)多種方式選擇丟棄受害者。一種方法是計(jì)算在K+1塊上的每個(gè)模型的預(yù)測(cè)誤差并丟棄最差的預(yù)測(cè)器。這要求最近的塊可以立即獲得真實(shí)值,以便可以準(zhǔn)確地測(cè)量預(yù)測(cè)誤差。如果沒有真實(shí)值,就會(huì)依賴多數(shù)投票;與多數(shù)決策最不一致的模型被丟棄。從而保證集成中的K模型最符合當(dāng)前概念。
Fig.2 Ensemble classification圖2 集成分類
算法1 總結(jié)了集成分類和更新算法。第1、第2行從最近的塊構(gòu)建一個(gè)新模型并暫時(shí)將其添加到集成中。接下來(lái),第3~第9行應(yīng)用集成中的每個(gè)模型來(lái)測(cè)試圖t以尋找可能的異常。為每個(gè)模型使用3 種GBAD(P、MDL 和MPS(maximum partial substructure)),每種都在第4章中討論。最后,第10~第18行通過(guò)丟棄加權(quán)多數(shù)意見中最不一致的模型來(lái)更新集成。如果多個(gè)模型具有最多的分歧,則丟棄任意性能最差的模型。
算法1集成分類和更新算法
加權(quán)多數(shù)意見使用公式:
在第11行計(jì)算,其中Mi∈E是從塊i訓(xùn)練的集成E中的模型,是由模型Mi報(bào)告的一組異常,λ∈[0,1]是一個(gè)恒定的衰落因子[31],并且? 是最近的一塊的序號(hào)。模型Mi的投票接收權(quán)重為λ?-i,最近構(gòu)建的模型的權(quán)重則為λ0=1,從前一個(gè)塊接收權(quán)重λ1訓(xùn)練的模型(如果它仍然存在于整體中)。當(dāng)λ<1時(shí),這具有加權(quán)當(dāng)前模型的投票高于可能過(guò)時(shí)的模型的投票的效果。然后將加權(quán)平均值WA(E,a)四舍五入到第11行中最接近的整數(shù)(0或1)以獲得加權(quán)多數(shù)表決。
例如,在圖2中,模型M1、M3和M7分別對(duì)輸入樣本x投正和負(fù)。如果?=7 是最近的塊,則這些投票分別加權(quán)λ6、λ4和1。因此加權(quán)平均值為WA(E,a)=(λ6+λ4)/(λ6+λ4+1),如果λ≤0.86,則在這種情況下,負(fù)多數(shù)意見獲勝;但是,如果λ≥0.87,則新模型的投票結(jié)果超過(guò)了兩個(gè)較老的反對(duì)意見,結(jié)果是正類。因此可以調(diào)整參數(shù)λ以平衡大量舊信息與較少量新信息的重要性。
本文方法使用以前的GBAD迭代的結(jié)果來(lái)識(shí)別后續(xù)數(shù)據(jù)塊中的異常。也就是說(shuō),在先前的GBAD迭代中發(fā)現(xiàn)的規(guī)范子結(jié)構(gòu)可能在每個(gè)模型中持續(xù)存在。這允許每個(gè)模型引入所有數(shù)據(jù),而不僅僅是當(dāng)前塊的數(shù)據(jù)。當(dāng)流觀察到概念漂移時(shí),這可以是顯著的優(yōu)點(diǎn),因?yàn)槟P图峡梢宰R(shí)別整個(gè)數(shù)據(jù)流或大量塊而不是當(dāng)前塊中的規(guī)范模式。因此,仍然可以檢測(cè)到罕見的內(nèi)網(wǎng)惡意行為。
重要的是要注意,集成的大小隨著時(shí)間的推移保持固定。表現(xiàn)不佳的過(guò)時(shí)模型將被更適合當(dāng)前概念的更好的新模型所取代。這使得每輪分類都易于處理,即使流中的數(shù)據(jù)總量可能無(wú)限制。
算法1 使用3 種GBAD 來(lái)推斷使用每種模型的潛在異常。GBAD是一種基于圖的方法,通過(guò)搜索3個(gè)因素來(lái)查找數(shù)據(jù)中的異常:頂點(diǎn)和邊的修改、插入和刪除。每個(gè)獨(dú)特因子都運(yùn)行自己的算法,找到規(guī)范的子結(jié)構(gòu),并嘗試找到與發(fā)現(xiàn)的規(guī)范子結(jié)構(gòu)相似但不完全相同的子結(jié)構(gòu)。規(guī)范子結(jié)構(gòu)是頂點(diǎn)和邊的重復(fù)子圖,當(dāng)合并為單個(gè)頂點(diǎn)時(shí),大多數(shù)壓縮整個(gè)圖。圖3 中的矩形標(biāo)識(shí)了所描繪圖的標(biāo)準(zhǔn)子結(jié)構(gòu)的示例。
Fig.3 Graph with canonical substructures and exceptions圖3 具有規(guī)范子結(jié)構(gòu)和異常的圖
使用SUBDUE[32-34]來(lái)查找規(guī)范的子結(jié)構(gòu)。最佳規(guī)范子結(jié)構(gòu)可以表征為具有最小描述長(zhǎng)度(MDL)[35-37]的子結(jié)構(gòu):
其中,G是整個(gè)圖;S是被分析的子結(jié)構(gòu);DL(G|S)是被S壓縮后的G的描述長(zhǎng)度;DL(S)是被分析的子結(jié)構(gòu)的描述長(zhǎng)度。描述長(zhǎng)度DL(G)是描述圖G[38-39]所需的最小位數(shù)。
內(nèi)網(wǎng)異常與規(guī)范子結(jié)構(gòu)的差異很小。這是因?yàn)閮?nèi)網(wǎng)異常試圖嚴(yán)密模仿合法的系統(tǒng)操作。應(yīng)用3 種不同的方法來(lái)識(shí)別這種異常[40-41],如下所述。
在找到最佳壓縮規(guī)范子結(jié)構(gòu)后,GBAD-MDL 在隨后的子結(jié)構(gòu)中搜索與該規(guī)范子結(jié)構(gòu)的偏差。通過(guò)分析與標(biāo)準(zhǔn)尺寸相同的子結(jié)構(gòu),識(shí)別邊緣和頂點(diǎn)標(biāo)簽以及邊緣的方向或端點(diǎn)的差異。最異常的是那些子結(jié)構(gòu),其中需要最少的修改來(lái)產(chǎn)生與標(biāo)準(zhǔn)結(jié)構(gòu)同構(gòu)的子結(jié)構(gòu)。在圖3 中,標(biāo)記為E的陰影頂點(diǎn)是GBAD-MDL發(fā)現(xiàn)的異常。
相反,GBAD-P搜索插入操作,如果刪除,則產(chǎn)生標(biāo)準(zhǔn)子結(jié)構(gòu)。對(duì)圖形的插入被視為規(guī)范子結(jié)構(gòu)的擴(kuò)展。GBAD-P 基于邊緣和頂點(diǎn)標(biāo)簽計(jì)算每個(gè)擴(kuò)展的概率,因此利用標(biāo)簽信息來(lái)發(fā)現(xiàn)異常。概率由下式給出:
其中,A表示邊或頂點(diǎn)屬性,v表示其值。
概率P(A=v|A)可以通過(guò)高斯分布生成:
其中,μ是平均值,σ是標(biāo)準(zhǔn)偏差。較高的ρ(x)值對(duì)應(yīng)于更多的異常子結(jié)構(gòu)。
因此,使用GBAD-P 可確保本文算法將圖中實(shí)際數(shù)據(jù)(而不僅僅是其結(jié)構(gòu))反映的惡意內(nèi)網(wǎng)行為可靠地識(shí)別為異常。圖3中,標(biāo)記為C的陰影頂點(diǎn)是GBAD-P發(fā)現(xiàn)的異常。
最后,GBAD-MPS 考慮刪除,如果重新插入,則產(chǎn)生規(guī)范的子結(jié)構(gòu)。為了發(fā)現(xiàn)這些,GBAD-MPS 檢查了父結(jié)構(gòu)。父級(jí)中大小和方向的變化表示子圖之間的刪除。最異常的子結(jié)構(gòu)是使父子結(jié)構(gòu)相同所需的轉(zhuǎn)換成本最小的子結(jié)構(gòu)。在圖3中,由于陰影矩形標(biāo)記的B和D之間缺少邊緣,因此GBAD-MPS 將A-B-C-D頂點(diǎn)的最后一個(gè)子結(jié)構(gòu)識(shí)別為異常。
在2018 年林肯實(shí)驗(yàn)室入侵檢測(cè)數(shù)據(jù)集[42-47]上測(cè)試了本文算法。此數(shù)據(jù)集由每日系統(tǒng)日志組成,其中包含所有進(jìn)程執(zhí)行的所有系統(tǒng)調(diào)用。它是使用基本安全模式(basic security model,BSM)審計(jì)程序創(chuàng)建的。每個(gè)日志都包含使用圖4 中舉例說(shuō)明的語(yǔ)法表示系統(tǒng)調(diào)用的令牌。
Fig.4 Example of system call record from MIT Lincoln dataset圖4 來(lái)自MIT Lincoln數(shù)據(jù)集的系統(tǒng)調(diào)用記錄示例
令牌參數(shù)以標(biāo)題行開頭,以拖車行結(jié)束。標(biāo)題行以字節(jié)為單位報(bào)告令牌的大小、版本號(hào)、系統(tǒng)調(diào)用以及執(zhí)行的日期和時(shí)間(以ms為單位)。第二行報(bào)告執(zhí)行進(jìn)程的完整路徑名??蛇x屬性行標(biāo)識(shí)所有者、文件系統(tǒng)和節(jié)點(diǎn)以及設(shè)備的用戶和組。下一行報(bào)告系統(tǒng)調(diào)用的參數(shù)數(shù)量,后跟下一行的參數(shù)本身。主題行報(bào)告審計(jì)ID、有效用戶和組ID、真實(shí)用戶和組ID、進(jìn)程ID、會(huì)話ID、終端端口和地址。最后,返回行報(bào)告系統(tǒng)調(diào)用的結(jié)果和返回值。
由于許多系統(tǒng)調(diào)用是與任何特定用戶無(wú)關(guān)的自動(dòng)過(guò)程的結(jié)果,因此對(duì)于內(nèi)網(wǎng)異常檢測(cè),將注意力限制在用戶附屬系統(tǒng)調(diào)用上。這些包括調(diào)用exec、execve、utime、login、logout、su、rsh、rexecd、passwd、rexd和ftp。所有這些都對(duì)應(yīng)于用戶執(zhí)行的登錄/注銷或文件操作,因此與內(nèi)網(wǎng)異常檢測(cè)相關(guān)。限制對(duì)此類操作的關(guān)注有助于減少數(shù)據(jù)集中的外來(lái)噪聲。通過(guò)以這些令牌為源點(diǎn),提取關(guān)鍵屬性作為有向邊的標(biāo)簽,對(duì)應(yīng)屬性的值為頂點(diǎn),而產(chǎn)生的令牌子圖如圖5所示。
由于不同的原因,圖5 中的每個(gè)屬性都很重要。例如,路徑值可以指示正被訪問的信息的重要性或安全級(jí)別。文件路徑訪問位置的更改或給定用戶正在執(zhí)行的系統(tǒng)調(diào)用類型可能表示應(yīng)調(diào)查的異常行為。exec 和execve 調(diào)用的文件路徑顯示每個(gè)用戶執(zhí)行的各種程序。進(jìn)程ID允許跟蹤任何給定進(jìn)程所做的所有系統(tǒng)調(diào)用,指示該進(jìn)程隨時(shí)間的行為。終端信息為用戶提供了一種地點(diǎn)數(shù)據(jù)形式。如果用戶從意外位置登錄或顯示某些位置的異常行為,則可能表示使用了被盜憑據(jù)或其他惡意活動(dòng)。
Fig.5 Token subgraph圖5 一個(gè)令牌子圖
表2 顯示了在過(guò)濾掉所有不相關(guān)的令牌并且已經(jīng)提取了圖5 中的屬性數(shù)據(jù)之后數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)。預(yù)處理提取了跨越500 000 頂點(diǎn)的62 000 令牌。這些反映了9 個(gè)星期以來(lái)所有用戶的活動(dòng)。將集成學(xué)習(xí)算法應(yīng)用于此數(shù)據(jù),其中模型(K)的數(shù)量分別設(shè)置為1、3、5、7 和9,在令牌子圖中找到規(guī)范子結(jié)構(gòu)的集合。在每次集合迭代期間,每個(gè)模型選擇最佳的5 個(gè)規(guī)范子結(jié)構(gòu)用于異常檢測(cè)。可以將算法配置為使用5 個(gè)以上,但是此默認(rèn)值產(chǎn)生了良好的結(jié)果,因此保持不變。
Table 2 Data set statistics after filtering and attribute extraction表2 過(guò)濾和屬性提取后的數(shù)據(jù)集統(tǒng)計(jì)
性能以總誤報(bào)(FP)和漏報(bào)(FN)來(lái)衡量。之所以選擇林肯數(shù)據(jù)集是因?yàn)樗捏w積很大,并且因?yàn)樗漠惓<潜娝苤?,所以通過(guò)計(jì)數(shù)來(lái)促進(jìn)準(zhǔn)確的性能評(píng)估。表3總結(jié)了結(jié)果,以及異常(true positive,TP)的計(jì)數(shù)。全部模型實(shí)現(xiàn)了零漏報(bào)。K=1 的線反映了非整體單模型GBAD方法的性能。當(dāng)集成規(guī)模K在3 以上時(shí),誤報(bào)均在200 以下,相對(duì)于使用單模型,誤報(bào)率大大下降。并且,K=9 模型的集成學(xué)習(xí)可以減少84%的誤報(bào)率,雖然系統(tǒng)誤報(bào)的異常數(shù)相對(duì)于真正的異常較大,但合適地選擇集成大小,可以實(shí)現(xiàn)一個(gè)很好的平衡,既實(shí)現(xiàn)低漏報(bào),又可以保證發(fā)現(xiàn)的異常規(guī)模是可處理的,因?yàn)橄啾扔诖R(shí)別的異常規(guī)模,內(nèi)網(wǎng)異常危害更大。因此,有理由相信利用圖挖掘的無(wú)監(jiān)督優(yōu)勢(shì)同時(shí),融入了對(duì)流變化性的考慮,可以有效地識(shí)別內(nèi)網(wǎng)中的異?;顒?dòng)。
Table 3 All integrated TP and FP count表3 全部集成的TP和FP計(jì)數(shù)
從K=1 到K=3 觀察到增加模型計(jì)數(shù)的最大影響。這表明即使集成中模型數(shù)很小比如K=2,也比單模型方法K=1提供了顯著的改進(jìn)。它還揭示了當(dāng)計(jì)算時(shí)間非常寶貴時(shí),小型集成可以在合理的運(yùn)行時(shí)間內(nèi)提供高分類精度。在本文實(shí)驗(yàn)中,使用K=3模型比K=9 的情況下實(shí)現(xiàn)誤報(bào)減少(減少了80%),但運(yùn)行時(shí)間不到10。
圖6 顯示了每個(gè)集成隨時(shí)間推移而產(chǎn)生的誤報(bào)的分布。在此數(shù)據(jù)集中,所有真正的內(nèi)網(wǎng)異?;顒?dòng)都發(fā)生在第6周,導(dǎo)致該周的誤報(bào)率激增。在前5個(gè)星期,隨著它們學(xué)習(xí)合法的行為模式,集成方法逐漸改善,而單一模型的方法激烈振蕩。當(dāng)惡意內(nèi)網(wǎng)行為出現(xiàn)在第6 周時(shí),兩種方法的誤報(bào)率都在上升,因?yàn)樗鼈冊(cè)噲D學(xué)習(xí)新概念。集成方法在很大程度上取得了成功,在接下來(lái)的幾周內(nèi)產(chǎn)生了低誤報(bào)率,但單一模型方法已經(jīng)被破壞。它無(wú)法充分編碼同一模型中與合法行為和非法行為相關(guān)的概念,導(dǎo)致第9周誤報(bào)率急劇上升。
Fig.6 Distribution of false positives圖6 假陽(yáng)(誤報(bào))的分布
接下來(lái)研究參數(shù)K(集成大?。┖蛁(每個(gè)模型的規(guī)范子結(jié)構(gòu)的數(shù)量)對(duì)分類精度和運(yùn)行時(shí)間的影響。為了更容易地執(zhí)行繪制這些關(guān)系所需的大量實(shí)驗(yàn),使用表4中總結(jié)的較小數(shù)據(jù)集進(jìn)行這些實(shí)驗(yàn)。數(shù)據(jù)集A 包括在第2~第8 周期間與用戶Donaldh 相關(guān)聯(lián)的活動(dòng),數(shù)據(jù)集B 在第4~第7 周期間用于用戶William。這些用戶中的每一個(gè)在相應(yīng)的時(shí)間段內(nèi)顯示惡意內(nèi)網(wǎng)活動(dòng)。這兩個(gè)數(shù)據(jù)集都表明了今后討論的所有關(guān)系的類似趨勢(shì)。因此,僅報(bào)告數(shù)據(jù)集A的詳細(xì)信息。
Table 4 Summary of data set A and data set B表4 數(shù)據(jù)集A和數(shù)據(jù)集B的總結(jié)
圖7 顯示了規(guī)范子結(jié)構(gòu)數(shù)量q與數(shù)據(jù)集A 中的運(yùn)行時(shí)間之間的關(guān)系。由于數(shù)據(jù)集A 中只有4 個(gè)規(guī)范結(jié)構(gòu),因此時(shí)間增加近似線性,直到q=5。因此,對(duì)第5個(gè)結(jié)構(gòu)的搜索失敗(但是會(huì)影響運(yùn)行時(shí)間),而較高的q值則沒有進(jìn)一步的影響。
Fig.7 Effect ofq on running time of fixedK=6 on data set A圖7 K=6 時(shí)q 對(duì)數(shù)據(jù)集A上運(yùn)行時(shí)間的影響
圖8 顯示了集成中總體模型數(shù)K對(duì)數(shù)據(jù)集A 的運(yùn)行時(shí)間的影響。正如預(yù)期的那樣,運(yùn)行時(shí)間隨著模型的數(shù)量逐漸增加(在該數(shù)據(jù)集中平均每個(gè)模型2 s)。
增加q和K也有助于提高TP。圖9和圖10分別通過(guò)顯示q和K與TP 的正關(guān)系來(lái)說(shuō)明。當(dāng)q和K增加到一定數(shù)量時(shí),分類器可靠地檢測(cè)數(shù)據(jù)集A中的所有7個(gè)真陽(yáng)性。因此,q和K的這些值在對(duì)內(nèi)部威脅的覆蓋率和高響應(yīng)性所需的有效運(yùn)行時(shí)間之間達(dá)到了最佳平衡。
Fig.8 Effect ofK on running time of fixedq=4 on data set A圖8 q=4 時(shí)K 對(duì)數(shù)據(jù)集A上運(yùn)行時(shí)間的影響
Fig.9 Effect ofq on true positive count of fixedK=6 on data set A圖9 K=6 時(shí)q 對(duì)數(shù)據(jù)集A上TP計(jì)數(shù)的影響
Fig.10 Effect ofK on true positive count of fixedq=4 on data set A圖10 q=4 時(shí)K 對(duì)數(shù)據(jù)集A上TP計(jì)數(shù)的影響
表5 考慮了加權(quán)與未加權(quán)多數(shù)表決對(duì)固定q=3的分類精度的影響。未加權(quán)列是λ=1 的列,加權(quán)列使用衰落因子λ=0.9。數(shù)據(jù)集包含與用戶donaldh 相關(guān)聯(lián)的所有令牌。加權(quán)多數(shù)表決在這些實(shí)驗(yàn)中沒有影響,除非K=4,其中FP率從124(未加權(quán))降低到85(加權(quán))并且將TN 率從51(未加權(quán))增加到90(加權(quán))。然而由于這些結(jié)果可以在K=3時(shí)沒有加權(quán)投票的情況下獲得,得出結(jié)論,加權(quán)投票僅用于減輕K的不良選擇;當(dāng)明智地選擇K時(shí),加權(quán)投票與否幾乎沒有什么影響。
Table 5 Effect of fading factorλ (weighted voting)表5 衰落因子λ 的影響(加權(quán)投票)
實(shí)驗(yàn)證明,本文提出的集成方法在累積的系統(tǒng)日志中可以有效地識(shí)別內(nèi)網(wǎng)異常。在現(xiàn)實(shí)世界中,惡意內(nèi)部人員的活動(dòng)往往極力模仿正常人員的活動(dòng)方式,因此本文結(jié)合圖挖掘算法,在發(fā)揮其無(wú)監(jiān)督優(yōu)勢(shì)的同時(shí),通過(guò)規(guī)范子結(jié)構(gòu)可以有效地發(fā)現(xiàn)偏離正常行為的活動(dòng)。并且本文所提方法通過(guò)集成分類和更新,可以有效識(shí)別隨時(shí)間變化的內(nèi)網(wǎng)異常,同時(shí)使用投票提高了分類準(zhǔn)確率,避免了單一模型的分類準(zhǔn)確率低的性質(zhì)。因此,對(duì)于隱藏在大量數(shù)據(jù)流中的內(nèi)網(wǎng)異常且無(wú)標(biāo)記的數(shù)據(jù)時(shí),本文所提出的基于流挖掘和圖挖掘的集成方法是十分有意義的。
基于集成的內(nèi)網(wǎng)異常檢測(cè)方法成功識(shí)別出林肯實(shí)驗(yàn)室入侵檢測(cè)數(shù)據(jù)集中的所有異常,其漏報(bào)為零,誤報(bào)率低于相關(guān)的單模型方法。該方法將基于圖挖掘的異常檢測(cè)的非監(jiān)督優(yōu)勢(shì)與流挖掘的自適應(yīng)性相結(jié)合,以實(shí)現(xiàn)內(nèi)網(wǎng)異常檢測(cè)。
未來(lái)的工作應(yīng)該考慮可調(diào)參數(shù)以及在其他場(chǎng)景中的參數(shù)選擇問題,以進(jìn)一步降低誤報(bào)率和提升方法的擴(kuò)展性,為此仍有很大的改進(jìn)空間。此外,更復(fù)雜的輪詢算法可以對(duì)更好模型的投票進(jìn)行加權(quán),這可能具有顯著的準(zhǔn)確性優(yōu)勢(shì)。
減少分類器運(yùn)行時(shí)間對(duì)于快速檢測(cè)和響應(yīng)新出現(xiàn)的內(nèi)網(wǎng)異常也很重要。本文中的實(shí)驗(yàn)是使用純串行實(shí)現(xiàn)進(jìn)行的,但是整體算法包括大量的并行化空間。因此,未來(lái)的工作應(yīng)該研究分布式和云計(jì)算技術(shù)的應(yīng)用,以提高效率。
最后,盡管實(shí)際的內(nèi)網(wǎng)異常檢測(cè)機(jī)制必須現(xiàn)實(shí)地假設(shè)標(biāo)記數(shù)據(jù)點(diǎn)形式的真實(shí)值通常是不可用的,但如果這些標(biāo)簽隨著時(shí)間的推移變得可用則利用這些標(biāo)簽將是有益的。因此,未來(lái)的研究應(yīng)該檢查在集成內(nèi)用監(jiān)督學(xué)習(xí)更新模型的技術(shù),以提高部分標(biāo)記流的分類準(zhǔn)確性。