吳建臺,劉光杰,劉偉偉,戴躍偉
(南京理工大學(xué)自動(dòng)化學(xué)院,江蘇 南京 210094)
網(wǎng)絡(luò)技術(shù)發(fā)展迅猛,在經(jīng)濟(jì)、社會(huì)中的作用日益突出,網(wǎng)絡(luò)空間安全的重要性不斷提高,也對網(wǎng)絡(luò)安全防御技術(shù)提出了更高的要求。傳統(tǒng)安全威脅檢測和防護(hù)技術(shù)從主機(jī)、網(wǎng)絡(luò)、資產(chǎn)等不同的角度出發(fā),發(fā)現(xiàn)網(wǎng)絡(luò)空間中的各類威脅,并在系統(tǒng)中生成各類報(bào)警和日志信息。在一個(gè)包含大量安全設(shè)備的系統(tǒng)中,每個(gè)安全設(shè)備產(chǎn)生的報(bào)警和日志信息經(jīng)過長時(shí)間的積累,產(chǎn)生很大的數(shù)據(jù)量。這些數(shù)據(jù)中具有真正與安全威脅有關(guān)的有價(jià)值的數(shù)據(jù),也存在著大量的無用或者誤報(bào)的信息,具備大數(shù)據(jù)的典型特點(diǎn)。如果不能很好地利用這些數(shù)據(jù),網(wǎng)絡(luò)管理員很難了解網(wǎng)絡(luò)的安全狀況,并作出科學(xué)有效的安全響應(yīng)。
很早,網(wǎng)絡(luò)空間安全領(lǐng)域的專家就意識到利用多源的安全相關(guān)信息來構(gòu)建網(wǎng)絡(luò)空間安全態(tài)勢信息,并將安全態(tài)勢感知作為實(shí)現(xiàn)網(wǎng)絡(luò)安全防御的一個(gè)重要的輔助決策手段。1999年,Bass[1]首次將指揮控制領(lǐng)域的態(tài)勢感知概念引入到網(wǎng)絡(luò)安全領(lǐng)域,并描述了網(wǎng)絡(luò)安全態(tài)勢感知可將傳統(tǒng)安全設(shè)備防火墻、入侵檢測系統(tǒng)、病毒檢測系統(tǒng)、日志系統(tǒng)提供的防護(hù)信息進(jìn)行融合分析,并理解、評估和預(yù)測網(wǎng)絡(luò)中發(fā)生的攻擊活動(dòng),為安全策略的制定和動(dòng)態(tài)調(diào)整提供決策支持,以減少因攻擊帶來的損失。近年來,隨著網(wǎng)絡(luò)空間安全防御相關(guān)技術(shù)的發(fā)展尤其是網(wǎng)絡(luò)安全大數(shù)據(jù)技術(shù)的發(fā)展,網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)已成為網(wǎng)絡(luò)安全領(lǐng)域研究和實(shí)踐的熱點(diǎn)。
當(dāng)前,學(xué)術(shù)界在網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)中涉及的安全態(tài)勢評估技術(shù)已經(jīng)開展了許多有價(jià)值的研究,其中一類研究是綜合考慮多種網(wǎng)絡(luò)安全相關(guān)的信息源,進(jìn)行信息融合計(jì)算來獲得關(guān)于態(tài)勢的綜合評價(jià)。陳秀真等[2]以IDS報(bào)警和網(wǎng)絡(luò)性能指標(biāo)為信息源,綜合考慮了主機(jī)、服務(wù)的重要性以及網(wǎng)絡(luò)系統(tǒng)的組織結(jié)構(gòu),提出了一種層次化網(wǎng)絡(luò)安全態(tài)勢量化評估模型及其計(jì)算方法,該方法在考慮了一定主觀因素的基礎(chǔ)上,對系統(tǒng)各部位和各環(huán)節(jié)的風(fēng)險(xiǎn)進(jìn)行累加計(jì)算。章麗娟等[3]構(gòu)建了一套能較全面反映網(wǎng)絡(luò)空間安全各要素的指標(biāo)體系,利用模糊層次分析法FuzzyAHP確定各指標(biāo)權(quán)重,通過加權(quán)得到當(dāng)前態(tài)勢值,該方法將專家知識反映在權(quán)重構(gòu)建過程中,沒有考慮如何利用數(shù)據(jù)中蘊(yùn)含的知識,仍然屬于傳統(tǒng)評估的方法論范疇。董博等[4]將貝葉斯網(wǎng)絡(luò)應(yīng)用到網(wǎng)絡(luò)安全評估問題中,但僅依據(jù)報(bào)警數(shù)據(jù)的分類結(jié)果來構(gòu)造網(wǎng)絡(luò)狀態(tài),未能進(jìn)一步給出量化的態(tài)勢值。張勇等[5]利用威脅傳播網(wǎng)絡(luò)構(gòu)建由威脅、管理員和普通用戶構(gòu)建的三方參與的博弈模型,并在模型中考慮管理員的安全加固方案,該模型關(guān)于網(wǎng)絡(luò)安全態(tài)勢驅(qū)動(dòng)的安全加固策略構(gòu)造方案在安全實(shí)踐中具有一定的指導(dǎo)意義,但其模型涉及的網(wǎng)絡(luò)狀態(tài)空間很大,對開展實(shí)時(shí)評估不利。
網(wǎng)絡(luò)攻擊驅(qū)動(dòng)的網(wǎng)絡(luò)安全態(tài)勢評估是安全態(tài)勢評估的另外一種流行的機(jī)制,其邏輯基礎(chǔ)是安全態(tài)勢的改變來源于對網(wǎng)絡(luò)攻擊行為的觀測,這一邏輯在模型描述方面剛好呼應(yīng)隱Markov模型(Hidden Markov Model,HMM),因此在方法論方面可直接使用HMM的已有結(jié)果。Arnes[6]首次提出基于HMM的網(wǎng)絡(luò)安全態(tài)勢評估方法,在操作層面中具體分析入侵檢測系統(tǒng)的報(bào)警信息,得到網(wǎng)絡(luò)報(bào)警信息與網(wǎng)絡(luò)安全態(tài)勢轉(zhuǎn)換概率。后續(xù)相關(guān)研究對該模型進(jìn)行了不斷的改進(jìn),如Haslum等[7]利用安全狀態(tài)的持續(xù)時(shí)間來確定狀態(tài)轉(zhuǎn)移矩陣;方研等[8]運(yùn)用HMM從攻擊威脅與自身風(fēng)險(xiǎn)出發(fā)進(jìn)行網(wǎng)絡(luò)安全態(tài)勢的評估,但其自身風(fēng)險(xiǎn)僅考慮了靜態(tài)數(shù)據(jù)的加權(quán),且觀測向量的確定也較為簡單,尚不能真實(shí)反映網(wǎng)絡(luò)攻防過程中的細(xì)節(jié)問題。席榮榮等[9]基于警報(bào)統(tǒng)計(jì)特性提出警報(bào)質(zhì)量的概念,以嘗試改善數(shù)據(jù)源的有效性和可用性。李偉明等[10]對入侵檢測系統(tǒng)的報(bào)警進(jìn)行了威脅評估,并以報(bào)警的威脅值作為HMM的輸入,進(jìn)一步改善了HMM在狀態(tài)觀測環(huán)節(jié)的數(shù)據(jù)質(zhì)量。但該方法不能反應(yīng)多步攻擊的遞進(jìn)關(guān)系,會(huì)出現(xiàn)當(dāng)系統(tǒng)未收到報(bào)警時(shí)導(dǎo)致安全態(tài)勢值為0的情況。當(dāng)前許多多步攻擊識別方法都以整體網(wǎng)絡(luò)為研究對象,如王澤芳[11]將無候選序列的最大序列模式引入到多步攻擊場景構(gòu)建,識別網(wǎng)絡(luò)攻擊場景,其雖然能把握網(wǎng)絡(luò)整體安全狀態(tài),卻缺乏對單個(gè)主機(jī)攻擊階段識別,無法得到單個(gè)主機(jī)的安全態(tài)勢。
在HMM的框架下開展網(wǎng)絡(luò)安全態(tài)勢的評估,依然是當(dāng)前該領(lǐng)域研究的一個(gè)熱點(diǎn)問題,其技術(shù)難點(diǎn)也在于如何提高HMM觀測層數(shù)據(jù)的可靠性。針對當(dāng)前HMM類態(tài)勢評估方法數(shù)據(jù)來源單一、入侵檢測系統(tǒng)存在大量重復(fù)報(bào)警和誤報(bào)問題,以及入侵檢測系統(tǒng)的報(bào)警不能體現(xiàn)多步攻擊的過程性等不足,本文提出一種基于關(guān)聯(lián)分析和HMM的網(wǎng)絡(luò)安全態(tài)勢評估方法,該方法從多步攻擊的角度出發(fā),充分挖掘報(bào)警之間的關(guān)聯(lián)性,結(jié)合資產(chǎn)信息、脆弱性等信息,識別每臺主機(jī)攻擊場景所處攻擊階段,確定其威脅值,提高數(shù)據(jù)源的有效性。
Endsley[12]從模型上將網(wǎng)絡(luò)安全態(tài)勢感知分解為態(tài)勢察覺、態(tài)勢理解及態(tài)勢投射3個(gè)階段,為網(wǎng)絡(luò)安全態(tài)勢感知提供了一種基本的方法架構(gòu)。本文在此基礎(chǔ)上,給出如圖1所示的基于關(guān)聯(lián)分析的網(wǎng)絡(luò)安全態(tài)勢評估模型。
圖1 網(wǎng)絡(luò)安全態(tài)勢評估框架
網(wǎng)絡(luò)安全態(tài)勢感知涉及的覺察、理解和投射這3個(gè)環(huán)境,在本文所提模型中分別對應(yīng)態(tài)勢要素提取、態(tài)勢理解和態(tài)勢評估,是一個(gè)將基本的關(guān)于網(wǎng)絡(luò)信息系統(tǒng)與網(wǎng)絡(luò)安全方面的靜動(dòng)態(tài)信息通過信息融合技術(shù)逐步加工生成網(wǎng)絡(luò)管理員可以理解和進(jìn)行決策的信息。這個(gè)過程是在態(tài)勢理解環(huán)節(jié)通過關(guān)聯(lián)分析實(shí)現(xiàn)對告警信息的聚類,并通過隱馬爾可夫模型來實(shí)現(xiàn)對態(tài)勢的評估和預(yù)測。
本文的網(wǎng)絡(luò)安全評估環(huán)境主要是典型的在安全域邊界部署了入侵檢測系統(tǒng)安全設(shè)備的場景,不涉及終端安全分析模塊、內(nèi)網(wǎng)數(shù)據(jù)分析模塊,以及服務(wù)器日志分析等部分。該場景主要用于說明攻擊告警的關(guān)聯(lián)分析對提高安全態(tài)勢感知準(zhǔn)確性方面的作用。利用更為豐富和復(fù)雜的態(tài)勢要素開展態(tài)勢感知技術(shù)的研究,需要利用更多的關(guān)于資源的認(rèn)知和關(guān)于威脅過程的理解和知識,進(jìn)行更為精細(xì)的告警與資產(chǎn)的關(guān)聯(lián),告警信息自身的聚合和面向不同的攻擊鏈的關(guān)聯(lián)。
因此,本文涉及的態(tài)勢要素主要包括資產(chǎn)信息、網(wǎng)絡(luò)攻擊告警信息和資產(chǎn)的漏洞信息。其中,資產(chǎn)信息可通過實(shí)施網(wǎng)絡(luò)安全態(tài)勢評估的對象自身的網(wǎng)絡(luò)設(shè)備、服務(wù)器和終端獲得靜態(tài)數(shù)據(jù),并結(jié)合網(wǎng)絡(luò)探測工具獲取設(shè)備運(yùn)行狀態(tài)的信息;網(wǎng)絡(luò)攻擊告警信息由運(yùn)行于各安全域邊界的網(wǎng)絡(luò)入侵檢測系統(tǒng)提供;漏洞信息利用漏洞掃描工具結(jié)合外部接入的漏洞數(shù)據(jù)庫情報(bào)信息得到。
態(tài)勢要素提取環(huán)節(jié)產(chǎn)生的各類型信息相互之間是孤立和分散的。利用這些孤立和分散的信息開展態(tài)勢的理解,需要開展數(shù)據(jù)的初級融合。本文采用的初級融合手段主要是面向主機(jī)的告警聚類以及面向攻擊模式的關(guān)聯(lián)分析。這個(gè)初級融合過程能夠?qū)⒐舾婢畔⑴c設(shè)備漏洞信息進(jìn)行關(guān)聯(lián)分析,并將多個(gè)告警對應(yīng)的單一具體攻擊事件進(jìn)行合并,在減少誤報(bào)影響的同時(shí),還可以提高觀測數(shù)據(jù)的有效性。
態(tài)勢的評估是利用得到的對網(wǎng)絡(luò)中資產(chǎn)當(dāng)前所處狀態(tài)的觀測和理解,給出量化的資產(chǎn)的態(tài)勢值,并進(jìn)一步綜合給出整個(gè)網(wǎng)絡(luò)的態(tài)勢值。態(tài)勢評估可以采用多源數(shù)據(jù)融合或多層次分析方法對觀測得到的結(jié)果進(jìn)行融合得到評估值,也可以利用統(tǒng)計(jì)學(xué)方法通過統(tǒng)計(jì)推斷的相關(guān)方法實(shí)現(xiàn)對態(tài)勢的評估。本文采用基于HMM的態(tài)勢評估方法,即將攻擊的威脅等級作為觀測值,將態(tài)勢作為隱含的需要評估的狀態(tài)值。
本文中考慮有N個(gè)計(jì)算機(jī)、服務(wù)器、網(wǎng)絡(luò)設(shè)施和其他辦公自動(dòng)化裝置組成的網(wǎng)絡(luò)系統(tǒng),該系統(tǒng)的網(wǎng)絡(luò)邊界部署了進(jìn)行入侵和其他威脅檢測的裝備。這里不考慮特殊的DMZ,將網(wǎng)絡(luò)中的計(jì)算機(jī)、服務(wù)器、網(wǎng)絡(luò)設(shè)施和其他具有IP地址的辦公自動(dòng)化裝置統(tǒng)稱為主機(jī)。系統(tǒng)管理員根據(jù)外部掌握的情報(bào)資源和對系統(tǒng)內(nèi)資源的掌握情況,了解每個(gè)系統(tǒng)內(nèi)資產(chǎn)的漏洞情況,并具備網(wǎng)絡(luò)攻擊的相關(guān)知識。威脅檢測裝置可以檢測到網(wǎng)絡(luò)中的各種威脅并以告警信息的形式進(jìn)行存儲,告警信息在機(jī)制上標(biāo)識了網(wǎng)絡(luò)攻擊的局部動(dòng)作。
定義1主機(jī)h用三元組(IP, oPorts, Vuls)進(jìn)行描述,其中IP為主機(jī)的IP地址,oPorts為主機(jī)開放的端口集合,對應(yīng)著主機(jī)h上開放的服務(wù),Vuls為主機(jī)漏洞或配置不當(dāng)列表。域中的主機(jī)h組成的集合記為H。
定義2脆弱性v用四元組(ID, vIPs, Info, T)進(jìn)行描述,其中ID為脆弱性標(biāo)識,vIPs為該脆弱性所在的主機(jī)IP的集合,Info為脆弱性描述信息,T為漏洞被發(fā)現(xiàn)或者紕漏的時(shí)間。主機(jī)集H中的所有主機(jī)中存在的脆弱性組成的集合記錄為V。
定義3告警信息a用七元組(ID, T, sIP, dIP, sPort, dPort, type)進(jìn)行描述,其中ID為告警a的系統(tǒng)編號,T為a的告警時(shí)間,sIP, dIP, sPort和dPort分別為告警a相關(guān)的實(shí)施攻擊和被攻擊主機(jī)的IP地址和端口,type為告警的類型。
定義4攻擊場景s可以用(ID, sTime, eTime, IP, State, R)進(jìn)行描述,其中ID為攻擊場景編號,sTime為該場景開始時(shí)間,eTime為最后一次更新該場景的時(shí)間,IP為攻擊場景針對的主機(jī)集H中主機(jī)的IP,State為該攻擊場景當(dāng)前所到達(dá)的攻擊階段,R為判定該狀態(tài)的可信度。
網(wǎng)絡(luò)入侵檢測系統(tǒng)通常根據(jù)規(guī)則對數(shù)據(jù)包或者數(shù)據(jù)流進(jìn)行告警,這些告警信息分散且龐雜,屬于初級的威脅信息,需要進(jìn)行后續(xù)的加工才能用于態(tài)勢感知。告警信息中最基礎(chǔ)的信息是告警的源和目的IP地址,揭示了攻擊事件發(fā)生的主體。
首先將告警信息按照其涉及的IP地址進(jìn)行聚合。對任意告警信息a,若其對應(yīng)的sIPa,dIPa均不包含主機(jī)集合H中的IP,則將其過濾,只保留資產(chǎn)相關(guān)告警信息(這個(gè)工作也可以直接在檢測器的流管理環(huán)節(jié)中進(jìn)行,即過濾掉非重要資產(chǎn)的待檢測的流)。由于同一個(gè)安全事件導(dǎo)致的告警時(shí)間間隔一般很小,因此為同一類的告警設(shè)置時(shí)間窗,當(dāng)新的告警時(shí)間戳與該類告警結(jié)束時(shí)間差超過時(shí)間窗,則將該告警歸為新的一類,本文將時(shí)間戳設(shè)置為1 min。告警信息的聚合采用經(jīng)驗(yàn)聚合法,即根據(jù)告警聚合的原則范式將相關(guān)的多條告警聚合成為攻擊事件。具體如下:
1)單源探測或掃描攻擊。
單目標(biāo)探測或掃描攻擊為觀測窗口內(nèi),對單個(gè)目標(biāo)的探測,對資產(chǎn)相關(guān)告警信息a=(IDa,Ta,sIPa,dIPa,sPorta,dPorta,typea)和告警信息b=(IDb,Tb,sIPb,dIPb,sPortb,dPortb,typeb),有(dIPa,dPorta)=(sIPb,sPortb)且(dIPb,dPortb)=(sIPa,sPorta),且typeb為typea的響應(yīng)類型。注意:單采用IP探測時(shí)Port域可能為空。
2)單源多端口掃描攻擊。
多目標(biāo)掃描攻擊為觀測窗口內(nèi),對目標(biāo)主機(jī)的多個(gè)端口的輪詢掃描。具體而言:對資產(chǎn)相關(guān)告警信息a=(IDa,Ta,sIPa,dIPa,sPorta,dPorta,typea)和告警信息b=(IDb,Tb,sIPb,dIPb,sPortb,dPortb,typeb),有(sIPa,dIPa)=(sIPb,dIPb)且dPortasPortb,且typeb和typea可歸結(jié)為一大類的掃描類型。
3)單源DOS攻擊。
單源單目標(biāo)DOS攻擊為觀測窗口內(nèi),對目標(biāo)主機(jī)特定端口的多類型的重復(fù)的拒絕服務(wù)攻擊,可以直接將多個(gè)觀測窗口內(nèi)的DOS攻擊直接聚合成一個(gè)更大起始時(shí)間內(nèi)的拒絕服務(wù)攻擊。
4)多源DOS攻擊。
多元單目標(biāo)DOS攻擊為觀測窗口內(nèi),對多個(gè)源IP對單個(gè)目標(biāo)的DOS攻擊,可以將同類型的時(shí)間同步的單目標(biāo)DOS攻擊歸并為多源單目標(biāo)DOS攻擊。
本文以Snort檢測到的對內(nèi)網(wǎng)某主機(jī)的IP探測為例說明上述告警聚合的過程。表1為某時(shí)段Snort檢測到的針對主機(jī)172.16.115.1的Ping行為,表2為根據(jù)上述原則的聚合結(jié)果。
表1 原始告警
AlertTypeSrcIPDestIPTimeUnusual PING202.77.162.213172.16.115.122:51ICMPPING202.77.162.213172.16.115.122:51PINGEcho172.16.115.1202.77.162.21322:51
表2 綜合報(bào)警
AttackTypeIP1IP2start/end_timeIPsweep172.16.115.1202.77.162.2122:51/22:51
本文以圖2所示的典型攻擊模式為例說明利用攻擊模式進(jìn)行態(tài)勢理解的方法。該攻擊模式描述的攻擊鏈條包含探測、掃描、獲取權(quán)限和達(dá)到目的這4個(gè)典型的環(huán)節(jié)。
圖2 典型攻擊模式
多步攻擊在時(shí)間上具有先后順序,若新的綜合告警的開始時(shí)間大于關(guān)聯(lián)告警的結(jié)束時(shí)間,則判斷不是同一攻擊場景;若時(shí)間上滿足先后順序,則對新的綜合告警與當(dāng)前所有攻擊場景中的最后一個(gè)綜合告警進(jìn)行關(guān)聯(lián)。此外設(shè)置攻擊場景超時(shí)時(shí)間,當(dāng)新的綜合報(bào)警開始時(shí)間與攻擊場景的結(jié)束時(shí)間差超過該時(shí)間,則認(rèn)為攻擊者入侵失敗,將該攻擊場景刪除,一般攻擊的周期大概為2 h[13]。設(shè)X和Y為2個(gè)經(jīng)過聚合的攻擊事件信息,采用文獻(xiàn)[13]中的關(guān)聯(lián)度計(jì)算公式(1)對攻擊事件X和Y進(jìn)行關(guān)聯(lián):
(1)
其中,A和B為告警信息聚合后的事件信息。Fk(A,B)和αk分別為事件A和B的屬性k的關(guān)聯(lián)度及其權(quán)重,本文抽取源IP地址、目的IP地址、源端口號、目的端口號這4個(gè)屬性,作為確定攻擊關(guān)聯(lián)度的依據(jù),具體參數(shù)參考文獻(xiàn)[14]。
將攻擊事件之間進(jìn)行關(guān)聯(lián)分析,具體流程如圖3所示。
圖3 關(guān)聯(lián)分析流程圖
新的報(bào)警到來后進(jìn)行報(bào)警聚合,聚合過程中產(chǎn)生許多綜合報(bào)警,若新的綜合報(bào)警與其所屬的綜合報(bào)警時(shí)間差超過60 s時(shí),將該綜合報(bào)警送到關(guān)聯(lián)模塊進(jìn)行關(guān)聯(lián)度的計(jì)算,否則根據(jù)該新的報(bào)警更新綜合報(bào)警信息,如綜合報(bào)警的結(jié)束時(shí)間等。同時(shí),定時(shí)器每隔1 min會(huì)將綜合報(bào)警送到關(guān)聯(lián)模塊進(jìn)行關(guān)聯(lián),送到關(guān)聯(lián)模塊的綜合報(bào)警需要判斷該報(bào)警所對應(yīng)的攻擊是否滿足攻擊成功條件,條件為其所依賴的端口和漏洞是否存在于已經(jīng)保存的主機(jī)的漏洞列表中,如不存在則認(rèn)為攻擊失敗,直接丟棄;對于滿足條件的計(jì)算其與各個(gè)綜合報(bào)警的關(guān)聯(lián)度,若與最大關(guān)聯(lián)度的綜合報(bào)警滿足時(shí)序關(guān)系,則更新該攻擊場景,否則建立新的攻擊場景。
本文將主機(jī)狀態(tài)分為4類,s1表示主機(jī)狀態(tài)完好,系統(tǒng)不存在安全威脅;s2表示主機(jī)狀態(tài)尚可,雖然存在漏洞但未發(fā)現(xiàn)針對漏洞的攻擊行為;s3表示主機(jī)安全狀態(tài)較差,存在漏洞且發(fā)現(xiàn)對漏洞的攻擊行為,但沒有發(fā)現(xiàn)后滲透的攻擊行為;s4表示主機(jī)安全狀態(tài)很差,漏洞已被利用,且后滲透攻擊行為也發(fā)現(xiàn),系統(tǒng)中的資產(chǎn)面臨嚴(yán)重威脅。
本文選擇攻擊場景威脅指數(shù)對應(yīng)的威脅等級作為觀測值,這種狀態(tài)定義形式可以使得判定為同一攻擊場景的網(wǎng)絡(luò)威脅不會(huì)出現(xiàn)因?yàn)槟扯螘r(shí)間未檢測到告警信息而態(tài)勢表達(dá)失效。
實(shí)際上,即使被攻擊主機(jī)中存在攻擊所依賴漏洞,攻擊也不一定成功,攻擊成功的概率與攻擊者利用該漏洞的能力及熟練度有關(guān),隨著漏洞公布的時(shí)間推移,攻擊者對該漏洞的利用越熟練,攻擊成功率越高,文獻(xiàn)[15]指出漏洞的利用成功率與時(shí)間符合Pareto分布,因此本文利用公式(2)計(jì)算單步攻擊成功概率:
(2)
其中,t為漏洞公開的時(shí)間,單位為d,α=0.26,k=0.00161。
多步攻擊成功概率由該多步攻擊所依賴的所有單步攻擊成功概率決定,只有當(dāng)所有單步攻擊都成功,其才能到達(dá)該階段,因此多步攻擊成功概率利用公式(3)計(jì)算:
Pi=∏pj, 1ji
(3)
其中,pj為實(shí)現(xiàn)攻擊所處第j個(gè)階段的多步攻擊所需的單步攻擊的攻擊成功概率,Pi為攻擊到達(dá)第i階段的概率。攻擊場景的攻擊階段越深入,多步攻擊成功概率越高,則攻擊場景對主機(jī)的威脅值越大。本文利用多步攻擊成功率P和攻擊所處階段權(quán)重W量化每一個(gè)攻擊場景的威脅指數(shù)Th,具體為:
(4)
若一臺主機(jī)同時(shí)存在多個(gè)攻擊場景,則選最大的威脅指數(shù)作為場景威脅指數(shù)。為了將觀測矩陣規(guī)模控制在較小范圍,本文將[0,1]平均劃分出4個(gè)范圍,分別為等級0、等級1、等級2和等級3。
上面定義了主機(jī)的4種狀態(tài),若能得到主機(jī)各個(gè)狀態(tài)的概率,結(jié)合威脅代價(jià)向量則可定量得到主機(jī)安全態(tài)勢。根據(jù)每個(gè)采樣周期獲得的觀測值與隱Markov參數(shù)可實(shí)時(shí)獲取主機(jī)t時(shí)刻狀態(tài)si的概率Pt(i),具體如式(5):
(5)
其中,前向概率αt(i)=P(O1,O2,…,Ot,qt=si|λ)表示在模型λ下,t時(shí)刻主機(jī)狀態(tài)為si,且觀測序列為O1,O2,…,Ot的概率,由公式(6)給出:
(6)
結(jié)合威脅代價(jià)向量C,根據(jù)公式(7)可得主機(jī)安全態(tài)勢值[6]:
(7)
假設(shè)攻擊場景集中存在l臺主機(jī)的攻擊場景,則l臺主機(jī)的安全態(tài)勢疊加即為網(wǎng)絡(luò)安全態(tài)勢。
(8)
本實(shí)驗(yàn)采用麻省理工學(xué)院林肯實(shí)驗(yàn)室(MIT Lincoln Laboratory)提供的DARPA2000的LLDoS1.0數(shù)據(jù)集,此數(shù)據(jù)集提供一個(gè)完整的DDoS攻擊場景網(wǎng)絡(luò)流量,整個(gè)攻擊分為5個(gè)攻擊階段。
階段1攻擊者(202.77.162.213)通過對172.16.112.0/24,172.16.113.0/24,172.16.114.0/24和172.16.115.0/24這4個(gè)網(wǎng)段進(jìn)行掃描,搜尋活躍主機(jī);
階段2針對存活的主機(jī)進(jìn)行Sadmind掃描,查詢主機(jī)是否運(yùn)行Sadmind服務(wù);
階段3利用運(yùn)行Sadmind服務(wù)的主機(jī)中的Sadmind Buffer Overflow漏洞最終獲取172.16.112.20,172.16.112.10,172.16.115.50這3臺Solaris主機(jī)的root權(quán)限;
階段4通過RSH服務(wù)在這3臺主機(jī)中安裝DDoS攻擊工具;
階段5利用3臺已安裝DDoS工具的主機(jī)對遠(yuǎn)程服務(wù)器發(fā)起DDoS攻擊。
根據(jù)數(shù)據(jù)集說明文檔,得到網(wǎng)絡(luò)的主機(jī)集、漏洞集,并重放該數(shù)據(jù)集的5個(gè)攻擊階段數(shù)據(jù)再現(xiàn)攻擊場景,利用Snort(版本2.9,規(guī)則為snortrules-snapshot-2990)檢測入侵,生成報(bào)警日志。由于數(shù)據(jù)集提供了受保護(hù)的網(wǎng)段,因此本文將Snort中HOME_NET屬性配置為[172.16.0.0/16]。
設(shè)定采樣周期為1 min,在每個(gè)采樣周期內(nèi)將聚合后的報(bào)警關(guān)聯(lián)分析、更新攻擊場景、得到攻擊場景威脅等級,作為觀測向量。
實(shí)驗(yàn)中5個(gè)階段的Snort原始報(bào)警數(shù)量與告警聚合得到綜合報(bào)警統(tǒng)計(jì)如表3所示,從表1中可以看出對原始報(bào)警預(yù)處理及聚合后最終生成的綜合報(bào)警數(shù)大幅減少,從而減少了關(guān)聯(lián)和更新攻擊場景的計(jì)算量。第5階段由于DDoS攻擊利用偽造的IP對外網(wǎng)發(fā)起攻擊,數(shù)據(jù)包的源和目的IP都不在Snort監(jiān)控的網(wǎng)段,因此沒有產(chǎn)生報(bào)警,而且在第3階段獲取root權(quán)限后安裝了DDoS攻擊工具,攻擊者已經(jīng)取得了對該主機(jī)的控制權(quán),且DDoS攻擊并不是本文研究的攻擊模式。
表3 原始報(bào)警及聚合后綜合報(bào)警數(shù)量統(tǒng)計(jì)
數(shù)據(jù)數(shù)據(jù)包Snort報(bào)警預(yù)處理后phase-1-dump785155218phase-2-dump14839118phase-3-dump5302056phase-4-dump526123phase-5-dump3421400
關(guān)聯(lián)分析得到的各個(gè)主機(jī)的攻擊場景如表4所示,從表4中可以發(fā)現(xiàn),攻擊者對4個(gè)網(wǎng)段探測后發(fā)現(xiàn)18臺存活主機(jī),之后對Sadmind服務(wù)端口掃描發(fā)現(xiàn)其中6臺運(yùn)行Sadmind服務(wù)的主機(jī),3臺包含Sadmind緩沖棧溢出漏洞(CEV-1999-0977),攻擊者獲取root權(quán)限,并完成了對主機(jī)的控制。
表4 網(wǎng)絡(luò)受攻擊主機(jī)的攻擊場景所到達(dá)的攻擊階段
主機(jī)IP探測端口入侵利用172.16.115.1√172.16.115.20√√√√172.16.115.87√172.16.114.2√172.16.114.10√√172.16.114.20√√172.16.114.30√√172.16.114.50√172.16.113.1√172.16.113.50√172.16.113.105√172.16.113.148√172.16.112.1√172.16.112.10√√√√172.16.112.50√√√√172.16.112.100√172.16.112.105√172.16.112.194√
態(tài)勢評估過程中,為了與文獻(xiàn)[9]中報(bào)警質(zhì)量最高的報(bào)警類型作為HMM輸入的方法比較,本文采用與其相同的隱馬爾科夫參數(shù)。由于文獻(xiàn)[9]中沒有區(qū)分各個(gè)主機(jī),為了比較2種方法生成的主機(jī)安全態(tài)勢,本文在每個(gè)采樣周期內(nèi)的報(bào)警質(zhì)量最高的報(bào)警類型針對的主機(jī)進(jìn)行了統(tǒng)計(jì),并最終得到采用該方法的每個(gè)主機(jī)安全態(tài)勢,與本文方法比較結(jié)果如圖4所示,其中方法1為文獻(xiàn)[9]中的利用報(bào)警質(zhì)量最高的報(bào)警類型作為觀測向量的方法。
圖4 172.16.112.10安全態(tài)勢
主機(jī)172.16.112.10受到了一個(gè)完整的攻擊,從圖4中可以看出,攻擊階段在2種方法上都有體現(xiàn),方法1在每個(gè)攻擊階段態(tài)勢都有上升和下降過程,導(dǎo)致態(tài)勢值下降的原因是采樣周期內(nèi)沒有針對該主機(jī)的報(bào)警。而從多步攻擊的角度來看,隨著攻擊的逐步深入,攻擊者的目的不斷實(shí)現(xiàn),態(tài)勢值應(yīng)該呈現(xiàn)不斷上升的趨勢,即使在攻擊過后的采樣周期中沒有產(chǎn)生報(bào)警,態(tài)勢值也不會(huì)出現(xiàn)下降狀況,因?yàn)橥{并沒有解除,比如在攻擊者獲取主機(jī)root權(quán)限后,主機(jī)的機(jī)密性遭到了嚴(yán)重的破壞,這個(gè)狀態(tài)應(yīng)該維持到到達(dá)時(shí)間閾值或者防御方針對該現(xiàn)象作出了應(yīng)對方法后,才會(huì)下降。因此,本文方法計(jì)算的態(tài)勢能很好地體現(xiàn)多步攻擊的特點(diǎn)。
圖5為本文方法獲取的平均網(wǎng)絡(luò)安全態(tài)勢與文獻(xiàn)[9]方法的對比圖,平均安全態(tài)勢ARn=Rn/l,其中,Rn為網(wǎng)絡(luò)整體安全態(tài)勢,為所有主機(jī)安全態(tài)勢的疊加,l為網(wǎng)絡(luò)中存在攻擊場景的主機(jī)數(shù),網(wǎng)絡(luò)平均安全態(tài)勢與主機(jī)安全態(tài)勢的分析結(jié)果類似。
圖5 網(wǎng)絡(luò)安全態(tài)勢
圖6為主機(jī)172.16.114.10的安全態(tài)勢對比圖,主機(jī)172.16.114.10中沒有Sadmind緩沖棧溢出漏洞(CEV-1999-0977),從圖6中可以看出方法1得出的結(jié)果在攻擊的第三階段仍有明顯的上升,本文方法的結(jié)果在該階段態(tài)勢沒有上升。原因是本文結(jié)合了背景知識,由于該主機(jī)在并不包含admind緩沖棧溢出漏洞,攻擊場景沒有更新到下一攻擊階段,符合實(shí)際情況,而方法1并沒有處理,因此本文得出的結(jié)果更為準(zhǔn)確。
圖6 172.16.114.10安全態(tài)勢
為了實(shí)時(shí)地評估當(dāng)前網(wǎng)絡(luò)安全態(tài)勢,針對目前大多數(shù)方法數(shù)據(jù)源單一和數(shù)據(jù)源信息準(zhǔn)確度不足的問題,本文利用告警信息聚合與攻擊關(guān)聯(lián)分析構(gòu)建基于攻擊模式的攻擊場景信息,并根據(jù)所處攻擊場景進(jìn)行主機(jī)威脅指數(shù)的計(jì)算,基于HMM進(jìn)行主機(jī)和網(wǎng)絡(luò)所處安全態(tài)勢的計(jì)算。實(shí)驗(yàn)結(jié)果表明本文方法能夠體現(xiàn)多步攻擊的特征,并準(zhǔn)確地反映主機(jī)和網(wǎng)絡(luò)的安全態(tài)勢。本文采用的攻擊模式為掃描-探測-滲透-利用4階段模式,針對其他類型的攻擊模式,可以進(jìn)行相應(yīng)地調(diào)整。另外,可以在本文工作的基礎(chǔ)上,進(jìn)一步探討態(tài)勢預(yù)測的問題。
參考文獻(xiàn):
[1] Bass T. Instrusion detection systems and multisensor data fusion:Creating cyberspace situational awareness[J]. Communications of the ACM, 2000,43(4):100-105.
[2] 陳秀真,鄭慶華,管曉宏,等. 層次化網(wǎng)絡(luò)安全態(tài)勢量化評估方法[J]. 軟件學(xué)報(bào), 2006,17(4):885-897.
[3] 章麗娟,王清賢.模糊層次分析法在網(wǎng)絡(luò)安全態(tài)勢評估中的應(yīng)用[J]. 計(jì)算機(jī)仿真, 2011,28(12):138-140.
[4] 董博,王雪. 基于變量分組貝葉斯網(wǎng)絡(luò)的安全態(tài)勢評估方法[J]. 微型機(jī)與應(yīng)用, 2016,35(7):60-62,66.
[5] 張勇,譚小彬,崔孝林,等. 基于Markov博弈模型的網(wǎng)絡(luò)安全態(tài)勢感知方法[J]. 軟件學(xué)報(bào), 2011,22(3):495-508.
[6] ?rnes A, Valeur F, Vigna G, et al. Using Hidden Markov Models to evaluate the risks of intrusions[J]. Lecture Notes in Computer Science, 2006,4219:145-164.
[7] Haslum K, Moe M E G, Knapskog S J. Real-time intrusion prevention and security analysis of networks using HMMs[C]// 2008 IEEE Conference on Local Computer Networks. 2009:927-934.
[8] 方研,殷肖川,孫益博. 基于隱馬爾科夫模型的網(wǎng)絡(luò)安全態(tài)勢評估[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2013,30(12):64-68.
[9] 席榮榮,云曉春,張永錚,等. 一種改進(jìn)的網(wǎng)絡(luò)安全態(tài)勢評估方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2015,38(4):749-758.
[10] 李明偉,雷杰,董靜,等. 一種優(yōu)化的實(shí)時(shí)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)量化方法[J]. 計(jì)算機(jī)學(xué)報(bào), 2009,32(4):793-804.
[11] 王澤芳,袁平,黃曉芳,等. 一種新的多步攻擊場景構(gòu)建技術(shù)研究[J]. 西南科技大學(xué)學(xué)報(bào), 2016,31(1):55-60.
[12] Endsley M R. Toward a theory of situation awareness in dynamic systems[J]. Journal of the Human Factors & Ergonomics Society, 1995,37(1):32-64.
[13] 楊豪璞,邱輝,王坤. 面向多步攻擊的網(wǎng)絡(luò)安全態(tài)勢評估方法[J]. 通信學(xué)報(bào), 2017,38(1):187-198.
[14] Kavousi F, Akbari B. Automatic learning of attack behavior patterns using Bayesian networks[C]// IEEE International Symposium on Telecommunications. 2013:999-1004.
[15] Frei S, May M, Fiedler U, et al. Large-scale vulnerability analysis[C]// Proceedings of 2006 SIGCOMM Workshop on Large-scale Attack Defense. 2006:131-138.