李方偉,孫 隨,朱 江,楊紹成
(重慶郵電大學(xué) 移動通信技術(shù)重慶市重點實驗室,重慶400065)
隨著科技的進步,網(wǎng)絡(luò)技術(shù)得到了快速的發(fā)展,但隨之而來的安全問題也愈發(fā)受到人們的重視,進而催生了多種多樣的安全技術(shù)如入侵檢測系統(tǒng) (intrusion detection system,IDS)、防火墻技術(shù)等。目前的安全防護措施往往僅從單一方面考慮系統(tǒng)的安全性,沒有考慮到各種措施之間的關(guān)聯(lián)性,缺乏對網(wǎng)絡(luò)安全的宏觀認識。
在這種背景下,網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)應(yīng)運而生。態(tài)勢評估是態(tài)勢感知的中間環(huán)節(jié),也是本文的主要研究內(nèi)容。自Endsley提出態(tài)勢感知,并由Bass等將態(tài)勢感知的概念引入網(wǎng)絡(luò)安全領(lǐng)域以來,態(tài)勢評估技術(shù)也得到了長足的發(fā)展[1]。國外的學(xué)者往往選擇從單一角度出發(fā)來獲取態(tài)勢要素,進而進行態(tài)勢評估。如Grubesic等[2]通過獲取網(wǎng)絡(luò)的資產(chǎn)脆弱信息來評估網(wǎng)絡(luò)的脆弱性態(tài)勢;Thonnard等[3]則通過honey net采集攻擊信息,通過攻擊報警日志來評估網(wǎng)絡(luò)的風(fēng)險狀況。而國內(nèi)的學(xué)者往往選擇從多個角度來綜合分析網(wǎng)絡(luò)安全狀況,如朱麗娜[4]、陳鋒等[5]以網(wǎng)絡(luò)報警信息為基礎(chǔ),結(jié)合提供的服務(wù)、主機的重要性及網(wǎng)絡(luò)系統(tǒng)結(jié)構(gòu),采用層次化的量化評估方法對網(wǎng)絡(luò)進行態(tài)勢評估。此外,通過借鑒其它學(xué)科的思想,例如李濤[6]通過生物學(xué)上的啟發(fā)而來的基于免疫的網(wǎng)絡(luò)風(fēng)險檢測方法,對后續(xù)的研究都有不可忽視的借鑒作用。
到現(xiàn)階段,由于目前連續(xù)運行的IDS報警量常常達到G 數(shù)量級,據(jù)統(tǒng)計,最多的時候有90%以上是無關(guān)報警[7],報警量大、不相關(guān)報警多,使安全管理員面對大量報警信息很難了解系統(tǒng)的安全威脅狀況,不能及時采取合適的響應(yīng)措施。為了對網(wǎng)絡(luò)安全進行態(tài)勢評估,筆者提出了一種基于隱馬爾可夫模型的網(wǎng)絡(luò)安全態(tài)勢評估方法。相比于現(xiàn)有的方法,本方法具有以下優(yōu)勢:①基于HMM 的態(tài)勢評估模型結(jié)構(gòu)簡單、計算量小,并且不受制于數(shù)據(jù)規(guī)模;②通過BW 算法進行優(yōu)化,提高模型參數(shù)與觀察值的對數(shù)似然值,使模型更符合數(shù)據(jù)源的特點;③能夠幫助網(wǎng)絡(luò)管理員從宏觀上掌握主機和網(wǎng)絡(luò)的安全變化趨勢,進而分析出攻擊者的活動規(guī)律,從而使整個網(wǎng)絡(luò)的安全性得到提高。
隱馬爾可夫模型 (hidden Markov model,HMM)是上世紀七十年代由Baum Welch等在Markov鏈的基礎(chǔ)上建立起來的。它是一種有效的統(tǒng)計分析模型,如今仍然在各個學(xué)科領(lǐng)域中發(fā)揮重要作用。
與傳統(tǒng)Markov鏈不同的是,我們得到的觀測事件與狀態(tài)之間往往并非完全一一對應(yīng),通常是由相應(yīng)的概率分布來描述他們之間的關(guān)系,所以它是一個雙重隨機過程。因此從觀察者的角度只能看到觀察值,不能看到Markov鏈所對應(yīng)的隱藏狀態(tài),只能由對應(yīng)的概率分布去推斷,故稱為“隱”Markov模型。
對于管理人員,他無法直觀地得到系統(tǒng)的安全狀態(tài),唯一可見的是得到的各種報警事件,也就是觀察符號,只有通過報警事件才能推斷出系統(tǒng)所處的安全狀態(tài)。而隱馬爾可夫模型本身的隱狀態(tài)以及觀察符號,則完全模擬了這一過程。所以網(wǎng)絡(luò)系統(tǒng)中,攻擊類型所產(chǎn)生的觀察符號和主機所處的安全狀態(tài),可按如下定義:
(1)N:Markov鏈的狀態(tài)數(shù)目,與主機的安全狀態(tài)相對應(yīng),假設(shè)一共有N 種不同的安全狀態(tài),則HMM 的隱狀態(tài)集合為S ={S1,…,SN}。隨著時間的變化,主機所處的安全狀態(tài)會轉(zhuǎn)移,記t時刻Markov鏈所處狀態(tài)為qt,則qt∈(S1,…,SN)。
(2)M:任意安全狀態(tài)可能的觀察值數(shù)目,對應(yīng)為觀測到的報警事件的種類,假設(shè)一共有M 種報警事件,則HMM 的觀察值集合為V ={V1,…,VM}。記t時刻觀察到的觀察值為Ot,其中Ot∈(V1,…,VM)。
(3)π:初始狀態(tài)概率矢量,對應(yīng)為初始時刻主機的安全狀態(tài)的概率分布。記π=(π1,…,πN),其中:πi=P(q1=Si),1≤i≤N,表示初始時刻處于狀態(tài)Si的概率為πi。


