国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于多源告警的攻擊事件分析

2020-03-06 12:55:58王淳穎趙金雄李方軍朱小琴呂世超
計(jì)算機(jī)應(yīng)用 2020年1期
關(guān)鍵詞:項(xiàng)集攻擊者投影

王淳穎,張 馴,趙金雄,袁 暉,李方軍,趙 博,朱小琴,楊 凡,呂世超

(1.北京大學(xué) 軟件與微電子學(xué)院,北京 102600; 2.中國(guó)科學(xué)院信息工程研究所 物聯(lián)網(wǎng)信息安全技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室,北京 100093;3.國(guó)網(wǎng)甘肅省電力公司電力科學(xué)研究院,蘭州 730070; 4.國(guó)網(wǎng)甘肅省電力公司,蘭州 730030)

0 引言

隨著互聯(lián)網(wǎng)的普及以及飛速發(fā)展,計(jì)算機(jī)網(wǎng)絡(luò)在造福人類(lèi)生產(chǎn)生活的同時(shí),也造成了網(wǎng)絡(luò)安全問(wèn)題不斷升級(jí)惡化,網(wǎng)絡(luò)信息系統(tǒng)安全面臨嚴(yán)峻挑戰(zhàn),利用單一的安全設(shè)備來(lái)對(duì)網(wǎng)絡(luò)進(jìn)行安全防護(hù)已經(jīng)遠(yuǎn)遠(yuǎn)無(wú)法滿(mǎn)足安全需求。為了應(yīng)對(duì)在企業(yè)內(nèi)網(wǎng)和互聯(lián)網(wǎng)中潛在的安全威脅和隱蔽攻擊,越來(lái)越多的安全設(shè)備例如防火墻、入侵檢測(cè)系統(tǒng)(Intrusion Detection Systems, IDS)、入侵誘捕系統(tǒng)(簡(jiǎn)稱(chēng)蜜罐,Honeypot)和漏洞掃描系統(tǒng)等得以部署,共同構(gòu)建防御體系來(lái)進(jìn)行網(wǎng)絡(luò)安全防護(hù);然而,它們也產(chǎn)生了大量質(zhì)量低、誤警率高、重復(fù)率高的異構(gòu)告警信息,這導(dǎo)致通過(guò)分析多源告警信息來(lái)發(fā)現(xiàn)真正有威脅的攻擊事件變得十分困難,幾乎超越了人力處理的能力極限。此外,網(wǎng)絡(luò)攻擊者發(fā)起網(wǎng)絡(luò)攻擊的針對(duì)性越來(lái)越強(qiáng),采用的攻擊手段也越來(lái)越復(fù)雜且隱蔽,一個(gè)攻擊事件中可能包含多個(gè)攻擊步驟,且不同的攻擊步驟可能由不同的攻擊者使用不同的主機(jī)實(shí)施,因此,設(shè)計(jì)出一種算法不僅能夠去除冗余無(wú)效告警數(shù)據(jù),且能夠發(fā)現(xiàn)隱藏在原始告警中的攻擊步驟,對(duì)于實(shí)現(xiàn)網(wǎng)絡(luò)安全態(tài)勢(shì)的深度感知,是非常有必要的。

針對(duì)告警數(shù)據(jù)量大、種類(lèi)繁多的特點(diǎn),本文選用數(shù)據(jù)挖掘中的序列模式分析方法來(lái)深入剖析攻擊事件。本文算法包括基于冗余性聚合告警以及基于序列模式關(guān)聯(lián)告警兩部分,在不依賴(lài)復(fù)雜專(zhuān)家知識(shí)和先驗(yàn)經(jīng)驗(yàn)的前提下,能夠做到有效精簡(jiǎn)告警數(shù)量、準(zhǔn)確聚類(lèi)同一階段告警以及快速識(shí)別出攻擊者的攻擊模式。

1 相關(guān)工作

本文結(jié)合當(dāng)前已有的研究成果,將告警關(guān)聯(lián)方法大致分為基于屬性相似性、基于案例和基于序列三類(lèi)。下面將分別對(duì)這三種關(guān)聯(lián)方法進(jìn)行簡(jiǎn)要介紹與分析。

