王淳穎,張 馴,趙金雄,袁 暉,李方軍,趙 博,朱小琴,楊 凡,呂世超
(1.北京大學 軟件與微電子學院,北京 102600; 2.中國科學院信息工程研究所 物聯(lián)網(wǎng)信息安全技術北京市重點實驗室,北京 100093;3.國網(wǎng)甘肅省電力公司電力科學研究院,蘭州 730070; 4.國網(wǎng)甘肅省電力公司,蘭州 730030)
隨著互聯(lián)網(wǎng)的普及以及飛速發(fā)展,計算機網(wǎng)絡在造福人類生產(chǎn)生活的同時,也造成了網(wǎng)絡安全問題不斷升級惡化,網(wǎng)絡信息系統(tǒng)安全面臨嚴峻挑戰(zhàn),利用單一的安全設備來對網(wǎng)絡進行安全防護已經(jīng)遠遠無法滿足安全需求。為了應對在企業(yè)內(nèi)網(wǎng)和互聯(lián)網(wǎng)中潛在的安全威脅和隱蔽攻擊,越來越多的安全設備例如防火墻、入侵檢測系統(tǒng)(Intrusion Detection Systems, IDS)、入侵誘捕系統(tǒng)(簡稱蜜罐,Honeypot)和漏洞掃描系統(tǒng)等得以部署,共同構(gòu)建防御體系來進行網(wǎng)絡安全防護;然而,它們也產(chǎn)生了大量質(zhì)量低、誤警率高、重復率高的異構(gòu)告警信息,這導致通過分析多源告警信息來發(fā)現(xiàn)真正有威脅的攻擊事件變得十分困難,幾乎超越了人力處理的能力極限。此外,網(wǎng)絡攻擊者發(fā)起網(wǎng)絡攻擊的針對性越來越強,采用的攻擊手段也越來越復雜且隱蔽,一個攻擊事件中可能包含多個攻擊步驟,且不同的攻擊步驟可能由不同的攻擊者使用不同的主機實施,因此,設計出一種算法不僅能夠去除冗余無效告警數(shù)據(jù),且能夠發(fā)現(xiàn)隱藏在原始告警中的攻擊步驟,對于實現(xiàn)網(wǎng)絡安全態(tài)勢的深度感知,是非常有必要的。
針對告警數(shù)據(jù)量大、種類繁多的特點,本文選用數(shù)據(jù)挖掘中的序列模式分析方法來深入剖析攻擊事件。本文算法包括基于冗余性聚合告警以及基于序列模式關聯(lián)告警兩部分,在不依賴復雜專家知識和先驗經(jīng)驗的前提下,能夠做到有效精簡告警數(shù)量、準確聚類同一階段告警以及快速識別出攻擊者的攻擊模式。
本文結(jié)合當前已有的研究成果,將告警關聯(lián)方法大致分為基于屬性相似性、基于案例和基于序列三類。下面將分別對這三種關聯(lián)方法進行簡要介紹與分析。
大多數(shù)告警關聯(lián)是通過計算告警之間的屬性相似性來實現(xiàn)的?;趯傩韵嗨菩缘年P聯(lián)方法[1-2]根據(jù)專家知識來對告警信息之間源IP、目的IP以及時間戳等關鍵屬性相似性進行計算從而完成告警關聯(lián)。該方法實現(xiàn)簡單,但需要依賴專家經(jīng)驗以及對于相似性的計算公式,難以保證對于所有的攻擊事件均可以達到較好的關聯(lián)效果,且無法檢測告警之間的因果關系。
基于案例的關聯(lián)方式[3-4]則是通過搜索表示場景的案例庫,找出與待關聯(lián)的告警信息最相近的已知模板,來實現(xiàn)攻擊場景的匹配。案例庫中的模板一般依賴先驗知識和專家經(jīng)驗而設定的關聯(lián)語言來表達,也可以通過機器學習、數(shù)據(jù)挖掘等方法來得到。此方法的關鍵為確定場景的關鍵屬性,用來對于案例庫的訪問和搜索?;诎咐年P聯(lián)方法可以用于識別案例庫中已有的場景,也可以通過推理機制或?qū)<腋深A等途徑完成案例庫的更新。該方法的難點在于如何詳盡地列出全部攻擊場景的模板并構(gòu)建包含解決方法的數(shù)據(jù)庫,并且由于時間效率低,限制了它在告警關聯(lián)中的應用。
基于序列的關聯(lián)方法[5-9]則通過分析序列中告警信息之間的關系來實現(xiàn)告警關聯(lián),可以繼續(xù)細分為基于因果關系關聯(lián)[5]、基于攻擊圖關聯(lián)[6]、基于機器學習關聯(lián)[7-8]、基于數(shù)據(jù)挖掘關聯(lián)[9-11]等。
隨著數(shù)據(jù)挖掘技術的飛速發(fā)展,越來越多的研究者逐漸將其應用于告警關聯(lián)性研究之中。彭夢停等[9]采用Apriori算法實現(xiàn)關聯(lián)分析進而完成提取攻擊場景,李之棠等[10]、Bamasak等[11]則將序列模式挖掘應用于對告警信息的關聯(lián)分析中,但兩者所選用的方法均是基于Agrawal等[12]所提出的AprioriAll算法。作為Apriori類算法,AprioriAll存在著候選項集龐大,且需要多次掃描數(shù)據(jù)庫的固有缺陷,這在數(shù)據(jù)量級很大時對于算法效率的影響將是致命的。
因此在本文中,選用基于劃分的模式增長類算法PrefixSpan[13]來實現(xiàn)更加有效的序列模式挖掘,采用分而治之的思想從而避免了多次掃描數(shù)據(jù)庫的弊端。
PrefixSpan算法提出前綴子序列和后綴子序列的概念,主要思想是僅檢查各前綴子序列的頻繁性,并將其中的頻繁項投影得到對應的后綴子序列,并以此來構(gòu)建各前綴相關的投影數(shù)據(jù)庫。接著,僅在每個投影數(shù)據(jù)庫中,探索各自的頻繁序列來增長前綴,并繼續(xù)為增長后的各前綴序列構(gòu)建對應的投影數(shù)據(jù)集。如此反復迭代下去,來完成序列模式的增長,直至挖掘得到最大序列模式為止。由于對于原始數(shù)據(jù)庫的劃分方法簡單,且序列模式的挖掘過程是在規(guī)模不斷縮小的數(shù)據(jù)庫中完成的,因此PrefixSpan的挖掘效率得以顯著提升。
本章介紹本文算法涉及到的相關定義及攻擊模式挖掘流程。
首先介紹告警的相關定義。
告警(Alert) 由IDS或蜜罐等安全設備產(chǎn)生,是安全設備的輸出。
全局告警序列(Global Alert Sequence) 告警數(shù)據(jù)庫中所有告警按照發(fā)生時間排序,并將告警映射到各自對應的告警類型,由這些告警類型構(gòu)成的序列即為全局告警序列(Global Alert Sequence)。
超告警(Hyper Alert) 超告警由一組時間相近、屬性相似的告警組成。
事件(Event) 指違反安全原則(機密性、完整性與可用性)的超告警序列。
時間窗口(Time Window) 時間窗口的大小(Size)決定了告警具有相關性的最大時間間隔,時間窗口表示攻擊事件從開始到結(jié)束的時間跨度。設攻擊事件E=〈a1,a2,…,aN〉,a1、aN分別為由該攻擊事件所引發(fā)的第一條和最后一條告警,則該攻擊事件的時間窗口定義為W=aN.timestamp-a1.timestamp。對于?E以及a1,a2,…,ai,…,aN∈E,W需要滿足
ai.timestamp-a1.timestamp≤W,
aN+1.timestamp-a1.timestamp>W
即屬于同一攻擊事件中的告警的發(fā)生時間間隔應限制在時間窗口內(nèi)。通常,大多數(shù)攻擊均可以在一定時間內(nèi)完成。
由于本文涉及到數(shù)據(jù)挖掘中有關關聯(lián)規(guī)則和序列模式的研究,現(xiàn)給出如下定義。
項集(Itemset) 設I={i1,i2,…,iM}是一個由M個不同的元素組成的集合,那么該集合中的一個元素im(1≤m≤M)就稱為一個項(Item),而由若干項構(gòu)成的集合便稱為一個項集。項集中項的個數(shù)稱為項集的長度(Length),長度為k的項集稱為k-項集(k-Itemset)。
支持度(Support) 設項集i?I,則i在事務數(shù)據(jù)庫D中出現(xiàn)的次數(shù)即頻數(shù)稱為該項集的支持度計數(shù)(Support Count),而該項集i在D中出現(xiàn)的頻率則定義為i的支持度(Support)。
置信度(Confidence) 給定項集I1、I2,事務數(shù)據(jù)庫D,且滿足I1∩I2=?,則關聯(lián)規(guī)則R:I1?I2的置信度定義為關聯(lián)規(guī)則R的支持度與項集I1支持度的比值。
強關聯(lián)規(guī)則(Big Rules) 給定關于D的最小支持度閾值minsup與最小置信度閾值minconf,將同時滿足supportD(R)≥minsup、confidenceD(R)≥minconf的關聯(lián)規(guī)則稱為強關聯(lián)規(guī)則。
序列(Sequence) 序列是項集的有序列表,由若干有序的項集構(gòu)成。序列S可以用〈e1,e2,…,eN〉表示,其中si(1≤i≤N)為一個項集,也可以稱為一個元素(Element)。ei由若干項構(gòu)成,即ei={Ii1,Ii2,…,IiM}(1≤i≤N)。序列中項的個數(shù)稱為序列的長度,長度為k的序列稱為k-序列(k-Sequence)。
子序列(Subsequence) 設序列s=〈s1,s2,…,sN〉、序列t=〈t1,t2,…,tM〉,其中si(1≤i≤N)和ti(1≤i≤M)均為一個項集,若?i1 序列數(shù)據(jù)庫(Sequence Database) 由若干序列以及其對應標號構(gòu)成的集合,其中各記錄形如〈SID,Sequence〉。 序列支持度(Sequence Support) 序列s的支持度計數(shù)指在序列數(shù)據(jù)庫S中包含序列s的序列個數(shù),而該計數(shù)與序列數(shù)據(jù)集中序列的個數(shù)的比值則定義為序列s的支持度。 最大序列模式(Maximal Sequence Pattern) 給定關于序列數(shù)據(jù)庫S的最小支持度閾值minsup,若序列s滿足supportS(s)≥minsup,且不存在s?s′滿足supportS(s′)≥minsup,則稱序列s為最大序列模式。 對于不同種類的安全設備,其產(chǎn)生告警信息的格式也不盡相同,難以對其進行統(tǒng)一研究,因此首先需要對它們進行格式上的規(guī)范化處理。本文采用正則表達式,通過字符串匹配來從告警日志中提取有價值的屬性信息。每一條告警應具有以下字段:identifier、id、timestamp、alert_tpye、protocol_type、src、src_port、dst、dst_port。一條告警通過一個多元組來存儲上述信息,并將多元組存入數(shù)據(jù)庫來表示該告警?;诟靼踩O備時間同步的假設,對數(shù)據(jù)庫中的告警信息按照時間進行升序排列。其中:identifier指安全設備標識;id指告警標識;timestamp指告警生成時間;alert_tpye指告警類型;protocol_type指協(xié)議類型;src指攻擊源IP地址;src_port指攻擊源端口;dst指被攻擊目標IP地址;dst_port指被攻擊目標端口。圖1給出告警數(shù)據(jù)庫中部分告警的屬性信息。 圖1 告警數(shù)據(jù)庫中部分告警屬性信息Fig. 1 Attribute information of some alerts in database 原始告警數(shù)據(jù)中存在著大量冗余,其冗余性一般是由一個簡單攻擊事件或者一個復雜攻擊事件的某一個部分單次觸發(fā)多個安全設備或者多次觸發(fā)同一個安全設備所造成的。這些冗余告警會占據(jù)存儲空間,并且會影響處理效率,因此,本文對冗余告警數(shù)據(jù)進行提煉壓縮,從而減小處理數(shù)據(jù)的規(guī)模。告警信息的冗余關系體現(xiàn)在重復性、并發(fā)性以及反復性三方面,下面將分別對這三種冗余關系進行闡述說明。 通過研究發(fā)現(xiàn),在同一秒內(nèi)發(fā)生在相同攻擊源IP與攻擊目的IP之間的告警包括告警類型相同的重復告警和告警類型不同的并發(fā)告警。重復告警是由于攻擊者在極短的時間內(nèi)使用相同的手段但嘗試采用不同的參數(shù)進行同一類型的攻擊產(chǎn)生的,或同一攻擊的多個相同數(shù)據(jù)包觸發(fā)產(chǎn)生了多個相同告警;并發(fā)告警則是由于IDS使用多個相似的規(guī)則匹配到攻擊者采用的同一攻擊行為,或多個安全設備對同一攻擊行為進行檢測而觸發(fā)多個不同的告警。 超告警構(gòu)建過程分為告警片段分割以及超告警構(gòu)建兩個過程,前者輸出告警片段集合,其中每個片段均由重復告警以及并發(fā)告警構(gòu)成;后者則實現(xiàn)將每一個告警片段與每一個超告警相對應。在本文中,超告警信息由多元組(id,start,end,hyper_type,protocol_type,src,src_port,dst,dst_port,count)來進行描述,各字段分別代表超告警標識、開始時間、結(jié)束時間、超告警類型、協(xié)議類型、源IP地址、源端口、目的IP地址、目的端口以及包含告警數(shù)量。超告警的開始時間與結(jié)束時間分別取告警片段中最小以及最大時間戳,超告警類型與源端口、目的端口則分別取為告警片段中告警信息的非重復集合,超告警的count屬性則取為告警片段的長度。 反復告警則定義為時間連續(xù)、超告警類型、源IP、目的IP均相同的超告警。本文認為反復告警屬于同一攻擊行為,故將其合并,從而精簡告警數(shù)量。 通常情況下,研究者僅僅以告警類型為單位進行研究或者基于時間相似性實現(xiàn)聚合同一階段的告警,即聚合發(fā)生在給定的時間間隔內(nèi)的告警,認為其屬于同一攻擊步驟,但是僅基于時間聚合的準確性并不高,不對告警進行聚合則不符合實際?;谏鲜鍪聦?,本文提出攻擊階段的概念并基于關聯(lián)規(guī)則聚合同一階段的告警。常見的攻擊階段有:主機探測、漏洞探測與利用、用戶訪問、主動遠程探測等。從安全設備收集得到的告警信息通常直接體現(xiàn)告警類型,而后續(xù)攻擊模式的挖掘過程則需要以攻擊階段展開,因此需要構(gòu)建告警類型與攻擊階段的映射關系,使挖掘結(jié)果更加直觀、準確。該映射關系為多對多映射,其中一個攻擊階段可能包含多個告警類型,一個告警類型也可能映射到多個攻擊階段。 經(jīng)過前面三個步驟,已經(jīng)完成對同一攻擊階段的告警聚類。告警在數(shù)量上有所縮小,但得到的仍然是一個全局攻擊序列,并不符合進行序列模式挖掘的條件,因此,需要生成序列數(shù)據(jù)集。大多數(shù)研究者根據(jù)時間窗口來對全局告警序列進行劃分,得到候選序列集;但是,由于告警的發(fā)生時間是非均勻的,落在一個時間窗口內(nèi)的攻擊序列長度也不相等。然而隨著序列中元素個數(shù)的增長,序列模式挖掘算法的執(zhí)行時間呈指數(shù)增長的趨勢,因此,為了提升算法執(zhí)行效率,且基于完成對于同一攻擊階段告警的聚類,本文引入滑動窗口的概念,來代替時間窗口,窗口大小即一個攻擊事件中包含的最大攻擊階段數(shù)。根據(jù)滑動窗口大小對攻擊序列進行劃分,得到的候選攻擊序列集中元素的個數(shù)均相同。通常,攻擊者實施的攻擊事件不會包含過多步驟。在本文中,假設所有的多階段攻擊事件均在指定的最大階段閾值內(nèi)完成,并根據(jù)窗口大小完成將全局攻擊序列劃分為多個候選序列集,如圖2所示。候選攻擊序列的生成過程如下所述。 圖2 全局攻擊序列Fig. 2 Global attack sequence 當窗口大小為5時,生成的候選攻擊序列庫如表1所示。 表1 候選攻擊序列庫 Tab. 1 Candidate attack sequence database 為避免Apriori類序列模式挖掘算法產(chǎn)生大量候選告警序列集以及多次掃描數(shù)據(jù)庫而導致的算法效率低下,本文選用基于劃分的模式增長類算法PrefixSpan進行序列模式挖掘。由于PrefixSpan算法的主要開銷在于為每一個前綴構(gòu)建投影數(shù)據(jù)庫,基于此,本文提出以下兩點改進,進一步削減算法開銷以提升算法執(zhí)行效率。 1)在構(gòu)建投影數(shù)據(jù)庫時增加剪枝的步驟,將存在非頻繁項的后綴從投影數(shù)據(jù)集中刪除; 2)不再掃描投影序列數(shù)小于最小支持度的投影數(shù)據(jù)集。 基于PrefixSpan的最大攻擊模式(Prefixspan Maximal Attack Sequence Pattern,PMASP)的挖掘過程如算法1所示。 算法1 PMASP挖掘最大攻擊模式。 輸入:攻擊序列數(shù)據(jù)庫S,最小支持度minsup; 輸出:最大攻擊模式(Maximal Attack Sequence Pattern, MASP)。 算法開始: 1)當k=1時,掃描數(shù)據(jù)庫S生成序列模式L1;當k≥2時,掃描投影數(shù)據(jù)庫S|lk-1生成長度為k的k-序列模式Lk。 2)?lk∈Lk,構(gòu)建與lk對應的投影數(shù)據(jù)庫S|lk,并將其賦值給S。 3)若投影數(shù)據(jù)庫S|lk為空,或不存在支持度超過閾值minsup的投影,則將lk加入MASP,重復步驟2);否則,將滿足支持度的各投影與前綴進行合并,得到若干長度為k+1的前綴,重復步驟2)。 4)對于MASP中的序列模式進行子序列模式判斷,若ASP1、ASP2∈MASP滿足ASP1?ASP2,則將ASP1從MASP中刪除。 值得說明的是,對于候選攻擊序列s與t,兩者的包含關系s?t需滿足s1?t1,而非s1?ti1,這是由于使用滑動時間窗口時,相鄰的告警序列之間可能會出現(xiàn)重疊部分,會導致在計算子序列的支持度時,支持度計數(shù)大于實際結(jié)果。為避免該情況的發(fā)生,本文采用上述方式來定義攻擊序列之間的包含關系。 以上述攻擊序列數(shù)據(jù)庫為例,對于給定的最小支持度閾值minsup=0.2,挖掘得到的最大攻擊序列模式為〈{15934},{15935},{41186,12626,585},{43542},{15934}〉。 下面將通過實驗對本文算法進行測試和評估,驗證其可靠性及有效性。本文采用DARPA2000中的數(shù)據(jù)集LLDOS2.0.2[14]進行驗證。DARPA2000攻擊實驗的關鍵網(wǎng)絡環(huán)境拓撲如圖3所示,包括內(nèi)網(wǎng)(Inside)、外網(wǎng)(Outside)、隔離區(qū)(DeMilitarized Zone, DMZ)三個部分。DARPA2000數(shù)據(jù)集包括了分別從防火墻內(nèi)部與外部捕捉到的網(wǎng)絡數(shù)據(jù)包,本實驗采用Snort來分別還原由收集的報文inside.dump與DMZ.dump產(chǎn)生的告警,以此作為本文研究的多源告警數(shù)據(jù)來源。由于Snort提煉出每一種入侵行為的特征并按規(guī)范寫成規(guī)則形成規(guī)則庫,在檢測時將捕獲的數(shù)據(jù)包內(nèi)容與其規(guī)則庫中的入侵行為規(guī)則匹配而輸出相應的告警屬性信息,即已完成了告警信息格式的統(tǒng)一化,故可將輸出結(jié)果直接導入數(shù)據(jù)庫,構(gòu)建Inside與DMZ兩個告警庫。 圖3 DARPA2000實驗關鍵網(wǎng)絡環(huán)境拓撲Fig. 3 Topology of key network environment in DARPA2000 experiment LLDOS2.0.2數(shù)據(jù)集包含下述攻擊步驟: 1)攻擊者202.77.162.213通過DNS HINFO(Host INFOrmation)查詢主機的CPU類型和操作系統(tǒng)等信息來完成探測; 2)攻擊者刺探正在運行Sadmind遠程管理進程的Solaris主機,完成Sadmind Buffer Overflow攻擊; 3)攻擊者嘗試Telnet到主機172.16.115.20,獲得主機172.16.115.20的Root權限; 4)攻擊者采用FTP上傳在目標主機172.16.115.20上安裝代理攻擊軟件時,此行為屬于正常的FTP行為,IDS無法對其進行檢測; 5)以主機172.16.115.20作為跳板繼續(xù)滲透另一臺主機172.16.112.50; 6)跳板主機在主機172.16.112.50上安裝攻擊軟件; 7)攻擊者通過控制的兩臺主機172.16.115.20、172.16.112.50來對目標主機131.84.1.31發(fā)起DDoS攻擊。 若忽略攻擊源IP、目的IP等其他屬性,而僅以攻擊階段為對象進行研究,則整個攻擊過程可表示為圖4的形式。 圖4 LLDOS2.0.2數(shù)據(jù)集攻擊過程Fig. 4 Attack process of DARPA LLDOS2.0.2 dataset 下面將分別從告警的壓縮率以及聚類的準確性對算法性能進行評估。 表2記錄了數(shù)據(jù)集LLDOS2.0.2告警數(shù)量的變化過程。由表2可以看出,當完成合并重復告警、合并并發(fā)告警與合并反復告警三個階段后,告警的壓縮率達到97.34%,而對同一攻擊階段的告警進行聚合后,又實現(xiàn)了告警數(shù)量的精簡,總壓縮率達到98.34%。 表2 LLDOOS2.0.2告警數(shù)量變化過程 Tab. 2 Change process of the number of DARPA LLDOS2.0.2 alerts 而基于強關聯(lián)規(guī)則聚合告警的算法也使得對于告警的聚合更加準確。以告警的屬性條件(src,dst)=(′172.16.115.20′,′172.16.112.50′)對告警信息進行篩選,在給定最小閾值minsup=0.05與minconf=0.5的前提下,得到的同一階段告警的聚類結(jié)果為(19535) → (19534) → (41186,12626,585,2256,12628,1911) → (19534,43542),而如果僅基于時間相似性將告警聚合為超告警的研究結(jié)果則為(19535) → (19534) → (41186) → (12626) → (585) → (2256) → (12628) → (1911) → (19534) → (43542) → (19534)[7]。該方法雖然能夠得到完整的攻擊事件,但是直接將原始的告警類型作為攻擊階段進行研究,挖掘得到的攻擊序列模式長度大于實際攻擊行為步驟數(shù),結(jié)果不夠準確[15]。 根據(jù)本文設計的序列模式挖掘算法,得到的攻擊階段關聯(lián)結(jié)果如表3所示。以表3中第一組結(jié)果為例,告警類型15934、15935對應攻擊階段HINFO查詢,告警類型585、41186、12626對應運行Sadmind遠程進程的主機查詢,在HINFO查詢后,進行Sadmind查詢的可能性為79.31%。 表3 告警關聯(lián)結(jié)果 Tab. 3 Results of alert correlation 對于不同的支持度,挖掘得到的最大攻擊模式數(shù)量和模式的平均長度如表4所示。最大攻擊模式的長度均隨著支持度的增大而減小。 表4 窗口大小為10時不同支持度下的最大攻擊模式 Tab. 4 Maximum attack patterns under different support when sliding-window size is 10 其中,當支持度為0.05時挖掘得到的序列模式中包括〈{15935},{15934},{15935,15934},{585,41186,12626,2256,12628,1911},{15934},{43542},{718}〉,可較直觀地體現(xiàn)出進攻主線:〈DNS HINFO、Sadmind Request & Sadmind Overflow Attempt、DNS HINFO、Telnet Ping〉。 圖5則給出了基于改進PrefixSpan算法挖掘最大攻擊模式的執(zhí)行時間。由于采用長度固定的候選序列,因此算法有效性大幅度提升[15]。在支持度較小時,最大攻擊序列集中包含更多的攻擊模式,由此而產(chǎn)生的投影數(shù)據(jù)庫也較多,算法執(zhí)行時間較長。與傳統(tǒng)PrefixSpan算法相比,改進后的算法執(zhí)行效率有明顯的提升,特別是在構(gòu)建投影數(shù)據(jù)庫的開銷較大時,支持度0.01對應的挖掘效率提升了48.05%。 圖5 不同支持度下挖掘算法執(zhí)行效率對比Fig. 5 Comparison of mining efficiency between two algorithms under different support 通過實驗測試,本文設計的算法能夠消除冗余,有效精簡告警信息,通過引入強關聯(lián)規(guī)則判斷實現(xiàn)告警的準確聚類,本文提出的PrefixSpan改進算法減少了算法開銷,提高了序列挖掘的有效性,并可準確還原攻擊事件中攻擊者的攻擊手段。作為對于告警的關聯(lián)性分析,可將該算法應用于網(wǎng)絡態(tài)勢感知研究中。此外,本文設計的分析方法也有待改進之處,例如采用固定的滑動窗口大小難于適用所有攻擊場景,未做到實時關聯(lián)告警信息等。2.2 構(gòu)建原始告警數(shù)據(jù)庫
2.3 聚類同一階段告警
2.4 挖掘最大攻擊序列模式
3 實驗與性能評估
3.1 聚類攻擊階段性能評估
3.2 挖掘最大攻擊序列模式性能評估
4 結(jié)語