這樣,網(wǎng)絡(luò)安全模型可以記為:λ=(N,M,A,B,π),通常簡寫為λ=(A,B,π)。
至此,即完成對主機和網(wǎng)絡(luò)安全的HMM 描述。為了更精確地確定模型參數(shù),本文采用Baum-Welch (BW)算法進行參數(shù)估計,用來解決HMM 中的學(xué)習(xí)問題。計算輸出概率P(O|λ)則要解決評估問題,這可以通過 “前向-后向算法”來實現(xiàn)。
其中A,B,π通常由有經(jīng)驗的網(wǎng)絡(luò)管理人員人為賦值,而本文則在根據(jù)專家經(jīng)驗人為賦值的基礎(chǔ)上,用BW算法進行參數(shù)優(yōu)化。BW 算法的具體實現(xiàn)如下

參數(shù)λ=(A,B,π)的求取過程為:根據(jù)觀察值序列O和選取的初始模型λ=(A,B,π),由重估式 (1)、式 (2)、式 (3),求得一組新參數(shù),和,即得到一個新的模型,可以證明,即由重估公式得到的λ能比λ更好地表示觀察值序列O。那么重復(fù)這個過程,逐步改進模型參數(shù),直到收斂或達到預(yù)定精度要求,此時的即為所求模型參數(shù)[9]。
對于一個實際問題,是否能用HMM 解決的必要前提,是判斷該隨機過程是否具有Markov性質(zhì),即馬氏性檢驗,一般采用χ2統(tǒng)計量來檢驗由隱狀態(tài)序列構(gòu)成的Markov鏈[8]。設(shè)Markov鏈的隱狀態(tài)數(shù)目為N,不同隱狀態(tài)間的轉(zhuǎn)移頻數(shù)為fij,那么可得 “邊際概率”P·j,它表示轉(zhuǎn)移頻數(shù)的第j列累加之和除以各行累加和與各列累加和所得的值,即

當樣本足夠大時,統(tǒng)計量