大多數(shù)告警關(guān)聯(lián)是通過(guò)計(jì)算告警之間的屬性相似性來(lái)實(shí)現(xiàn)的?;趯傩韵嗨菩缘年P(guān)聯(lián)方法[1-2]根據(jù)專(zhuān)家知識(shí)來(lái)對(duì)告警信息之間源IP、目的IP以及時(shí)間戳等關(guān)鍵屬性相似性進(jìn)行計(jì)算從而完成告警關(guān)聯(lián)。該方法實(shí)現(xiàn)簡(jiǎn)單,但需要依賴(lài)專(zhuān)家經(jīng)驗(yàn)以及對(duì)于相似性的計(jì)算公式,難以保證對(duì)于所有的攻擊事件均可以達(dá)到較好的關(guān)聯(lián)效果,且無(wú)法檢測(cè)告警之間的因果關(guān)系。

基于案例的關(guān)聯(lián)方式[3-4]則是通過(guò)搜索表示場(chǎng)景的案例庫(kù),找出與待關(guān)聯(lián)的告警信息最相近的已知模板,來(lái)實(shí)現(xiàn)攻擊場(chǎng)景的匹配。案例庫(kù)中的模板一般依賴(lài)先驗(yàn)知識(shí)和專(zhuān)家經(jīng)驗(yàn)而設(shè)定的關(guān)聯(lián)語(yǔ)言來(lái)表達(dá),也可以通過(guò)機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘等方法來(lái)得到。此方法的關(guān)鍵為確定場(chǎng)景的關(guān)鍵屬性,用來(lái)對(duì)于案例庫(kù)的訪(fǎng)問(wèn)和搜索?;诎咐年P(guān)聯(lián)方法可以用于識(shí)別案例庫(kù)中已有的場(chǎng)景,也可以通過(guò)推理機(jī)制或?qū)<腋深A(yù)等途徑完成案例庫(kù)的更新。該方法的難點(diǎn)在于如何詳盡地列出全部攻擊場(chǎng)景的模板并構(gòu)建包含解決方法的數(shù)據(jù)庫(kù),并且由于時(shí)間效率低,限制了它在告警關(guān)聯(lián)中的應(yīng)用。

基于序列的關(guān)聯(lián)方法[5-9]則通過(guò)分析序列中告警信息之間的關(guān)系來(lái)實(shí)現(xiàn)告警關(guān)聯(lián),可以繼續(xù)細(xì)分為基于因果關(guān)系關(guān)聯(lián)[5]、基于攻擊圖關(guān)聯(lián)[6]、基于機(jī)器學(xué)習(xí)關(guān)聯(lián)[7-8]、基于數(shù)據(jù)挖掘關(guān)聯(lián)[9-11]等。

隨著數(shù)據(jù)挖掘技術(shù)的飛速發(fā)展,越來(lái)越多的研究者逐漸將其應(yīng)用于告警關(guān)聯(lián)性研究之中。彭夢(mèng)停等[9]采用Apriori算法實(shí)現(xiàn)關(guān)聯(lián)分析進(jìn)而完成提取攻擊場(chǎng)景,李之棠等[10]、Bamasak等[11]則將序列模式挖掘應(yīng)用于對(duì)告警信息的關(guān)聯(lián)分析中,但兩者所選用的方法均是基于Agrawal等[12]所提出的AprioriAll算法。作為Apriori類(lèi)算法,AprioriAll存在著候選項(xiàng)集龐大,且需要多次掃描數(shù)據(jù)庫(kù)的固有缺陷,這在數(shù)據(jù)量級(jí)很大時(shí)對(duì)于算法效率的影響將是致命的。

因此在本文中,選用基于劃分的模式增長(zhǎng)類(lèi)算法PrefixSpan[13]來(lái)實(shí)現(xiàn)更加有效的序列模式挖掘,采用分而治之的思想從而避免了多次掃描數(shù)據(jù)庫(kù)的弊端。

PrefixSpan算法提出前綴子序列和后綴子序列的概念,主要思想是僅檢查各前綴子序列的頻繁性,并將其中的頻繁項(xiàng)投影得到對(duì)應(yīng)的后綴子序列,并以此來(lái)構(gòu)建各前綴相關(guān)的投影數(shù)據(jù)庫(kù)。接著,僅在每個(gè)投影數(shù)據(jù)庫(kù)中,探索各自的頻繁序列來(lái)增長(zhǎng)前綴,并繼續(xù)為增長(zhǎng)后的各前綴序列構(gòu)建對(duì)應(yīng)的投影數(shù)據(jù)集。如此反復(fù)迭代下去,來(lái)完成序列模式的增長(zhǎng),直至挖掘得到最大序列模式為止。由于對(duì)于原始數(shù)據(jù)庫(kù)的劃分方法簡(jiǎn)單,且序列模式的挖掘過(guò)程是在規(guī)模不斷縮小的數(shù)據(jù)庫(kù)中完成的,因此PrefixSpan的挖掘效率得以顯著提升。

