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


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

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

當樣本足夠大時,統計量

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

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

則主機的態勢計算式為

在得到網絡中所有主機的態勢值后,可以按照各主機資產的重要性設定權重,則網絡的風險態勢值的計算公式為

其中,μh 為第h臺計算機的資產重要性權重,具體數值可以根據不同的網絡環境或需求進行設置。
至此,在完成了描述安全狀態的HMM,以及確定了態勢量化方法之后,可得到態勢評估總流程如圖1所示。

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

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


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

在專家經驗的基礎上,本文通過BW 算法對模型參數進行優化。表2為主機172.17.1.101在BW 算法迭代過程中,模型參數的對數似然值LL的變化情況。

表2 主機172.17.1.101的參數似然值變化情況
優化后主機的模型參數如下

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

表3 主機172.17.1.102的參數似然值變化情況
優化后主機的模型參數如下

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

表4 主機172.17.1.103的參數似然值變化情況
優化后主機的模型參數如下

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

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

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

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

圖5 24小時網絡平均態勢

圖6 24小時主機平均態勢
本文建立了基于隱馬爾科夫的態勢評估模型。該模型將處理后的防火墻報警事件、主機的安全狀態對應為HMM 的觀察值和安全狀態,將現實中網絡安全狀態的轉移準確地用HMM 進行描述。通過對模型參數的優化和對已有數據進行的仿真,得到了量化的網絡安全態勢圖。實驗結果表明,該模型能有效地對網絡安全態勢進行定量評估,得到的安全態勢曲線也比較準確地反映了網絡的態勢安全變化規律,證明了該模型的應用價值。另一方面,專家經驗的采用一定程度上影響了評估結果的客觀性,所以避免主觀因素的影響將是下一階段的研究重點。
[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,FENG Li.Research on hierarchical network security threat situation assessment [J].Application Research of Computers,2011,28 (11):4303-4306 (in Chinese). [朱麗娜,張作昌,馮力.層次化網絡安全威脅態勢評估技術研究 [J].計算機應用研究,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).[陳鋒,劉德輝,張怡,等.基于威脅傳播模型的層次化網絡安全評估方法 [J].計算機研究與發展,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). [李濤.基于免疫的計算機病毒動態檢測模型[J].中國科學F輯:信息科學,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).[溫海彬,王友國.馬爾可夫鏈預測模型及一些應用 [D].南京:南京郵電大學,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.