服從自由度為(N-1)2的χ2分布。給定顯著性水平α,查表可得分位點((N-1)2)的值,計算后得統(tǒng)計量χ2的值,若χ2>((N-1)2),則可認為該序列符合馬氏性。
根據(jù)此方法和實驗數(shù)據(jù),已證實主機安全狀態(tài)轉(zhuǎn)移符合馬氏性,具體檢驗結(jié)果見文章實驗部分。
在建立了基于HMM 的網(wǎng)絡(luò)安全模型之后,我們可以對某一時刻的網(wǎng)絡(luò)安全狀態(tài)進行定性分析。但為了定量得出某時刻網(wǎng)絡(luò)的安全態(tài)勢值,在定性分析的基礎(chǔ)上進一步定量分析。可以先定義一個態(tài)勢權(quán)值向量C ={c1,c2,…,cn},該向量中的cn與網(wǎng)絡(luò)狀態(tài)向量S={S1,S2,…,Sn}中的Sn一一對應(yīng),表示對應(yīng)的隱狀態(tài)對網(wǎng)絡(luò)安全的影響程度。
網(wǎng)絡(luò)在一段時間內(nèi)檢測到一系列的攻擊,觀察符號為O ={o1,o2,…,oT},則t時刻主機的風(fēng)險態(tài)勢值可按下式計算

式中:N——隱狀態(tài)數(shù),ci——隱狀態(tài)si對應(yīng)的權(quán)值;γt(i)——在給定觀察值序列O 和模型參數(shù)λ的情況下,在t時刻處于si的概率,具體可由 “前向-后向算法”來計算[9]。定義前向變量αt(i)=P(O1O2…Ot,qt=si|λ)以及后向變量βt(i)=P(Ot+1Ot+2…OT,qT=si|λ),則γt(i)通過以下式 (7)計算

則主機的態(tài)勢計算式為

在得到網(wǎng)絡(luò)中所有主機的態(tài)勢值后,可以按照各主機資產(chǎn)的重要性設(shè)定權(quán)重,則網(wǎng)絡(luò)的風(fēng)險態(tài)勢值的計算公式為

其中,μh 為第h臺計算機的資產(chǎn)重要性權(quán)重,具體數(shù)值可以根據(jù)不同的網(wǎng)絡(luò)環(huán)境或需求進行設(shè)置。
至此,在完成了描述安全狀態(tài)的HMM,以及確定了態(tài)勢量化方法之后,可得到態(tài)勢評估總流程如圖1所示。

圖1 態(tài)勢評估流程
本文使用的數(shù)據(jù)來自于某網(wǎng)絡(luò)安全公司的防火墻日志。該日志一共提供了6天,合計868個報警事件。為了從時間上完整表達網(wǎng)絡(luò)的安全狀態(tài),本文選用了其中4個整天的數(shù)據(jù),即2013.11.04,00:00:00 至2013.11.07,23:59:59之間合計96 小時,共695 個報警事件作為實驗數(shù)據(jù)。
本實驗將695個報警事件一次性作為模型的輸入并進行參數(shù)學(xué)習(xí),用戶可根據(jù)實際需求,可采用:①全部輸入數(shù)據(jù)以注重其全局性;②或采用滑動窗口部分輸入數(shù)據(jù)以注重其實時性。因此本方法不受數(shù)據(jù)規(guī)模的限制。
為方便建立模型,本文根據(jù)Snort手冊[10],將觀測到的44種攻擊類型按照威脅程度的大小進行分類,共分為3類,由1、2、3表示低、中、高3 個等級的威脅程度,對應(yīng)HMM 的3種觀察值。表1是從該手冊中摘錄的一部分攻擊類別以及其對應(yīng)的威脅程度。