2 算法設(shè)計(jì)

本章介紹本文算法涉及到的相關(guān)定義及攻擊模式挖掘流程。

2.1 相關(guān)概念

首先介紹告警的相關(guān)定義。

告警(Alert) 由IDS或蜜罐等安全設(shè)備產(chǎn)生,是安全設(shè)備的輸出。

全局告警序列(Global Alert Sequence) 告警數(shù)據(jù)庫(kù)中所有告警按照發(fā)生時(shí)間排序,并將告警映射到各自對(duì)應(yīng)的告警類(lèi)型,由這些告警類(lèi)型構(gòu)成的序列即為全局告警序列(Global Alert Sequence)。

超告警(Hyper Alert) 超告警由一組時(shí)間相近、屬性相似的告警組成。

事件(Event) 指違反安全原則(機(jī)密性、完整性與可用性)的超告警序列。

時(shí)間窗口(Time Window) 時(shí)間窗口的大小(Size)決定了告警具有相關(guān)性的最大時(shí)間間隔,時(shí)間窗口表示攻擊事件從開(kāi)始到結(jié)束的時(shí)間跨度。設(shè)攻擊事件E=〈a1,a2,…,aN〉,a1、aN分別為由該攻擊事件所引發(fā)的第一條和最后一條告警,則該攻擊事件的時(shí)間窗口定義為W=aN.timestamp-a1.timestamp。對(duì)于?E以及a1,a2,…,ai,…,aN∈E,W需要滿(mǎn)足

ai.timestamp-a1.timestamp≤W,

aN+1.timestamp-a1.timestamp>W

即屬于同一攻擊事件中的告警的發(fā)生時(shí)間間隔應(yīng)限制在時(shí)間窗口內(nèi)。通常,大多數(shù)攻擊均可以在一定時(shí)間內(nèi)完成。

由于本文涉及到數(shù)據(jù)挖掘中有關(guān)關(guān)聯(lián)規(guī)則和序列模式的研究,現(xiàn)給出如下定義。

項(xiàng)集(Itemset) 設(shè)I={i1,i2,…,iM}是一個(gè)由M個(gè)不同的元素組成的集合,那么該集合中的一個(gè)元素im(1≤m≤M)就稱(chēng)為一個(gè)項(xiàng)(Item),而由若干項(xiàng)構(gòu)成的集合便稱(chēng)為一個(gè)項(xiàng)集。項(xiàng)集中項(xiàng)的個(gè)數(shù)稱(chēng)為項(xiàng)集的長(zhǎng)度(Length),長(zhǎng)度為k的項(xiàng)集稱(chēng)為k-項(xiàng)集(k-Itemset)。

支持度(Support) 設(shè)項(xiàng)集i?I,則i在事務(wù)數(shù)據(jù)庫(kù)D中出現(xiàn)的次數(shù)即頻數(shù)稱(chēng)為該項(xiàng)集的支持度計(jì)數(shù)(Support Count),而該項(xiàng)集i在D中出現(xiàn)的頻率則定義為i的支持度(Support)。

置信度(Confidence) 給定項(xiàng)集I1、I2,事務(wù)數(shù)據(jù)庫(kù)D,且滿(mǎn)足I1∩I2=?,則關(guān)聯(lián)規(guī)則R:I1?I2的置信度定義為關(guān)聯(lián)規(guī)則R的支持度與項(xiàng)集I1支持度的比值。

強(qiáng)關(guān)聯(lián)規(guī)則(Big Rules) 給定關(guān)于D的最小支持度閾值minsup與最小置信度閾值minconf,將同時(shí)滿(mǎn)足supportD(R)≥minsup、confidenceD(R)≥minconf的關(guān)聯(lián)規(guī)則稱(chēng)為強(qiáng)關(guān)聯(lián)規(guī)則。

序列(Sequence) 序列是項(xiàng)集的有序列表,由若干有序的項(xiàng)集構(gòu)成。序列S可以用〈e1,e2,…,eN〉表示,其中si(1≤i≤N)為一個(gè)項(xiàng)集,也可以稱(chēng)為一個(gè)元素(Element)。ei由若干項(xiàng)構(gòu)成,即ei={Ii1,Ii2,…,IiM}(1≤i≤N)。序列中項(xiàng)的個(gè)數(shù)稱(chēng)為序列的長(zhǎng)度,長(zhǎng)度為k的序列稱(chēng)為k-序列(k-Sequence)。

子序列(Subsequence) 設(shè)序列s=〈s1,s2,…,sN〉、序列t=〈t1,t2,…,tM〉,其中si(1≤i≤N)和ti(1≤i≤M)均為一個(gè)項(xiàng)集,若?i1

