李龍營(yíng),李金庫(kù),馬建峰,姜 奇
(西安電子科技大學(xué)計(jì)算機(jī)學(xué)院,陜西西安 710071)
采用攻擊策略圖的實(shí)時(shí)警報(bào)綜合分析方法
李龍營(yíng),李金庫(kù),馬建峰,姜 奇
(西安電子科技大學(xué)計(jì)算機(jī)學(xué)院,陜西西安 710071)
針對(duì)警報(bào)因果關(guān)聯(lián)分析方法存在攻擊場(chǎng)景圖分裂且無法及時(shí)處理大規(guī)模警報(bào)的問題,提出并實(shí)現(xiàn)一種采用攻擊策略圖的實(shí)時(shí)警報(bào)綜合分析方法.首先,通過在警報(bào)關(guān)聯(lián)過程中引入推斷警報(bào)環(huán)節(jié)避免攻擊場(chǎng)景圖的分裂;然后,采用一種新型滑動(dòng)窗口機(jī)制,為每類攻擊創(chuàng)建一個(gè)滑動(dòng)窗口,并結(jié)合時(shí)間跨度與警報(bào)數(shù)量設(shè)定窗口大小,在保證關(guān)聯(lián)效果基礎(chǔ)上具有線性時(shí)間復(fù)雜度;最后,將該方法擴(kuò)展為包含實(shí)時(shí)攻擊場(chǎng)景重構(gòu)、后續(xù)警報(bào)推測(cè)及分析結(jié)果融合的綜合警報(bào)分析系統(tǒng).實(shí)驗(yàn)結(jié)果證明了該方法的實(shí)際有效性和高效性.
入侵檢測(cè)系統(tǒng);入侵分析;關(guān)聯(lián)分析;攻擊場(chǎng)景
入侵檢測(cè)系統(tǒng)作為一種重要的網(wǎng)絡(luò)攻擊防范工具,得到了越來越廣泛的應(yīng)用.用戶基于入侵檢測(cè)系統(tǒng)產(chǎn)生的警報(bào)進(jìn)行安全事件的檢測(cè)和分析.然而,由于傳統(tǒng)入侵檢測(cè)系統(tǒng)產(chǎn)生的警報(bào)數(shù)量巨大,質(zhì)量和層次較低,警報(bào)之間相互孤立,很難被安全分析人員直接有效的利用.因此,對(duì)警報(bào)進(jìn)行關(guān)聯(lián)分析以降低警報(bào)數(shù)量、提高警報(bào)質(zhì)量,并進(jìn)而重構(gòu)攻擊場(chǎng)景顯得至關(guān)重要.
近年來,研究人員提出了多種不同類型的警報(bào)關(guān)聯(lián)分析方法[1-10],其中的典型代表是基于因果關(guān)系的警報(bào)關(guān)聯(lián)分析方法[1-2].該方法為每一種攻擊行為定義所需要的實(shí)施前提(即“因”)和攻擊成功后可能導(dǎo)致的后果(即“果”),通過警報(bào)之間的因果關(guān)系匹配將原來彼此孤立的警報(bào)關(guān)聯(lián)起來.此類方法在檢測(cè)復(fù)雜的協(xié)同多步攻擊和攻擊場(chǎng)景重構(gòu)上具有良好的效果.然而,該類方法仍然存在很多問題,尤其是對(duì)于網(wǎng)絡(luò)中的某些實(shí)際發(fā)生的異常情況未作處理,導(dǎo)致最終的結(jié)果欠佳.考察以下兩種情形:攻擊者未按照因果關(guān)系庫(kù)中描述的攻擊序列發(fā)動(dòng)攻擊,而是刻意漏掉攻擊中的某些環(huán)節(jié),比如,攻擊者已經(jīng)通過其他方法獲得了目標(biāo)主機(jī)的相關(guān)信息,因此,不需要發(fā)動(dòng)某些環(huán)節(jié)的攻擊;由于入侵檢測(cè)系統(tǒng)特征碼庫(kù)中沒有對(duì)應(yīng)的條目,或者由于部署在高速網(wǎng)絡(luò)中,入侵檢測(cè)系統(tǒng)無法及時(shí)處理所有的數(shù)據(jù)包而導(dǎo)致漏報(bào).這些情形都可能使得關(guān)聯(lián)方法產(chǎn)生的關(guān)聯(lián)圖被破壞,并分散為若干個(gè)子圖,從而無法獲取完整的攻擊場(chǎng)景.現(xiàn)有解決方案大多是在警報(bào)關(guān)聯(lián)完成之后再采用其他方法完成分散的場(chǎng)景圖重構(gòu),如基于相似屬性的聚類方法[3-4].為了提高警報(bào)匹配效率,現(xiàn)有解決方案大多為所有已處理的警報(bào)添加內(nèi)存索引[5];但由于內(nèi)存空間有限,在警報(bào)規(guī)模較大的情況下可行性較差.為此,有些方法采取滑動(dòng)時(shí)間窗口機(jī)制[6],所有處在限定時(shí)間跨度內(nèi)的警報(bào)被存儲(chǔ)在一個(gè)按時(shí)間順序排列的窗口中,當(dāng)前警報(bào)只與處于窗口中的警報(bào)進(jìn)行關(guān)聯(lián)分析.這種方法在提高系統(tǒng)運(yùn)行效率的同時(shí)也帶來了問題,即系統(tǒng)無法關(guān)聯(lián)時(shí)間跨度超過滑動(dòng)時(shí)間窗口范圍的警報(bào),而復(fù)雜的多步協(xié)同攻擊往往時(shí)間跨度較大.有學(xué)者提出了基于隊(duì)列圖的方法[7-8],這種方法只“顯式關(guān)聯(lián)”對(duì)應(yīng)漏洞最新的一條警報(bào),具有較高的效率,但同樣會(huì)對(duì)關(guān)聯(lián)結(jié)果的精確性產(chǎn)生影響.
針對(duì)基于因果關(guān)系警報(bào)關(guān)聯(lián)分析方法的局限性,文中提出一種新的采用攻擊策略圖的實(shí)時(shí)警報(bào)綜合分析方法.與現(xiàn)有方案相比,該方法主要在3個(gè)方面進(jìn)行了改進(jìn).在實(shí)時(shí)警報(bào)關(guān)聯(lián)時(shí)加入對(duì)漏報(bào)警報(bào)或者攻擊者刻意漏掉的攻擊環(huán)節(jié)的推斷,并將推斷結(jié)果作為推斷警報(bào)加入到待關(guān)聯(lián)警報(bào)集中,從而有效解決攻擊場(chǎng)景圖的分裂問題,完成完整攻擊場(chǎng)景圖的重構(gòu).提出一種新的滑動(dòng)窗口機(jī)制,該機(jī)制為每一種類型的攻擊設(shè)置一個(gè)滑動(dòng)窗口,窗口的大小同時(shí)取決于時(shí)間和警報(bào)數(shù)量,在一定程度上克服了傳統(tǒng)單一類型時(shí)間窗口無法應(yīng)對(duì)緩慢攻擊的情形.新型滑動(dòng)窗口機(jī)制為每一種攻擊類型設(shè)置滑動(dòng)窗口,相當(dāng)于對(duì)警報(bào)進(jìn)行了分類,即不同類型的警報(bào)存儲(chǔ)在不同窗口中,使得警報(bào)分析效率與總體警報(bào)數(shù)量無直接關(guān)系,警報(bào)處理在線性時(shí)間內(nèi)即可完成,保證了系統(tǒng)的實(shí)際可用性.通過引入后續(xù)攻擊預(yù)測(cè)模塊,將提出的方法擴(kuò)展為一個(gè)綜合的警報(bào)分析系統(tǒng),全面挖掘警報(bào)數(shù)據(jù).后續(xù)攻擊預(yù)測(cè)模塊的引入,可以有效地幫助安全分析人員對(duì)入侵進(jìn)行預(yù)判,并及時(shí)采取有效的應(yīng)對(duì)措施.該綜合分析系統(tǒng)通過對(duì)分析結(jié)果集內(nèi)的警報(bào)記錄進(jìn)行融合,并用融合警報(bào)記錄取代原始記錄,實(shí)現(xiàn)無信息丟失的警報(bào)分析結(jié)果壓縮,使得攻擊場(chǎng)景更簡(jiǎn)明清晰.
攻擊策略圖(Attack Strategy Graph,ASG)是一種有向無環(huán)圖,文中用它表示攻擊的先驗(yàn)知識(shí),集中體現(xiàn)攻擊之間的因果關(guān)系,是實(shí)現(xiàn)文中所有功能的基礎(chǔ).直觀來說,攻擊策略圖由盡可能多的攻擊策略構(gòu)成,這些攻擊策略信息構(gòu)成了警報(bào)分析的最直接依據(jù),為進(jìn)行警報(bào)的綜合和有效分析奠定了基礎(chǔ).為了構(gòu)建ASG,本節(jié)首先定義原子攻擊類型以擴(kuò)展并結(jié)構(gòu)化原始的警報(bào)信息,然后給出攻擊策略圖的構(gòu)建方法和示例.
1.1 相關(guān)定義
定義1原子攻擊類型(Atomic Attack Type,AAType).AAType定義為(AAttack,Require, Provide).其中,AAttack是原子攻擊名稱,惟一標(biāo)識(shí)原子攻擊類型;Require、Provide均由一系列謂詞組成,前者表示實(shí)施該攻擊所需的條件集,后者表示完成此攻擊后所能達(dá)到的效果集.原子攻擊類型構(gòu)成攻擊策略圖中的節(jié)點(diǎn).每個(gè)原子攻擊類型都對(duì)應(yīng)一個(gè)屬性集(SrcIP,SrcPort,DstIP,DstPort,Time,SensorID,…),警報(bào)是屬性實(shí)例化之后的原子攻擊類型.
定義2約束條件(Constraints).假設(shè)有原子攻擊類型A、B,則A、B之間的約束條件可以表示為其中,Ci(A,B)(i=1,2,…,n)是A和B的屬性的邏輯表達(dá)式,該表達(dá)式在攻擊策略圖構(gòu)建過程中得出.只有警報(bào)的屬性滿足相應(yīng)約束條件,才能進(jìn)行相互關(guān)聯(lián).
定義3策略圖節(jié)點(diǎn)信息(Attack Strategy Graph Node,ASG_Node).ASG_Node定義為(Indeg, Outdeg).其中,Indeg是該策略圖節(jié)點(diǎn)的所有入度節(jié)點(diǎn)組成的節(jié)點(diǎn)集合,Outdeg是該策略圖節(jié)點(diǎn)的所有出度節(jié)點(diǎn)組成的節(jié)點(diǎn)集合.
1.2 構(gòu)建方法和示例
攻擊策略圖是在警報(bào)關(guān)聯(lián)之前,通過原子攻擊類型的匹配構(gòu)建而成的.假設(shè)對(duì)于原子攻擊類型A,其類型描述為(A,R(A),P(A)).對(duì)于任意兩個(gè)原子攻擊類型A、B,如果?r∈R(B)且P?P(A),其中P= {p1,p2,…,pn},使得p1∨p2∨…∨pn→r,則有A→B關(guān)系成立.此時(shí),將A添加到B節(jié)點(diǎn)的Indeg集,同時(shí)將B添加到A的Outdeg集,并計(jì)算出A和B的屬性之間需要滿足的約束條件.
圖1所示為部分攻擊策略圖(圖中分別以A、B代替有向邊的始點(diǎn)和終點(diǎn)).考察原子攻擊類型Email_ Almail_Overflow(簡(jiǎn)記為EAO)和Rsh.若EAO攻擊成功,攻擊者可獲得目標(biāo)主機(jī)操作權(quán)限,即Gain Access (DstIP).而發(fā)動(dòng)原子攻擊Rsh所需條件為Gain Access(SrcIP)∧Gain Access(DstIP).顯然,當(dāng)且僅當(dāng)二者的相關(guān)屬性滿足約束條件:EAO.DstIP=Rsh.DstIP‖EAO.DstIP=Rsh.SrcIP時(shí),二者滿足匹配條件, p(EAO)→r(Rsh)成立,形成一條攻擊策略記錄.此時(shí),可將EAO加入到Rsh原子攻擊類型的Indeg集,同時(shí)將Rsh加入到EAO的Outdeg集.同理可完成Rsh與Mstream_Zombie(簡(jiǎn)記為MZ)的類型匹配,并將Rsh加入到MZ的Indeg集中,同時(shí)將MZ加入到Rsh的Outdeg集.
圖1 部分攻擊策略圖(X,Y代表其他原子攻擊)
重復(fù)以上步驟,即可最終完成攻擊策略圖的構(gòu)建.
2.1 攻擊場(chǎng)景圖重構(gòu)
2.1.1 推斷警報(bào)
在很多情形下,關(guān)聯(lián)分析算法無法產(chǎn)生完整的攻擊場(chǎng)景圖.如圖2所示,攻擊者通過發(fā)動(dòng)從AAT1類型到AAT7類型的一系列攻擊,以達(dá)到攻擊目的.攻擊期間,警報(bào)Alert1、Alert4、Alert5、Alert6和Alert7依次產(chǎn)生,而Alert2和Alert3則被攻擊者刻意漏掉或者被漏報(bào).由此造成的結(jié)果是:在相應(yīng)約束條件都得到滿足的情況下,Alert1和Alert4被關(guān)聯(lián)起來形成一個(gè)攻擊場(chǎng)景,而Alert5、Alert6和Alert7則形成另一個(gè)攻擊場(chǎng)景.然而,從策略圖中可以清晰地看出這些警報(bào)應(yīng)屬于同一個(gè)攻擊場(chǎng)景,只是因?yàn)锳lert2、Alert3的漏報(bào)而被分裂.基于上述觀察,文中提出一種方法用于推斷攻擊者刻意漏掉的攻擊環(huán)節(jié)或者入侵檢測(cè)系統(tǒng)的漏報(bào),并將此推斷結(jié)果以一種特殊警報(bào)的方式引入警報(bào)關(guān)聯(lián)算法,稱為推斷警報(bào)(Hypothesizing Alert,HAlert),以解決攻擊場(chǎng)景圖的分裂問題.
由于攻擊策略圖反映了原子攻擊之間的因果關(guān)系,因此,利用它可以方便地得到推斷警報(bào).對(duì)于每一個(gè)已產(chǎn)生的警報(bào),首先考察其對(duì)應(yīng)攻擊策略圖中節(jié)點(diǎn)的節(jié)點(diǎn)信息以推斷出可能的漏報(bào)攻擊類型集,然后根據(jù)其他相關(guān)信息(比如,主機(jī)或網(wǎng)絡(luò)脆弱性等)進(jìn)行過濾,最后依據(jù)警報(bào)的屬性及二者之間的約束條件推斷漏報(bào)攻擊類型的屬性信息,得到推斷警報(bào).
圖2 推斷警報(bào)示意圖
依據(jù)上述方法考察圖2中的Alert5,它對(duì)應(yīng)的原子攻擊類型為AAT5,其節(jié)點(diǎn)信息中的Indeg= {AAT2,AAT3}.取AAT2、AAT3為可能漏報(bào)攻擊類型來構(gòu)造推斷警報(bào)HAlert2和HAlert3.根據(jù)約束條件C(1,2)∩C(2,5)=1、C(1,3)∩C(3,5)=1同時(shí)成立,計(jì)算出HAlert2和HAlert3的可能屬性值,從而完成對(duì)警報(bào)Alert5的漏報(bào)推斷.得到推斷警報(bào)HAlert2與HAlert3后,將其與已有警報(bào)集中的警報(bào)進(jìn)行關(guān)聯(lián),將關(guān)聯(lián)記錄添加到結(jié)果中.需要指出的是,假設(shè)已有警報(bào)中有Alert2而無Alert3,由于推斷會(huì)同時(shí)產(chǎn)生HAlert2和HAlert3,則產(chǎn)生兩對(duì)兩兩等價(jià)的關(guān)聯(lián)記錄,分別是(Alert1,Alert2)和(Alert1,HAlert2)、(HAlert2,Alert5)和(Alert2,Alert5).對(duì)于該情況本節(jié)暫時(shí)不作處理,而是在場(chǎng)景圖融合時(shí)去除冗余信息(詳見2.3節(jié)).
2.1.2 新型滑動(dòng)窗口機(jī)制
在實(shí)際網(wǎng)絡(luò)環(huán)境中,很多情況下不同類型警報(bào)的出現(xiàn)頻率差異較大,從而導(dǎo)致不同類型警報(bào)被調(diào)入內(nèi)存中進(jìn)行匹配的概率相差較大.因此,將所有警報(bào)存放到同一個(gè)滑動(dòng)窗口中統(tǒng)一處理,顯然不是一個(gè)好的選擇.基于此考慮,本方法對(duì)傳統(tǒng)滑動(dòng)窗口技術(shù)進(jìn)行了改進(jìn),設(shè)計(jì)了一種新型滑動(dòng)窗口機(jī)制.該機(jī)制為每一個(gè)攻擊類型維持一個(gè)滑動(dòng)窗口,僅用于存儲(chǔ)本類型警報(bào).同時(shí),該機(jī)制基于警報(bào)數(shù)量與時(shí)間跨度相結(jié)合的方式確定每一個(gè)滑動(dòng)窗口的大小,保證在不影響警報(bào)分析效率的基礎(chǔ)上,一定程度上降低緩慢攻擊對(duì)警報(bào)關(guān)聯(lián)分析效果的影響.另外,窗口中有一個(gè)窗口信息單元,記錄當(dāng)前滑動(dòng)窗口中警報(bào)數(shù)量及時(shí)間寬度.新產(chǎn)生的警報(bào)處理完成后,需要訪問上述信息單元以確定是否有警報(bào)出列,否則直接執(zhí)行插入窗口操作.文獻(xiàn)[7]中所使用的隊(duì)列類似于本文中的滑動(dòng)窗口,但是它無法處理同一類型有多個(gè)反映同一漏洞卻涉及不同主機(jī)的警報(bào)的情形,且只按照漏洞來對(duì)應(yīng)隊(duì)列,在漏洞不完備的情況下,分析效果不理想.
2.1.3 警報(bào)關(guān)聯(lián)
當(dāng)一個(gè)新警報(bào)產(chǎn)生并被傳送到警報(bào)分析系統(tǒng)時(shí),首先通過當(dāng)前警報(bào)AAType找到對(duì)應(yīng)的ASG_Node信息,讀取其中Indeg域所包含的節(jié)點(diǎn)集.然后,系統(tǒng)針對(duì)節(jié)點(diǎn)集中每一個(gè)節(jié)點(diǎn),依次遍歷相應(yīng)滑動(dòng)窗口中的內(nèi)容,根據(jù)約束條件確定可關(guān)聯(lián)警報(bào),產(chǎn)生警報(bào)關(guān)聯(lián)記錄并存儲(chǔ).最后,將當(dāng)前警報(bào)放入到滑動(dòng)窗口中,完成本條警報(bào)的處理.警報(bào)關(guān)聯(lián)算法如下:
Algorithm 1 ASG_Based_Alert_Correlation
Input
攻擊類型的入度節(jié)點(diǎn)集Indeg;aat類型對(duì)應(yīng)的新型滑動(dòng)窗口SW(aat);最大警報(bào)數(shù)量及時(shí)間寬度: N,T;
新產(chǎn)生的警報(bào)Current Alert;警報(bào)關(guān)聯(lián)結(jié)果集Records;存儲(chǔ)AAType類型變量:var AAT;滑動(dòng)窗口中警報(bào)變量:SWAlert;
Output
更新后的警報(bào)關(guān)聯(lián)結(jié)果集Records以及更新后的相應(yīng)類型滑動(dòng)窗口SW(aat of Current Alert);
Begin_Approach
(1)var AAT←Indeg(aat of Current Alert);
(2)for each var AAT
(3){
(4) do for each alert in SW(var AAT)
(5) if(Constraints(Current Alert,SWAlert)==1)
(6) Insert(SWAlert,Current Alert)into Records
(7)}
(8)insert Current Alert into SW(aat of Current Alert)
(9)if(SW(aat of Current Alert)exceed the limit)
(10) delete the first alert in SW(aat of Current Alert)
End_Approach.
假設(shè)系統(tǒng)當(dāng)前正處理第i條新警報(bào)Alerti,該警報(bào)對(duì)應(yīng)Indeg節(jié)點(diǎn)集中節(jié)點(diǎn)個(gè)數(shù)為mi,其中第j個(gè)節(jié)點(diǎn)對(duì)應(yīng)的滑動(dòng)窗口長(zhǎng)度為nj且對(duì)于任意j,有j≤mi,當(dāng)窗口大小為N時(shí),有nj≤N,則Alerti的處理時(shí)間ti為
由式(1)可見,本方法效率主要取決于警報(bào)Indeg集中的數(shù)目,而與場(chǎng)景知識(shí)庫(kù)的總體規(guī)模及待處理的警報(bào)總體數(shù)量之間無直接關(guān)系,程序時(shí)間復(fù)雜度為O(mi).
2.2 后續(xù)攻擊預(yù)測(cè)
為了更及時(shí)地對(duì)復(fù)雜協(xié)同攻擊行為采取有效措施,文中引入了后續(xù)攻擊預(yù)測(cè)部分.與文獻(xiàn)[7]中預(yù)測(cè)算法相比,文中方法不僅可以預(yù)測(cè)后續(xù)可能發(fā)生的攻擊類型,同時(shí)也可以得出后續(xù)攻擊相關(guān)屬性的預(yù)測(cè).具體通過搜尋當(dāng)前警報(bào)原子類型攻擊節(jié)點(diǎn)信息的Outdeg來實(shí)現(xiàn).理論上,該節(jié)點(diǎn)集內(nèi)的所有原子攻擊,已然具備了被發(fā)動(dòng)的條件,從而可以加入到當(dāng)前警報(bào)的后續(xù)攻擊備選節(jié)點(diǎn)集內(nèi).順著Outdeg的方向向后遍歷,也可對(duì)后續(xù)攻擊進(jìn)行多步預(yù)測(cè).例如,圖2中當(dāng)前警報(bào)為AAT1類型警報(bào)Alert1,而AAT1的Outdeg節(jié)點(diǎn)集為{AAT2,AAT3,AAT4},則文中方法首先將{AAT2,AAT3,AAT4}加入到當(dāng)前警報(bào)Alert1的后續(xù)攻擊節(jié)點(diǎn)集內(nèi),得到推測(cè)警報(bào)Alert2、Alert3和Alert4,并根據(jù)相關(guān)約束條件C(1,2)=1、C(1,3)=1和C(1,4)=1同時(shí)成立,可得出后續(xù)推測(cè)警報(bào)的相關(guān)屬性信息.最后,根據(jù)其他信息(比如相應(yīng)主機(jī)的系統(tǒng)信息或者主機(jī)是否存在可被攻擊的漏洞)對(duì)節(jié)點(diǎn)集內(nèi)的節(jié)點(diǎn)相應(yīng)攻擊發(fā)生的可能性進(jìn)行評(píng)估,并設(shè)置閾值,剔除攻擊發(fā)生的可能性小于設(shè)定閾值的節(jié)點(diǎn),從而獲得最優(yōu)的節(jié)點(diǎn)集.
2.3 攻擊場(chǎng)景圖融合
如前面2.1.1節(jié)所述,為了完成實(shí)時(shí)攻擊場(chǎng)景圖的整體重構(gòu),文中方法將推斷警報(bào)引入到了警報(bào)關(guān)聯(lián),這可能導(dǎo)致關(guān)聯(lián)結(jié)果的冗余.此外,觀察并分析警報(bào)關(guān)聯(lián)記錄結(jié)果發(fā)現(xiàn),對(duì)于大規(guī)模的攻擊,關(guān)聯(lián)后的攻擊場(chǎng)景圖一般都包含冗余信息.針對(duì)上述問題,文中方法對(duì)警報(bào)關(guān)聯(lián)記錄進(jìn)行融合,并用融合關(guān)聯(lián)記錄取代原始記錄,以實(shí)現(xiàn)無信息丟失的分析結(jié)果壓縮,得到更為清晰的攻擊場(chǎng)景.
舉例來說,現(xiàn)有一條警報(bào)關(guān)聯(lián)記錄Alert1→Alert2,即一個(gè)警報(bào)對(duì),其中涉及到Alert1、Alert2對(duì)應(yīng)的屬性,包括源、目的主機(jī)(SrcIP1,DstIP1)、(SrcIP2,DstIP2),以及警報(bào)產(chǎn)生時(shí)間(time1)、(time2)等.該記錄表示攻擊者先在time1時(shí)刻從SrcIP1向DstIP1發(fā)起AAT1的攻擊,接著在time2時(shí)刻從SrcIP2向DstIP2發(fā)起AAT2的攻擊.因此,認(rèn)為所有可以反映上述信息(除了時(shí)間)的多條警報(bào)關(guān)聯(lián)記錄是互為可融合警報(bào)關(guān)聯(lián)記錄,并用一條警報(bào)關(guān)聯(lián)記錄代替一簇互為可融合警報(bào)關(guān)聯(lián)記錄,稱為融合警報(bào)關(guān)聯(lián)記錄.注意,融合記錄的時(shí)間是一個(gè)時(shí)間范圍,通過取一簇互為可融合警報(bào)關(guān)聯(lián)記錄中的最小時(shí)間和最大時(shí)間值獲得.
為了驗(yàn)證提出的方法,筆者初步實(shí)現(xiàn)了一個(gè)實(shí)時(shí)警報(bào)綜合分析原型系統(tǒng),并采用MIT林肯實(shí)驗(yàn)室DARPA 2000數(shù)據(jù)集[9]和入侵檢測(cè)系統(tǒng)Realsecure進(jìn)行了有效性和警報(bào)分析效率兩方面的測(cè)試.實(shí)驗(yàn)是在VMWare上安裝的Windows XP專業(yè)版客戶機(jī)系統(tǒng)上進(jìn)行的,為其分配2 GB RAM空間,處理器為Intel I5-2400,主頻3.10 GHz,系統(tǒng)采用C++語言實(shí)現(xiàn).
3.1 系統(tǒng)有效性
以內(nèi)網(wǎng)1(inside 1)流量產(chǎn)生的警報(bào)集為例來分析.為了測(cè)試攻擊場(chǎng)景圖重構(gòu)功能,在系統(tǒng)測(cè)試時(shí)刪除了內(nèi)網(wǎng)中的原子攻擊類型為Rsh且同時(shí)涉及主機(jī)172.016.115.020和202.077.162.213的警報(bào).
信息無損壓縮后的警報(bào)綜合分析結(jié)果如圖3所示.與文獻(xiàn)[2,7-8]中的內(nèi)網(wǎng)1場(chǎng)景圖相比,圖3給出了更為清晰的攻擊場(chǎng)景脈絡(luò).另外,對(duì)結(jié)果圖進(jìn)行分析不難發(fā)現(xiàn),在無推斷警報(bào)(包括涉及主機(jī)202.077.162.213和172.016.115.020的Rsh等陰影標(biāo)識(shí)節(jié)點(diǎn))的情況下,完整的場(chǎng)景圖遭到破壞,并一分為二.文獻(xiàn)[2,7-8]方法在漏報(bào)相應(yīng)警報(bào)的情況下,都將產(chǎn)生不同程度的場(chǎng)景圖分裂,而文中方法由于包含了推斷警報(bào),成功地得到了完整的攻擊場(chǎng)景圖.
圖3 信息無損壓縮后的警報(bào)綜合分析結(jié)果
攻擊者連續(xù)發(fā)起的一系列攻擊行為,按如下步驟進(jìn)行:
(1)Sadmind_Ping<主機(jī)1,主機(jī)2>:主機(jī)1掃描主機(jī)2是否存在sadmind漏洞;
(2)Sadmind_Amslverify_Overflow<主機(jī)1,主機(jī)2>:主機(jī)1對(duì)主機(jī)2的sadmind守護(hù)程序發(fā)起緩沖區(qū)溢出攻擊;Email_Amail_Overflow<主機(jī)1,主機(jī)2>:主機(jī)1對(duì)主機(jī)2的ALMail POP3客戶端發(fā)起緩沖區(qū)溢出攻擊;
(3)Rsh<主機(jī)1,主機(jī)2>:主機(jī)1對(duì)主機(jī)2遠(yuǎn)程執(zhí)行shell命令;
(4)Mstream_Zombie<主機(jī)1,主機(jī)2>:檢測(cè)到控制者和被控制主機(jī)(主機(jī)1)之間的通信;
(5)Stream_DoS:通過洪泛虛假的TCP包到目標(biāo)主機(jī)的任意端口,從而向目標(biāo)主機(jī)發(fā)起拒絕服務(wù)攻擊.
通過后續(xù)警報(bào)預(yù)測(cè),推斷出Mstream_Zombie節(jié)點(diǎn)是后續(xù)可能發(fā)生的攻擊(如圖3中右下角陰影標(biāo)識(shí)節(jié)點(diǎn)所示).根據(jù)知識(shí)庫(kù)中Rsh和Mstream_Zombie之間需要滿足的限制條件集:B.SrcIP=A.SrcIP‖B.SrcIP=A.DrcIP‖B.DstIP=B.SrcIP‖B.DstIP=A.DstIP,其中A=Rsh,B=Mstream_Zombie,推斷出攻擊者下一步有可能發(fā)起Mstream_Zombie攻擊,并且該攻擊將涉及主機(jī)202.077.162.213和172.016.115.020.
從實(shí)驗(yàn)結(jié)果可以看出,文中提出的綜合警報(bào)分析方法解決了由于漏報(bào)(或刻意漏掉攻擊環(huán)節(jié))而帶來的分散問題,完成了后續(xù)警報(bào)的預(yù)測(cè),實(shí)現(xiàn)了無信息損失的場(chǎng)景圖壓縮.
3.2 警報(bào)分析效率
筆者對(duì)兩個(gè)不同規(guī)模的數(shù)據(jù)集進(jìn)行了效率測(cè)試,測(cè)試結(jié)果如圖4所示.對(duì)于較小規(guī)模警報(bào)集(圖4(a)),平均警報(bào)處理時(shí)間約為3.001 08 ms,較大規(guī)模警報(bào)集(圖4(b))平均警報(bào)處理時(shí)間約為5.752 84 ms.平均時(shí)間隨著警報(bào)集數(shù)量的增加并沒有較大上升.另外,從圖中可以發(fā)現(xiàn),只有極少數(shù)警報(bào)處理時(shí)間相對(duì)較長(zhǎng),絕大多數(shù)警報(bào)的處理時(shí)間都維持在10 ms以下.根據(jù)警報(bào)處理時(shí)間復(fù)雜度隨當(dāng)前警報(bào)原子攻擊類型的Indeg集內(nèi)節(jié)點(diǎn)數(shù)目增長(zhǎng)而線性增長(zhǎng),可以推斷這是由于少數(shù)原子攻擊類型在攻擊場(chǎng)景圖中的Indeg集內(nèi)包含的節(jié)點(diǎn)數(shù)量較大造成的,而絕大多數(shù)的原子攻擊類型Indeg集內(nèi)節(jié)點(diǎn)數(shù)量都在較小范圍內(nèi).綜上所述,本系統(tǒng)可以實(shí)時(shí)部署運(yùn)行,且能夠很好地處理較大規(guī)模的警報(bào)數(shù)據(jù).
圖4 警報(bào)分析效率
針對(duì)基于因果關(guān)系的警報(bào)關(guān)聯(lián)分析方法中存在的問題,文中提出一種新的采用攻擊策略圖的實(shí)時(shí)警報(bào)綜合分析方法.該方法通過在警報(bào)關(guān)聯(lián)時(shí)加入對(duì)漏報(bào)警報(bào)或者攻擊者刻意漏掉的攻擊環(huán)節(jié)的推斷,有效解決攻擊場(chǎng)景圖的分裂問題,完成攻擊場(chǎng)景圖的完整重構(gòu);通過采用一種新的滑動(dòng)窗口機(jī)制,即為每一種類型的攻擊設(shè)置一個(gè)滑動(dòng)窗口,并結(jié)合時(shí)間跨度與警報(bào)數(shù)量設(shè)定窗口大小,在一定程度上克服了傳統(tǒng)單一類型時(shí)間窗口無法應(yīng)對(duì)緩慢攻擊的情形,并且在保證關(guān)聯(lián)效果基礎(chǔ)上使得警報(bào)處理具有線性時(shí)間復(fù)雜度;通過引入后續(xù)攻擊預(yù)測(cè)模塊,將提出的方法擴(kuò)展為一個(gè)綜合的警報(bào)分析系統(tǒng),全面挖掘警報(bào)數(shù)據(jù),有效幫助安全分析人員對(duì)入侵行為進(jìn)行預(yù)判.最后的實(shí)驗(yàn)結(jié)果證明了方法的實(shí)際有效性和高效性.
[1]Ning P,Cui Y,Reeves D S.Analyzing Intensive Intrusion Alerts via Correlation[C]//Proceedings of International Symposium on Recent Advances in Intrusion Detection.Stevenage:Springer Verlang,2002:74-94.
[2]Ning P,Cui Y,Reeves D S.Constructing Attack Scenarios through Correlation of Intrusion Alerts[C]//Proceedings of the 9th ACM Conference on Computer and Communications Security.Washington:ACM,2002:245-254.
[3]Ahmadinejad S H,Jalili S,Abadi M.A Hybrid Model for Correlating Alerts of Known and Unknown Attack Scenarios and Updating Attack Graphs[J].Computer Networks,2011,55(9):2221-2240.
[4]Ning P,Xu D,Healey C G,et al.Building Attack Scenarios through Integration of Complementary Alert Correlation Methods[C]//11th Annual Network and Distributed System Security Symposium.Stevenage:Springer,2004:97-111.
[5]Ning P,Xu D.Adapting Query Optimization Techniques for Efficient Intrusion Alert Correlation[R/OL].[2013-05-19].discovery.csc.ncsu.edu/~pning/pubs/footcorldation.pdf.
[6]Valeur F,Vigna G,Kruegel C,et al.A Comprehensive Approach to Intrusion Detection Alert Correlation[J].IEEE Transactions on Dependable and Secure Computing,2004,1(3):146-169.
[7]Wang L,Liu A,Jajodia S.Using Attack Graphs for Correlating,Hypothesizing,and Predicting Intrusion Alerts[J]. Journal of Computer Communications,2006,29(15):2917-2933.
[8]Zali Z,Hashemi M R,Saidi H.Real-Time Attack Scenario Detection via Intrusion Detection Alert Correlation[C]// Proceedings of the 9th International ISC Conference on Information Security and Cryptology.Piscataway:IEEE,2012: 95-102.
[9]楊潔,劉聰鋒.模式匹配與校驗(yàn)和相結(jié)合的IP協(xié)議識(shí)別方法[J].西安電子科技大學(xué)學(xué)報(bào),2012,39(3):149-153.
Yang Jie,Liu Congfeng.IP Protocol Identification Method Using the Pattern Match and Check Sum[J].Journal of Xidian University,2012,39(3):149-153.
[10]林暉,馬建峰.無線Mesh網(wǎng)絡(luò)中基于跨層信譽(yù)機(jī)制的安全路由協(xié)議[J].西安電子科技大學(xué)學(xué)報(bào),2014,41(1):145-153.
Lin Hui,Ma Jianfeng.Cross Layer Reputation Mechanism based Secure Routing Protocol for WMNs[J].Journal of Xidian University,2014,41(1):145-153.
(編輯:李恩科)
Comprehensive analysis of real-time alerts with attack strategy graphs
LI Longying,LI Jinku,MA Jianfeng,JIANG Qi
(School of Computer Science and Technology,Xidian Univ.,Xi’an 710071,China)
The causal relation based alert correlation approach causes split scenario graphs and cannot process massive alerts in time.To address this issue,a comprehensive analysis approach of real-time alerts with attack strategy graphs is proposed.First,it gets rid of the splitting of the attack scenario graph by introducing hypothesizing alerts to the alert correlation process.Second,it leverages a novel sliding window mechanism,which maintains a window for each type of attacks and determines the window’s size according to both the time and number of the alerts.This new mechanism only introduces linear time complexity without sacrificing effectiveness.Third,the approach is extended to a comprehensive system to reconstruct attack scenarios,predict future alerts and fuse analytical results.Evaluation results indicate that our approach is effective and efficient.
intrusion detection systems;intrusion analysis;correlation analysis;attack scenarios
TP309
A
1001-2400(2014)05-0084-07
2013-06-22< class="emphasis_bold">網(wǎng)絡(luò)出版時(shí)間:
時(shí)間:2014-01-12
國(guó)家自然科學(xué)基金委員會(huì)廣東聯(lián)合基金重點(diǎn)基金資助項(xiàng)目(U1135002);長(zhǎng)江學(xué)者和創(chuàng)新團(tuán)隊(duì)發(fā)展計(jì)劃資助項(xiàng)目(IRT1078);教育部留學(xué)回國(guó)人員科研啟動(dòng)基金資助項(xiàng)目(K60013030103);中央高?;究蒲袠I(yè)務(wù)費(fèi)專項(xiàng)資金資助項(xiàng)目
李龍營(yíng)(1991-),男,西安電子科技大學(xué)碩士研究生,E-mail:leelongying@163.com.
http://www.cnki.net/kcms/doi/10.3969/j.issn.1001-2400.2014.05.015.html
10.3969/j.issn.1001-2400.2014.05.015