汪永偉,蘇會(huì)芳,張紅旗,劉育楠,邱 衛(wèi)
(1.信息工程大學(xué),河南 鄭州450004;2.河南省信息安全重點(diǎn)實(shí)驗(yàn)室,河南 鄭州450004;3.河南省外貿(mào)學(xué)校,河南 鄭州450002)
報(bào)警關(guān)聯(lián)分析可以在相關(guān)的報(bào)警信息之間建立關(guān)聯(lián),消除冗余報(bào)警,能夠有效降低系統(tǒng)中的報(bào)警數(shù)量,提高網(wǎng)絡(luò)安全狀態(tài)分析的效率和準(zhǔn)確性[1-3]。新報(bào)警來(lái)臨時(shí),需要從已有報(bào)警中選擇一個(gè)或一組報(bào)警與之建立關(guān)聯(lián)。在現(xiàn)有關(guān)聯(lián)分析方法中,報(bào)警選擇主要采用兩種方法:第一種方法是,選擇所有的已有報(bào)警與新報(bào)警建立關(guān)聯(lián)[4-6];另外一種方法是,將最近的關(guān)聯(lián)報(bào)警劃分為若干時(shí)間窗,從時(shí)間窗中隨機(jī)選擇報(bào)警與新報(bào)警建立關(guān)聯(lián)[7]。第一種方法實(shí)現(xiàn)較為簡(jiǎn)單,關(guān)聯(lián)結(jié)果最為精確,但是計(jì)算資源消耗巨大,關(guān)聯(lián)方法的實(shí)時(shí)性受到影響,不適于實(shí)時(shí)在線態(tài)勢(shì)分析[8];相對(duì)于第一種方法,第二種方法在性能上有所提升,但是由于報(bào)警選擇的無(wú)目的性,一定程度上會(huì)降低關(guān)聯(lián)分析的準(zhǔn)確性。
針對(duì)上述問(wèn)題,本文提出了一種基于有向滑動(dòng)時(shí)間窗的報(bào)警動(dòng)態(tài)選擇算法ADSA_DSTW (alert dynamic selection algorithm based on direct slide time window)。該算法依據(jù)歷史關(guān)聯(lián)結(jié)果的趨向特征,調(diào)整每個(gè)時(shí)間窗內(nèi)報(bào)警抽取的概率,向歷史關(guān)聯(lián)強(qiáng)度高的時(shí)間窗分配更高的抽取概率,以提高報(bào)警關(guān)聯(lián)的實(shí)時(shí)性和準(zhǔn)確性。
新報(bào)警來(lái)臨時(shí),報(bào)警選擇策略決定了已關(guān)聯(lián)報(bào)警的抽取原則。報(bào)警全選方法雖然精準(zhǔn),但是資源消耗巨大;隨機(jī)選擇方法雖然性能優(yōu)異,但是精確度下降。在采用報(bào)警隨機(jī)選擇方法時(shí),按照時(shí)間窗的新鮮度,從每個(gè)時(shí)間窗內(nèi)隨機(jī)抽取報(bào)警建立關(guān)聯(lián)對(duì),在整個(gè)關(guān)聯(lián)過(guò)程中,某一時(shí)間窗所獲得的抽取概率始終完全相同[7]。隨機(jī)選擇方法考慮了窗口新鮮度因素,相對(duì)比較合理,但是,其沒(méi)有考慮關(guān)聯(lián)歷史因素。在關(guān)聯(lián)過(guò)程中,時(shí)間窗內(nèi)的歷史關(guān)聯(lián)強(qiáng)度會(huì)對(duì)新的報(bào)警關(guān)聯(lián)帶來(lái)有益的啟示:由于關(guān)聯(lián)報(bào)警在時(shí)間上具有聚集性,歷史關(guān)聯(lián)強(qiáng)度更高的時(shí)間窗與新報(bào)警發(fā)生關(guān)聯(lián)的概率更大,歷史關(guān)聯(lián)強(qiáng)度低的時(shí)間窗與新報(bào)警關(guān)聯(lián)的可能性較小。這一特征與計(jì)算機(jī)網(wǎng)絡(luò)中的擁塞管理機(jī)制類似:在經(jīng)典的網(wǎng)絡(luò)管理中,當(dāng)丟包狀況提示網(wǎng)絡(luò)發(fā)生擁塞時(shí),擁塞控制算法會(huì)降低窗口大小,減少數(shù)據(jù)包發(fā)送規(guī)模;當(dāng)網(wǎng)絡(luò)狀態(tài)良好時(shí),增加窗口大小,擁塞控制算法擴(kuò)大數(shù)據(jù)包發(fā)送規(guī)模。
因此,受經(jīng)典計(jì)算機(jī)網(wǎng)絡(luò)中擁塞窗口管理機(jī)制的啟發(fā),本文提出了一種基于有向滑動(dòng)時(shí)間窗的報(bào)警動(dòng)態(tài)選擇算法ADSA_DSTW。ADSA_DSTW 算法依據(jù)歷史關(guān)聯(lián)結(jié)果的趨向特征,調(diào)整每個(gè)時(shí)間窗內(nèi)報(bào)警抽取的概率,向歷史關(guān)聯(lián)強(qiáng)度高的時(shí)間窗分配更高的抽取概率,降低歷史關(guān)聯(lián)強(qiáng)度較低的時(shí)間窗的抽取概率,從而提高報(bào)警關(guān)聯(lián)的效率和準(zhǔn)確性。
假設(shè),將時(shí)間劃分為n個(gè)等間隔的時(shí)間窗,每個(gè)時(shí)間窗的序號(hào)從1到n。按照?qǐng)?bào)警產(chǎn)生的順序,將每個(gè)報(bào)警分配到對(duì)應(yīng)的時(shí)間窗內(nèi),其所隸屬的時(shí)間窗序號(hào)通過(guò)式 (1)獲得
發(fā)生越久的報(bào)警與新報(bào)警發(fā)生關(guān)聯(lián)的概率越小,因此,在報(bào)警選擇上,可為其分配較低的抽取概率。
假設(shè),序號(hào)為i的時(shí)間窗內(nèi)的報(bào)警數(shù)量為si,窗口報(bào)警抽取概率為ρ,報(bào)警選擇數(shù)位select_numi,則,在初始狀態(tài)下,時(shí)間窗的抽取概率和從其中可選擇的報(bào)警數(shù)量為
由式 (1)可以看出,報(bào)警產(chǎn)生越久,其所屬時(shí)間窗的序號(hào)越大,根據(jù)式 (2)計(jì)算的抽取概率越小,進(jìn)而由式(3)所分配的告警選擇數(shù)越小。
例如,圖1所示的時(shí)間窗中,時(shí)間窗的序號(hào)由左到右依次為。依據(jù)式 (2)、式 (3),從每個(gè)窗口中選擇的報(bào)警數(shù)量分別為3,5,9,8和12。每個(gè)窗口對(duì)應(yīng)的抽取概率分別為18.7%,35.7%,60%,72.7%,100%,越新鮮的時(shí)間窗被分配的抽取概率越大。
圖1 初始報(bào)警選擇
假設(shè),Comax表示新報(bào)警Anew與時(shí)間窗Ti內(nèi)已有報(bào)警關(guān)聯(lián)過(guò)程中關(guān)聯(lián)強(qiáng)度的最大值。Seaverage是歷史上的報(bào)警關(guān)聯(lián)強(qiáng)度均值。時(shí)間窗的報(bào)警抽取概率通過(guò)調(diào)節(jié)報(bào)警選擇數(shù)量來(lái)實(shí)現(xiàn),調(diào)整過(guò)程中的兩個(gè)閾值分別為:最小報(bào)警選擇調(diào)整閾值SeThreshmin和最大報(bào)警選擇調(diào)整閾值SeThreshmax
其中,α為調(diào)節(jié)參數(shù),用于調(diào)節(jié)報(bào)警選擇數(shù)量的變化速度,取值范圍 [0.5,1.0]。α值較大時(shí),時(shí)間窗內(nèi)報(bào)警選擇數(shù)量的調(diào)整速率較快;α值較小時(shí),時(shí)間窗內(nèi)報(bào)警選擇數(shù)量的調(diào)整速率較慢。為了保證報(bào)警選擇調(diào)節(jié)的有效性,α的選擇需保證SeThreshmax<CoT 。
由前面的分析可知,歷史關(guān)聯(lián)強(qiáng)度更高的時(shí)間窗與新報(bào)警發(fā)生關(guān)聯(lián)的概率更大,歷史關(guān)聯(lián)強(qiáng)度低的時(shí)間窗與新報(bào)警關(guān)聯(lián)的可能性較小。本文將新報(bào)警與時(shí)間窗內(nèi)報(bào)警關(guān)聯(lián)的可能性定義為關(guān)聯(lián)興趣度CI(correlation interest)。
定義1 關(guān)聯(lián)興趣度由本次報(bào)警關(guān)聯(lián)過(guò)程中的最大值Comax與SeThreshmax、SeThreshmin之間的關(guān)系決定,其計(jì)算方法如下
ADSA_DSTW 算法的工作原理為:
首先,利用式 (2)和式 (4)計(jì)算每個(gè)時(shí)間窗的初始select_numi。然后,在新報(bào)警Anew與時(shí)間窗Ti內(nèi)報(bào)警的關(guān)聯(lián)過(guò)程中,不斷更新最大關(guān)聯(lián)強(qiáng)度Comax。當(dāng)時(shí)間窗Ti內(nèi)檢測(cè)過(guò)的報(bào)警數(shù)量超過(guò)select_numi/2時(shí),檢驗(yàn)Comax與調(diào)整閾值之間的關(guān)系。若Comax小于SeThreshmin,說(shuō)明Anew與時(shí)間窗Ti內(nèi)報(bào)警發(fā)生關(guān)聯(lián)的興趣度較小,則減小該時(shí)間窗的報(bào)警選擇數(shù)量,將select_numi減小CI;若Comax大于SeThreshmax,說(shuō)明Anew與時(shí)間窗Ti內(nèi)報(bào)警發(fā)生關(guān)聯(lián)的興趣度較大,則增大該時(shí)間窗的報(bào)警選擇數(shù)量,將select_numi增加CI。
算法1給出了基于有向滑動(dòng)時(shí)間窗的報(bào)警動(dòng)態(tài)選擇算法的偽碼描述。
算法1基于有向滑動(dòng)時(shí)間窗的報(bào)警動(dòng)態(tài)選擇算法ADSA_DSTW輸入:Alertnew,Rules輸出:SelectedAlerts(1) BEGIN(2) n=SetTWcount();(3) For i=1:n(4) selectNum [i]=si*(1-i-1)n(5) j=0;//(6) Comax =-1;(7) While(j<selectNum [i])&& (j<si)(8) a=randSelect();(9) Ctemp=caculateCorrelation (Alertnew,a);(10) If(Ctemp>Comax )(11) Comax =Ctemp;(12) End if(13) j=j(luò)+1;(14) If (j > selectNum[i]2 ) && (Comax<SeThreshmin )(15) selectNum [i] =selectNum [i]-SeThreshmin/Co max ;(16) End if(17) If(j==selectNum [i])&& (Comax >SeThreshmax )&& (j<si)(18) selectNum [i] =selectNum [i] +Comax/SeThresh max ;(19) Comax =0;(20) End if(21) End while(22) End for(23) End
其中,第 (2)-(6)行完成初始參數(shù)和初始報(bào)警選擇數(shù)量設(shè)置。第 (8)-(12)行記錄報(bào)警關(guān)聯(lián)過(guò)程中的最大關(guān)聯(lián)強(qiáng)度。第 (14)-(20)依據(jù)歷史報(bào)警關(guān)聯(lián)強(qiáng)度對(duì)報(bào)警選擇數(shù)量進(jìn)行動(dòng)態(tài)調(diào)整。
通過(guò)ADSA_DSTW 的動(dòng)態(tài)調(diào)整策略,歷史關(guān)聯(lián)強(qiáng)度較高的時(shí)間窗所分配的select_numi逐漸變大,相應(yīng)的報(bào)警抽取概率會(huì)逐漸提高。在時(shí)間窗內(nèi)報(bào)警數(shù)量較多的情況下,歷史關(guān)聯(lián)強(qiáng)度高、關(guān)聯(lián)趨向特征明顯的時(shí)間窗所分配的報(bào)警選擇數(shù)增加的也更快,而歷史關(guān)聯(lián)強(qiáng)度低、不相關(guān)趨向特征明顯的時(shí)間窗所分配的報(bào)警選擇數(shù)的下降則會(huì)迅速下降,從而使報(bào)警的選擇過(guò)程更具目的性,提高報(bào)警關(guān)聯(lián)的效率和準(zhǔn)確性。
為了驗(yàn)證本文提出的報(bào)警選擇算法對(duì)關(guān)聯(lián)分析性能的作用,本文在文獻(xiàn) [9]所提出的關(guān)聯(lián)分析方法的基礎(chǔ)上加載了ADSA_DSTW 算法,在LLDOS1.0數(shù)據(jù)集上分別測(cè)試了報(bào)警全選、隨機(jī)選擇和本文的ADSA_DSTW 對(duì)報(bào)警關(guān)聯(lián)執(zhí)行時(shí)間的影響。實(shí)驗(yàn)數(shù)據(jù)共分為8組,每組實(shí)驗(yàn)輸入的報(bào)警數(shù)分別為120、225、350、450、600、700、800、900,時(shí)間窗個(gè)數(shù)n=10。為了測(cè)試時(shí)間窗大小對(duì)執(zhí)行時(shí)間的影響,分別測(cè)試了8組報(bào)警數(shù)據(jù)在時(shí)間窗大小Wwidth=100s、Wwidth=200s和Wwidth=300s的運(yùn)行結(jié)果。
在實(shí)驗(yàn)中,為了測(cè)試報(bào)警選擇算法對(duì)關(guān)聯(lián)精度的影響,在測(cè)試結(jié)果對(duì)比分析過(guò)程中,采用文獻(xiàn) [10]提出的關(guān)聯(lián)分析結(jié)果評(píng)價(jià)指標(biāo):完備率CR (completeness rate)和有效率SR (soundness rate)。
定義2 完備率[10]:該指標(biāo)用于評(píng)價(jià)關(guān)聯(lián)方法的對(duì)關(guān)聯(lián)報(bào)警的發(fā)掘能力,是正確關(guān)聯(lián)的報(bào)警數(shù)與實(shí)際相關(guān)報(bào)警數(shù)的比率,計(jì)算方法如式 (7)所示
定義3 有效率[10]:該指標(biāo)用于評(píng)價(jià)關(guān)聯(lián)方法的正確性,是正確關(guān)聯(lián)的報(bào)警數(shù)與已建關(guān)聯(lián)總數(shù)的比率,計(jì)算方法如式 (8)所示
圖2給出了不同報(bào)警選擇方法在Wwidth=100s情況下的運(yùn)行時(shí)間對(duì)比。圖3給出了報(bào)警動(dòng)態(tài)選擇算法在Wwidth=100s、Wwidth=200s和Wwidth=300s情況下的運(yùn)行時(shí)間對(duì)比。圖4給出了報(bào)警動(dòng)態(tài)選擇算法在不同時(shí)間窗下的精度對(duì)比。
圖2 報(bào)警選擇實(shí)驗(yàn)結(jié)果 (窗口100s)
圖3 時(shí)間窗大小對(duì)運(yùn)行時(shí)間的影響
圖4 時(shí)間窗大小對(duì)關(guān)聯(lián)精度的影響
由圖2可以看出,報(bào)警全選方法的執(zhí)行時(shí)間幾乎呈指數(shù)曲線變化,而隨機(jī)選擇算法和ADSA_DSTW 算法的執(zhí)行時(shí)間明顯要低于報(bào)警全選的執(zhí)行時(shí)間。當(dāng)輸入報(bào)警的數(shù)量較少時(shí),隨機(jī)選擇算法和ADSA_DSTW 算法的執(zhí)行時(shí)間差別不大,隨著報(bào)警集中報(bào)警數(shù)量的增加,兩者在執(zhí)行時(shí)間上的差異逐漸擴(kuò)大,當(dāng)報(bào)警數(shù)量達(dá)到900時(shí),ADSA_DSTW 算法的測(cè)試組在執(zhí)行時(shí)間上比隨機(jī)選擇算法的測(cè)試組降低了13.93%,比全選測(cè)試組降低了63.41%。這是因?yàn)椋?dāng)時(shí)間窗內(nèi)報(bào)警數(shù)量較多時(shí),ADSA_DSTW 算法能夠基于歷史關(guān)聯(lián)概率對(duì)窗口內(nèi)的報(bào)警選擇次數(shù)進(jìn)行調(diào)整,將抽取概率快速傾斜向于歷史關(guān)聯(lián)強(qiáng)度高的時(shí)間窗,減少了新報(bào)警與無(wú)關(guān)窗口中報(bào)警的關(guān)聯(lián)運(yùn)算次數(shù),從而降低了整體報(bào)警關(guān)聯(lián)執(zhí)行過(guò)程的運(yùn)行時(shí)間。
圖3是不同時(shí)間窗大小情況下的運(yùn)行時(shí)間對(duì)比??梢钥闯?,時(shí)間窗的大小對(duì)報(bào)警關(guān)聯(lián)的執(zhí)行時(shí)間有一定影響,時(shí)間窗變大時(shí),運(yùn)行時(shí)間相應(yīng)變長(zhǎng)。這是因?yàn)椋翱谧兇髸r(shí),每個(gè)窗口中的報(bào)警數(shù)量增加,初始報(bào)警選擇數(shù)量分配時(shí)的基數(shù)變大,相應(yīng)的,通過(guò)報(bào)警選擇算法從每個(gè)時(shí)間窗內(nèi)平均選擇的報(bào)警數(shù)量增多,可以想象,當(dāng)報(bào)警窗口擴(kuò)大到整個(gè)歷史區(qū)間時(shí),初始的報(bào)警選擇數(shù)就是所有報(bào)警的數(shù)量,因此,窗口的擴(kuò)大會(huì)導(dǎo)致整個(gè)關(guān)聯(lián)執(zhí)行時(shí)間的增加。
圖4是不同時(shí)間窗大小情況下的有效率和完備率對(duì)比。可以看出,時(shí)間窗的大小對(duì)報(bào)警關(guān)聯(lián)的精度有一定影響,時(shí)間窗減小時(shí),關(guān)聯(lián)完備率相應(yīng)降低。這是因?yàn)?,窗口減小時(shí),每個(gè)窗口中的報(bào)警數(shù)量減少,初始報(bào)警選擇數(shù)量分配時(shí)的基數(shù)變小,相應(yīng)的,通過(guò)報(bào)警選擇算法從每個(gè)時(shí)間窗內(nèi)平均選擇的報(bào)警數(shù)量減少,報(bào)警選擇數(shù)量的減少必然會(huì)漏掉可能的報(bào)警關(guān)聯(lián)對(duì)。因此,窗口的減小會(huì)導(dǎo)致關(guān)聯(lián)完備率的下降。因此,在實(shí)際運(yùn)行過(guò)程中,通過(guò)調(diào)節(jié)窗口大小,可適應(yīng)對(duì)不同實(shí)時(shí)性和精度要求的應(yīng)用場(chǎng)景。對(duì)于一些對(duì)實(shí)時(shí)性要求較高的關(guān)聯(lián)分析場(chǎng)景,可以選擇相對(duì)較小的時(shí)間窗,以提高關(guān)聯(lián)效率;而對(duì)精度要求較高的關(guān)聯(lián)分析場(chǎng)景,則可以選擇較大的時(shí)間窗,以提高關(guān)聯(lián)精度。
針對(duì)現(xiàn)有報(bào)警選擇方法在實(shí)時(shí)性和精確性方面存在的不足,本文提出了一種基于有向滑動(dòng)時(shí)間窗的報(bào)警動(dòng)態(tài)選擇算法。該算法依據(jù)歷史關(guān)聯(lián)結(jié)果的趨向特征,調(diào)整每個(gè)時(shí)間窗內(nèi)報(bào)警抽取的概率,向歷史關(guān)聯(lián)強(qiáng)度高的時(shí)間窗分配更高的抽取概率,降低歷史關(guān)聯(lián)強(qiáng)度較低的時(shí)間窗的抽取概率,從而提高報(bào)警關(guān)聯(lián)的效率和準(zhǔn)確性。仿真結(jié)果表明,ADSA_DSTW 算法的運(yùn)行時(shí)間隨著時(shí)間窗的減小而減小,在運(yùn)行時(shí)間上遠(yuǎn)低于報(bào)警全選方法和隨機(jī)選擇方法;ADSA_DSTW 算法的完備率受時(shí)間窗大小的影響較大,隨著窗口的增大而增大,而有效率則保持相對(duì)穩(wěn)定。通過(guò)窗口大小調(diào)節(jié),ADSA_DSTW 算法與報(bào)警關(guān)聯(lián)分析方法相結(jié)合可適應(yīng)對(duì)不同實(shí)時(shí)性和精度要求的應(yīng)用場(chǎng)景。
[1]Peng L,Chen W,Xie D,et al.Dynamically real-time anomaly detection algorithm with immune negative selection [J].Appl Math,2013,7 (3):1157-1163.
[2]Chen S.Optimized multilevel immune learning algorithm in abnormal detection [J].Information Technology Journal,2013,12 (3):514-517.
[3]Suarez-Tangil G,Palomar E,Pastrana S,et al.Artificial immunity-based correlation system [C]//SECRYPT,2011:422-425.
[4]LIU J,LI Y,MENG J,et al.Intrusion detection system alerts fusion based on fuzzy comprehensive evaluation and immune evolution [J].Journal of Computational Information Systems,2013,9 (4):1509-1516.
[5]Kabiri P,Ghorbani A.A rule-based temporal alert correlation system [J].International Journal of Network Security,2007,5 (1):66-72.
[6]Ren H,Stakhanova N,Ghorbani A.An online adaptive approach to alert correlation [M].Detection of Intrusions and Malware,and Vulnerability Assessment,Springer Berlin Heidelberg,2010:153-172.
[7]Ahmadinejad H,Jalili S.Alert correlation using correlation probability estimation and time windows[C]//Proceedings of the International Conference on Computer Technology and Development,IEEE,2009:170-175.
[8]Bateni M,Baraani A.Time window management for alert correlation using context information and classification [J].International Journal of Computer Network &Information Security,2013,5 (11):9-16.
[9]Bateni M,Baraani A,Ghorbani A A.Using artificial immune system and fuzzy logic for alert correlation [J].Int J Netw Secur,2013,15 (1):160-174..
[10]Elshoush H T,Osman I M.Alert correlation in collaborative intelligent intrusion detection systems-a survey [J].Applied Soft Computing,2011,11 (7):4349-4365.