序列數(shù)據(jù)庫(kù)(Sequence Database) 由若干序列以及其對(duì)應(yīng)標(biāo)號(hào)構(gòu)成的集合,其中各記錄形如〈SID,Sequence〉。

序列支持度(Sequence Support) 序列s的支持度計(jì)數(shù)指在序列數(shù)據(jù)庫(kù)S中包含序列s的序列個(gè)數(shù),而該計(jì)數(shù)與序列數(shù)據(jù)集中序列的個(gè)數(shù)的比值則定義為序列s的支持度。

最大序列模式(Maximal Sequence Pattern) 給定關(guān)于序列數(shù)據(jù)庫(kù)S的最小支持度閾值minsup,若序列s滿(mǎn)足supportS(s)≥minsup,且不存在s?s′滿(mǎn)足supportS(s′)≥minsup,則稱(chēng)序列s為最大序列模式。

2.2 構(gòu)建原始告警數(shù)據(jù)庫(kù)

對(duì)于不同種類(lèi)的安全設(shè)備,其產(chǎn)生告警信息的格式也不盡相同,難以對(duì)其進(jìn)行統(tǒng)一研究,因此首先需要對(duì)它們進(jìn)行格式上的規(guī)范化處理。本文采用正則表達(dá)式,通過(guò)字符串匹配來(lái)從告警日志中提取有價(jià)值的屬性信息。每一條告警應(yīng)具有以下字段:identifier、id、timestamp、alert_tpye、protocol_type、src、src_port、dst、dst_port。一條告警通過(guò)一個(gè)多元組來(lái)存儲(chǔ)上述信息,并將多元組存入數(shù)據(jù)庫(kù)來(lái)表示該告警?;诟靼踩O(shè)備時(shí)間同步的假設(shè),對(duì)數(shù)據(jù)庫(kù)中的告警信息按照時(shí)間進(jìn)行升序排列。其中:identifier指安全設(shè)備標(biāo)識(shí);id指告警標(biāo)識(shí);timestamp指告警生成時(shí)間;alert_tpye指告警類(lèi)型;protocol_type指協(xié)議類(lèi)型;src指攻擊源IP地址;src_port指攻擊源端口;dst指被攻擊目標(biāo)IP地址;dst_port指被攻擊目標(biāo)端口。圖1給出告警數(shù)據(jù)庫(kù)中部分告警的屬性信息。

圖1 告警數(shù)據(jù)庫(kù)中部分告警屬性信息Fig. 1 Attribute information of some alerts in database

2.3 聚類(lèi)同一階段告警

原始告警數(shù)據(jù)中存在著大量冗余,其冗余性一般是由一個(gè)簡(jiǎn)單攻擊事件或者一個(gè)復(fù)雜攻擊事件的某一個(gè)部分單次觸發(fā)多個(gè)安全設(shè)備或者多次觸發(fā)同一個(gè)安全設(shè)備所造成的。這些冗余告警會(huì)占據(jù)存儲(chǔ)空間,并且會(huì)影響處理效率,因此,本文對(duì)冗余告警數(shù)據(jù)進(jìn)行提煉壓縮,從而減小處理數(shù)據(jù)的規(guī)模。告警信息的冗余關(guān)系體現(xiàn)在重復(fù)性、并發(fā)性以及反復(fù)性三方面,下面將分別對(duì)這三種冗余關(guān)系進(jìn)行闡述說(shuō)明。

通過(guò)研究發(fā)現(xiàn),在同一秒內(nèi)發(fā)生在相同攻擊源IP與攻擊目的IP之間的告警包括告警類(lèi)型相同的重復(fù)告警和告警類(lèi)型不同的并發(fā)告警。重復(fù)告警是由于攻擊者在極短的時(shí)間內(nèi)使用相同的手段但嘗試采用不同的參數(shù)進(jìn)行同一類(lèi)型的攻擊產(chǎn)生的,或同一攻擊的多個(gè)相同數(shù)據(jù)包觸發(fā)產(chǎn)生了多個(gè)相同告警;并發(fā)告警則是由于IDS使用多個(gè)相似的規(guī)則匹配到攻擊者采用的同一攻擊行為,或多個(gè)安全設(shè)備對(duì)同一攻擊行為進(jìn)行檢測(cè)而觸發(fā)多個(gè)不同的告警。