表1 snort手冊部分攻擊類型及威脅程度
安全狀態(tài)的數(shù)量多少直接決定了HMM 的復(fù)雜程度。過多的安全狀態(tài)不便于管理員對網(wǎng)絡(luò)狀態(tài)的理解,并且會降低模型的運算效率,所以在4.1中確定了3種觀察值后,綜合模型復(fù)雜度以及便于人理解等因素考慮,在此設(shè)定正常 (normal),被刺探 (probed),被攻擊 (attacked),被攻破 (compromised)4種安全狀態(tài)。這樣,本實驗的HMM具體可表示為:
(1)狀態(tài)空間:首先規(guī)定有4 種安全狀態(tài)——正常(normal),被刺探 (probed),被攻擊 (attacked),被攻破(compromised)。則狀態(tài)空間可表示為S={N,P,A,C}。
(2)觀察符號空間:本文根據(jù)Snort手冊,將觀測到的44種攻擊類型按照威脅程度的大小分為了3個等級,由低到高分別表示為1、2、3,可用V ={V1,V2,V3}來表示觀察符號空間。當然,用戶也可以根據(jù)所處網(wǎng)絡(luò)的具體情況,自行選擇攻擊的威脅等級和分類方法。


(5)初始狀態(tài)概率矢量:π={π1,π2,π3,π4}。表示初始時刻,主機處于某一狀態(tài)的概率。
為了方便對數(shù)據(jù)進行分析比較,本實驗選取了其中受攻擊最為嚴重的3臺主機,172.17.1.101,172.17.1.102,172.17.1.103進行單獨分析,并且將所有主機賦予相同的資產(chǎn)重要性權(quán)重。
此時,在確定N=4后,由Viterbi算法可以得到各主機安全狀態(tài)的最佳隱狀態(tài)序列[9],進而可得到狀態(tài)轉(zhuǎn)移頻數(shù)矩陣,并由式 (4)和式 (5)可得統(tǒng)計量(χ2)101=28.3463,(χ2)102=33.1987,(χ2)103=29.091,給定顯著性水平α=0.05,查表可得分位點(9)=26.296,3臺主機的卡方統(tǒng)計量均大于26.296,故滿足馬氏性。
根據(jù)專家經(jīng)驗,設(shè)置初始模型參數(shù)如下

在專家經(jīng)驗的基礎(chǔ)上,本文通過BW 算法對模型參數(shù)進行優(yōu)化。表2為主機172.17.1.101在BW 算法迭代過程中,模型參數(shù)的對數(shù)似然值LL的變化情況。

表2 主機172.17.1.101的參數(shù)似然值變化情況
優(yōu)化后主機的模型參數(shù)如下

通過對主機172.17.1.101優(yōu)化后的參數(shù)分析可初步得知:初始狀態(tài)分布π顯示初始狀態(tài)處于Attacked的概率收斂為1,通過查詢防火墻日志,發(fā)現(xiàn)11月04日記錄的第一條記錄為 “Windows系統(tǒng)下MSSQL Slammer蠕蟲攻擊”,屬于拒絕服務(wù)攻擊,因此初始狀態(tài)處于Attacked的概率為1符合實際情況。
表3為主機172.17.1.102在BW 算法迭代過程中,模型參數(shù)的對數(shù)似然值LL的變化情況。

表3 主機172.17.1.102的參數(shù)似然值變化情況
優(yōu)化后主機的模型參數(shù)如下

通過對主機172.17.1.102優(yōu)化后的參數(shù)分析可初步得知:初始狀態(tài)分布π顯示初始狀態(tài)處于Normal的概率收斂為1,通過查詢防火墻日志,發(fā)現(xiàn)11月04日記錄的第一條記錄為 “Windows系統(tǒng)遠程管理工具PcAnywhere會話啟動請求”,因此初始狀態(tài)處于Normal的概率為1 符合實際情況。
表4為主機172.17.1.103在BW 算法迭代過程中,模型參數(shù)的對數(shù)似然值LL的變化情況。

表4 主機172.17.1.103的參數(shù)似然值變化情況
優(yōu)化后主機的模型參數(shù)如下