超告警構(gòu)建過(guò)程分為告警片段分割以及超告警構(gòu)建兩個(gè)過(guò)程,前者輸出告警片段集合,其中每個(gè)片段均由重復(fù)告警以及并發(fā)告警構(gòu)成;后者則實(shí)現(xiàn)將每一個(gè)告警片段與每一個(gè)超告警相對(duì)應(yīng)。在本文中,超告警信息由多元組(id,start,end,hyper_type,protocol_type,src,src_port,dst,dst_port,count)來(lái)進(jìn)行描述,各字段分別代表超告警標(biāo)識(shí)、開(kāi)始時(shí)間、結(jié)束時(shí)間、超告警類(lèi)型、協(xié)議類(lèi)型、源IP地址、源端口、目的IP地址、目的端口以及包含告警數(shù)量。超告警的開(kāi)始時(shí)間與結(jié)束時(shí)間分別取告警片段中最小以及最大時(shí)間戳,超告警類(lèi)型與源端口、目的端口則分別取為告警片段中告警信息的非重復(fù)集合,超告警的count屬性則取為告警片段的長(zhǎng)度。

反復(fù)告警則定義為時(shí)間連續(xù)、超告警類(lèi)型、源IP、目的IP均相同的超告警。本文認(rèn)為反復(fù)告警屬于同一攻擊行為,故將其合并,從而精簡(jiǎn)告警數(shù)量。

通常情況下,研究者僅僅以告警類(lèi)型為單位進(jìn)行研究或者基于時(shí)間相似性實(shí)現(xiàn)聚合同一階段的告警,即聚合發(fā)生在給定的時(shí)間間隔內(nèi)的告警,認(rèn)為其屬于同一攻擊步驟,但是僅基于時(shí)間聚合的準(zhǔn)確性并不高,不對(duì)告警進(jìn)行聚合則不符合實(shí)際。基于上述事實(shí),本文提出攻擊階段的概念并基于關(guān)聯(lián)規(guī)則聚合同一階段的告警。常見(jiàn)的攻擊階段有:主機(jī)探測(cè)、漏洞探測(cè)與利用、用戶(hù)訪(fǎng)問(wèn)、主動(dòng)遠(yuǎn)程探測(cè)等。從安全設(shè)備收集得到的告警信息通常直接體現(xiàn)告警類(lèi)型,而后續(xù)攻擊模式的挖掘過(guò)程則需要以攻擊階段展開(kāi),因此需要構(gòu)建告警類(lèi)型與攻擊階段的映射關(guān)系,使挖掘結(jié)果更加直觀(guān)、準(zhǔn)確。該映射關(guān)系為多對(duì)多映射,其中一個(gè)攻擊階段可能包含多個(gè)告警類(lèi)型,一個(gè)告警類(lèi)型也可能映射到多個(gè)攻擊階段。

2.4 挖掘最大攻擊序列模式

經(jīng)過(guò)前面三個(gè)步驟,已經(jīng)完成對(duì)同一攻擊階段的告警聚類(lèi)。告警在數(shù)量上有所縮小,但得到的仍然是一個(gè)全局攻擊序列,并不符合進(jìn)行序列模式挖掘的條件,因此,需要生成序列數(shù)據(jù)集。大多數(shù)研究者根據(jù)時(shí)間窗口來(lái)對(duì)全局告警序列進(jìn)行劃分,得到候選序列集;但是,由于告警的發(fā)生時(shí)間是非均勻的,落在一個(gè)時(shí)間窗口內(nèi)的攻擊序列長(zhǎng)度也不相等。然而隨著序列中元素個(gè)數(shù)的增長(zhǎng),序列模式挖掘算法的執(zhí)行時(shí)間呈指數(shù)增長(zhǎng)的趨勢(shì),因此,為了提升算法執(zhí)行效率,且基于完成對(duì)于同一攻擊階段告警的聚類(lèi),本文引入滑動(dòng)窗口的概念,來(lái)代替時(shí)間窗口,窗口大小即一個(gè)攻擊事件中包含的最大攻擊階段數(shù)。根據(jù)滑動(dòng)窗口大小對(duì)攻擊序列進(jìn)行劃分,得到的候選攻擊序列集中元素的個(gè)數(shù)均相同。通常,攻擊者實(shí)施的攻擊事件不會(huì)包含過(guò)多步驟。在本文中,假設(shè)所有的多階段攻擊事件均在指定的最大階段閾值內(nèi)完成,并根據(jù)窗口大小完成將全局攻擊序列劃分為多個(gè)候選序列集,如圖2所示。候選攻擊序列的生成過(guò)程如下所述。

圖2 全局攻擊序列Fig. 2 Global attack sequence

當(dāng)窗口大小為5時(shí),生成的候選攻擊序列庫(kù)如表1所示。

表1 候選攻擊序列庫(kù) Tab. 1 Candidate attack sequence database

為避免Apriori類(lèi)序列模式挖掘算法產(chǎn)生大量候選告警序列集以及多次掃描數(shù)據(jù)庫(kù)而導(dǎo)致的算法效率低下,本文選用基于劃分的模式增長(zhǎng)類(lèi)算法PrefixSpan進(jìn)行序列模式挖掘。由于PrefixSpan算法的主要開(kāi)銷(xiāo)在于為每一個(gè)前綴構(gòu)建投影數(shù)據(jù)庫(kù),基于此,本文提出以下兩點(diǎn)改進(jìn),進(jìn)一步削減算法開(kāi)銷(xiāo)以提升算法執(zhí)行效率。

1)在構(gòu)建投影數(shù)據(jù)庫(kù)時(shí)增加剪枝的步驟,將存在非頻繁項(xiàng)的后綴從投影數(shù)據(jù)集中刪除;

2)不再掃描投影序列數(shù)小于最小支持度的投影數(shù)據(jù)集。

基于PrefixSpan的最大攻擊模式(Prefixspan Maximal Attack Sequence Pattern,PMASP)的挖掘過(guò)程如算法1所示。

算法1 PMASP挖掘最大攻擊模式。

輸入:攻擊序列數(shù)據(jù)庫(kù)S,最小支持度minsup;

輸出:最大攻擊模式(Maximal Attack Sequence Pattern, MASP)。

算法開(kāi)始:

1)當(dāng)k=1時(shí),掃描數(shù)據(jù)庫(kù)S生成序列模式L1;當(dāng)k≥2時(shí),掃描投影數(shù)據(jù)庫(kù)S|lk-1生成長(zhǎng)度為k的k-序列模式Lk。

2)?lk∈Lk,構(gòu)建與lk對(duì)應(yīng)的投影數(shù)據(jù)庫(kù)S|lk,并將其賦值給S。

3)若投影數(shù)據(jù)庫(kù)S|lk為空,或不存在支持度超過(guò)閾值minsup的投影,則將lk加入MASP,重復(fù)步驟2);否則,將滿(mǎn)足支持度的各投影與前綴進(jìn)行合并,得到若干長(zhǎng)度為k+1的前綴,重復(fù)步驟2)。

4)對(duì)于MASP中的序列模式進(jìn)行子序列模式判斷,若ASP1、ASP2∈MASP滿(mǎn)足ASP1?ASP2,則將ASP1從MASP中刪除。

值得說(shuō)明的是,對(duì)于候選攻擊序列s與t,兩者的包含關(guān)系s?t需滿(mǎn)足s1?t1,而非s1?ti1,這是由于使用滑動(dòng)時(shí)間窗口時(shí),相鄰的告警序列之間可能會(huì)出現(xiàn)重疊部分,會(huì)導(dǎo)致在計(jì)算子序列的支持度時(shí),支持度計(jì)數(shù)大于實(shí)際結(jié)果。為避免該情況的發(fā)生,本文采用上述方式來(lái)定義攻擊序列之間的包含關(guān)系。

以上述攻擊序列數(shù)據(jù)庫(kù)為例,對(duì)于給定的最小支持度閾值minsup=0.2,挖掘得到的最大攻擊序列模式為〈{15934},{15935},{41186,12626,585},{43542},{15934}〉。

3 實(shí)驗(yàn)與性能評(píng)估

下面將通過(guò)實(shí)驗(yàn)對(duì)本文算法進(jìn)行測(cè)試和評(píng)估,驗(yàn)證其可靠性及有效性。本文采用DARPA2000中的數(shù)據(jù)集LLDOS2.0.2[14]進(jìn)行驗(yàn)證。DARPA2000攻擊實(shí)驗(yàn)的關(guān)鍵網(wǎng)絡(luò)環(huán)境拓?fù)淙鐖D3所示,包括內(nèi)網(wǎng)(Inside)、外網(wǎng)(Outside)、隔離區(qū)(DeMilitarized Zone, DMZ)三個(gè)部分。DARPA2000數(shù)據(jù)集包括了分別從防火墻內(nèi)部與外部捕捉到的網(wǎng)絡(luò)數(shù)據(jù)包,本實(shí)驗(yàn)采用Snort來(lái)分別還原由收集的報(bào)文inside.dump與DMZ.dump產(chǎn)生的告警,以此作為本文研究的多源告警數(shù)據(jù)來(lái)源。由于Snort提煉出每一種入侵行為的特征并按規(guī)范寫(xiě)成規(guī)則形成規(guī)則庫(kù),在檢測(cè)時(shí)將捕獲的數(shù)據(jù)包內(nèi)容與其規(guī)則庫(kù)中的入侵行為規(guī)則匹配而輸出相應(yīng)的告警屬性信息,即已完成了告警信息格式的統(tǒng)一化,故可將輸出結(jié)果直接導(dǎo)入數(shù)據(jù)庫(kù),構(gòu)建Inside與DMZ兩個(gè)告警庫(kù)。