通過對主機172.17.1.103優(yōu)化后的參數(shù)分析可初步得知:初始狀態(tài)分布π顯示初始狀態(tài)處于Normal的概率收斂為1,通過查詢防火墻日志,發(fā)現(xiàn)11月04日記錄的第一條記錄為空,因此初始狀態(tài)處于Normal的概率為1也符合實際情況。
綜上,可得到3 臺主機用BW 算法進行參數(shù)優(yōu)化時,迭代次數(shù)與模型參數(shù)的對數(shù)似然值曲線,如圖2所示。

圖2 3臺主機的模型參數(shù)似然值變化趨勢
由于優(yōu)化前的初始模型參數(shù)受專家經(jīng)驗的局限性,使得模型初始參數(shù)與觀察值的對數(shù)似然值很低,導(dǎo)致初始模型參數(shù)不能準確地通過已觀測到的攻擊推測其安全狀態(tài),并且隨著數(shù)據(jù)的增多,或者隱狀態(tài)數(shù)和觀察值種類的增加,人為設(shè)定模型參數(shù)將愈發(fā)不能滿足要求。經(jīng)BW 算法優(yōu)化后,模型參數(shù)與觀察值的對數(shù)似然值得到大幅提高。通過優(yōu)化的模型參數(shù),可以更加準確地描述攻擊類型與主機安全狀態(tài)的變化關(guān)系,使得我們的評估結(jié)果更加符合實際,效果更好。
此時設(shè)態(tài)勢權(quán)值向量為C =(0.1,0.4,0.7,1),表示處于Normal的態(tài)勢權(quán)值為0.1,處于Probed的態(tài)勢權(quán)值為0.4,處于Attack的態(tài)勢權(quán)值為0.7,處于Compromised的態(tài)勢權(quán)值為1。本文參考其它文獻的專家經(jīng)驗,并保留了實驗數(shù)據(jù)中攻擊次數(shù)的特點,所以以小時為單位統(tǒng)計態(tài)勢值的時候,同一種類的攻擊,其次數(shù)n 對應(yīng)的權(quán)值φt 按照φt=log10(10n)來計算,并將一小時內(nèi)的所有φt 加起來得到小時態(tài)勢值φh 。
匯總所有96小時的態(tài)勢值之后,便得到整個網(wǎng)絡(luò)和主機4天96小時共695個報警事件的安全態(tài)勢走勢圖。通過該圖能直觀地看到該時間段內(nèi)主機和網(wǎng)絡(luò)的安全變化趨勢,可供管理員參考分析,及時了解主機和網(wǎng)絡(luò)的安全動態(tài),以制定相應(yīng)對策。按小時加權(quán)后的網(wǎng)絡(luò)態(tài)勢如圖3所示。

圖3 4天96小時的網(wǎng)絡(luò)安全態(tài)勢
從圖3可直觀看出,第一天的態(tài)勢值較低,且曲線相對平穩(wěn),說明該時間段內(nèi)攻擊較少,網(wǎng)絡(luò)狀況相對安全。攻擊主要集中在后三天的中午11點左右到下午5點左右,從圖中可見該時間段內(nèi)的態(tài)勢值明顯高于其它時間段,說明該時間段內(nèi)網(wǎng)絡(luò)活動相對頻繁,網(wǎng)絡(luò)的安全受到威脅,需要重點注意;而其它時間段,特別是夜晚0 點到上午6點,晚上6點到晚上24點,曲線則基本平穩(wěn),說明該時間段內(nèi)網(wǎng)絡(luò)狀態(tài)相對安全。
而通過圖4也可以看出,3臺主機受到的攻擊主要集中在中午11點到下午5點時間段內(nèi)。通過求得4天里24小時的平均態(tài)勢值則進一步證實了這一點。