圖3 DARPA2000實(shí)驗(yàn)關(guān)鍵網(wǎng)絡(luò)環(huán)境拓?fù)銯ig. 3 Topology of key network environment in DARPA2000 experiment

LLDOS2.0.2數(shù)據(jù)集包含下述攻擊步驟:

1)攻擊者202.77.162.213通過(guò)DNS HINFO(Host INFOrmation)查詢(xún)主機(jī)的CPU類(lèi)型和操作系統(tǒng)等信息來(lái)完成探測(cè);

2)攻擊者刺探正在運(yùn)行Sadmind遠(yuǎn)程管理進(jìn)程的Solaris主機(jī),完成Sadmind Buffer Overflow攻擊;

3)攻擊者嘗試Telnet到主機(jī)172.16.115.20,獲得主機(jī)172.16.115.20的Root權(quán)限;

4)攻擊者采用FTP上傳在目標(biāo)主機(jī)172.16.115.20上安裝代理攻擊軟件時(shí),此行為屬于正常的FTP行為,IDS無(wú)法對(duì)其進(jìn)行檢測(cè);

5)以主機(jī)172.16.115.20作為跳板繼續(xù)滲透另一臺(tái)主機(jī)172.16.112.50;

6)跳板主機(jī)在主機(jī)172.16.112.50上安裝攻擊軟件;

7)攻擊者通過(guò)控制的兩臺(tái)主機(jī)172.16.115.20、172.16.112.50來(lái)對(duì)目標(biāo)主機(jī)131.84.1.31發(fā)起DDoS攻擊。

若忽略攻擊源IP、目的IP等其他屬性,而僅以攻擊階段為對(duì)象進(jìn)行研究,則整個(gè)攻擊過(guò)程可表示為圖4的形式。

圖4 LLDOS2.0.2數(shù)據(jù)集攻擊過(guò)程Fig. 4 Attack process of DARPA LLDOS2.0.2 dataset

3.1 聚類(lèi)攻擊階段性能評(píng)估

下面將分別從告警的壓縮率以及聚類(lèi)的準(zhǔn)確性對(duì)算法性能進(jìn)行評(píng)估。

表2記錄了數(shù)據(jù)集LLDOS2.0.2告警數(shù)量的變化過(guò)程。由表2可以看出,當(dāng)完成合并重復(fù)告警、合并并發(fā)告警與合并反復(fù)告警三個(gè)階段后,告警的壓縮率達(dá)到97.34%,而對(duì)同一攻擊階段的告警進(jìn)行聚合后,又實(shí)現(xiàn)了告警數(shù)量的精簡(jiǎn),總壓縮率達(dá)到98.34%。

表2 LLDOOS2.0.2告警數(shù)量變化過(guò)程 Tab. 2 Change process of the number of DARPA LLDOS2.0.2 alerts

而基于強(qiáng)關(guān)聯(lián)規(guī)則聚合告警的算法也使得對(duì)于告警的聚合更加準(zhǔn)確。以告警的屬性條件(src,dst)=(′172.16.115.20′,′172.16.112.50′)對(duì)告警信息進(jìn)行篩選,在給定最小閾值minsup=0.05與minconf=0.5的前提下,得到的同一階段告警的聚類(lèi)結(jié)果為(19535) → (19534) → (41186,12626,585,2256,12628,1911) → (19534,43542),而如果僅基于時(shí)間相似性將告警聚合為超告警的研究結(jié)果則為(19535) → (19534) → (41186) → (12626) → (585) → (2256) → (12628) → (1911) → (19534) → (43542) → (19534)[7]。該方法雖然能夠得到完整的攻擊事件,但是直接將原始的告警類(lèi)型作為攻擊階段進(jìn)行研究,挖掘得到的攻擊序列模式長(zhǎng)度大于實(shí)際攻擊行為步驟數(shù),結(jié)果不夠準(zhǔn)確[15]。

3.2 挖掘最大攻擊序列模式性能評(píng)估

根據(jù)本文設(shè)計(jì)的序列模式挖掘算法,得到的攻擊階段關(guān)聯(lián)結(jié)果如表3所示。以表3中第一組結(jié)果為例,告警類(lèi)型15934、15935對(duì)應(yīng)攻擊階段HINFO查詢(xún),告警類(lèi)型585、41186、12626對(duì)應(yīng)運(yùn)行Sadmind遠(yuǎn)程進(jìn)程的主機(jī)查詢(xún),在HINFO查詢(xún)后,進(jìn)行Sadmind查詢(xún)的可能性為79.31%。

表3 告警關(guān)聯(lián)結(jié)果 Tab. 3 Results of alert correlation

對(duì)于不同的支持度,挖掘得到的最大攻擊模式數(shù)量和模式的平均長(zhǎng)度如表4所示。最大攻擊模式的長(zhǎng)度均隨著支持度的增大而減小。

表4 窗口大小為10時(shí)不同支持度下的最大攻擊模式 Tab. 4 Maximum attack patterns under different support when sliding-window size is 10

其中,當(dāng)支持度為0.05時(shí)挖掘得到的序列模式中包括〈{15935},{15934},{15935,15934},{585,41186,12626,2256,12628,1911},{15934},{43542},{718}〉,可較直觀(guān)地體現(xiàn)出進(jìn)攻主線(xiàn):〈DNS HINFO、Sadmind Request & Sadmind Overflow Attempt、DNS HINFO、Telnet Ping〉。

圖5則給出了基于改進(jìn)PrefixSpan算法挖掘最大攻擊模式的執(zhí)行時(shí)間。由于采用長(zhǎng)度固定的候選序列,因此算法有效性大幅度提升[15]。在支持度較小時(shí),最大攻擊序列集中包含更多的攻擊模式,由此而產(chǎn)生的投影數(shù)據(jù)庫(kù)也較多,算法執(zhí)行時(shí)間較長(zhǎng)。與傳統(tǒng)PrefixSpan算法相比,改進(jìn)后的算法執(zhí)行效率有明顯的提升,特別是在構(gòu)建投影數(shù)據(jù)庫(kù)的開(kāi)銷(xiāo)較大時(shí),支持度0.01對(duì)應(yīng)的挖掘效率提升了48.05%。

圖5 不同支持度下挖掘算法執(zhí)行效率對(duì)比Fig. 5 Comparison of mining efficiency between two algorithms under different support

4 結(jié)語(yǔ)

通過(guò)實(shí)驗(yàn)測(cè)試,本文設(shè)計(jì)的算法能夠消除冗余,有效精簡(jiǎn)告警信息,通過(guò)引入強(qiáng)關(guān)聯(lián)規(guī)則判斷實(shí)現(xiàn)告警的準(zhǔn)確聚類(lèi),本文提出的PrefixSpan改進(jìn)算法減少了算法開(kāi)銷(xiāo),提高了序列挖掘的有效性,并可準(zhǔn)確還原攻擊事件中攻擊者的攻擊手段。作為對(duì)于告警的關(guān)聯(lián)性分析,可將該算法應(yīng)用于網(wǎng)絡(luò)態(tài)勢(shì)感知研究中。此外,本文設(shè)計(jì)的分析方法也有待改進(jìn)之處,例如采用固定的滑動(dòng)窗口大小難于適用所有攻擊場(chǎng)景,未做到實(shí)時(shí)關(guān)聯(lián)告警信息等。

猜你喜歡
項(xiàng)集攻擊者投影
基于微分博弈的追逃問(wèn)題最優(yōu)策略設(shè)計(jì)
解變分不等式的一種二次投影算法
基于最大相關(guān)熵的簇稀疏仿射投影算法
找投影
找投影
正面迎接批判
愛(ài)你(2018年16期)2018-06-21 03:28:44
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
卷宗(2014年5期)2014-07-15 07:47:08
一種頻繁核心項(xiàng)集的快速挖掘算法
一種新的改進(jìn)Apriori算法*
阆中市| 永福县| 庆阳市| 元谋县| 克什克腾旗| 山阳县| 视频| 昭觉县| 淮阳县| 吐鲁番市| 普定县| 长乐市| 肥东县| 成安县| 固镇县| 庆云县| 莎车县| 土默特右旗| 嘉禾县| 枣强县| 朔州市| 胶州市| 奉新县| 南京市| 满城县| 太原市| 出国| 项城市| 呼玛县| 志丹县| 沂源县| 门源| 衡东县| 泾源县| 高州市| 湖州市| 德保县| 砚山县| 晴隆县| 仙桃市| 胶州市|