圖4 4天96小時的主機安全態(tài)勢
圖5和圖6分別為4天里24小時網(wǎng)絡(luò)和主機的平均態(tài)勢值的曲線圖。該圖進一步反映了中午11點至下午5點的時間段內(nèi),態(tài)勢值比其它時間段內(nèi)要高,也說明了該網(wǎng)絡(luò)攻擊尤其頻繁,需要管理員多加注意。而第四小時的態(tài)勢值突然變高主要是因為第二天的凌晨四點受到來自IP地址221.130.252.36的漏洞掃描攻擊并試圖獲取主機的管理員權(quán)限,但并沒有后續(xù)攻擊行為,所以應(yīng)視為獨立事件,對全局的規(guī)律性沒有太大影響。

圖5 24小時網(wǎng)絡(luò)平均態(tài)勢

圖6 24小時主機平均態(tài)勢
本文建立了基于隱馬爾科夫的態(tài)勢評估模型。該模型將處理后的防火墻報警事件、主機的安全狀態(tài)對應(yīng)為HMM 的觀察值和安全狀態(tài),將現(xiàn)實中網(wǎng)絡(luò)安全狀態(tài)的轉(zhuǎn)移準確地用HMM 進行描述。通過對模型參數(shù)的優(yōu)化和對已有數(shù)據(jù)進行的仿真,得到了量化的網(wǎng)絡(luò)安全態(tài)勢圖。實驗結(jié)果表明,該模型能有效地對網(wǎng)絡(luò)安全態(tài)勢進行定量評估,得到的安全態(tài)勢曲線也比較準確地反映了網(wǎng)絡(luò)的態(tài)勢安全變化規(guī)律,證明了該模型的應(yīng)用價值。另一方面,專家經(jīng)驗的采用一定程度上影響了評估結(jié)果的客觀性,所以避免主觀因素的影響將是下一階段的研究重點。
[1]Endsley MR.Designing for situation awareness:An approach to user-centered design [M].CRC Press,2012.
[2]Grubesic TH,Matisziw TC,Murray AT,et al.Comparative approaches for assessing network vulnerability [J].International Regional Science Review,2008,31 (1):88-112.
[3]Thonnard O,Dacier M.A framework for attack patterns’discovery in honeynet data [J].Digital Investigation,2008,5:S128-S139.
[4]ZHU Lina,ZHANG Zuochang,F(xiàn)ENG Li.Research on hierarchical network security threat situation assessment [J].Application Research of Computers,2011,28 (11):4303-4306 (in Chinese). [朱麗娜,張作昌,馮力.層次化網(wǎng)絡(luò)安全威脅態(tài)勢評估技術(shù)研究 [J].計算機應(yīng)用研究,2011,28(11):4303-4306.]
[5]CHEN Feng,LIU Dehui,ZHANG Yi,et al.A hierarchical evaluation approach for network security based on threat spread model[J].Journal of Computer Research and Development,2011,48 (6):945-954 (in Chinese).[陳鋒,劉德輝,張怡,等.基于威脅傳播模型的層次化網(wǎng)絡(luò)安全評估方法 [J].計算機研究與發(fā)展,2011,48 (6):945-954.]
[6]LI Tao.Computer viruses dynamic monitoring model based on immunity [J].Science in China Press,2009,39 (4):422-430(in Chinese). [李濤.基于免疫的計算機病毒動態(tài)檢測模型[J].中國科學(xué)F輯:信息科學(xué),2009,39 (4):422-430.]
[7]Steinberg LA,Wetstone ER,Belousov A,et al.Method and system for reducing false alarms in network fault management systems[P].US:7,318,178,2008-01-08.
[8]WEN Haibin,WANG Youguo.The application on some prediction with Markov Chain model[D].Nanjing:Nanjing University of Posts and Telecommunications,2012 (in Chinese).[溫海彬,王友國.馬爾可夫鏈預(yù)測模型及一些應(yīng)用 [D].南京:南京郵電大學(xué),2012.]
[9]Srivastava A,Kundu A,Sural S,et al.Credit card fraud detection using hidden Markov model[J].IEEE Transactions on Dependable and Secure Computing,2008,5 (1):37-48.
[10]Roesch M,Green C.Snort users manual[EB/OL].[2014-06-24].http://manual.snort.org/snort_manual.html.