耿 寧
(河北師范大學數學與信息科學學院,河北石家莊050024)
隨著計算機網絡的應用普及,愈加復雜的網絡攻擊不斷出現,攻擊的危害性不斷增強。為了確保安全,人們通常會使用入侵檢測系統(IDS)等安全措施,但傳統的IDS只能檢測已知的攻擊行為,不能識別攻擊者的攻擊意圖,所以用戶會希望根據當前與自身的網絡安全狀況,進一步預知可能要發生的攻擊,識別其攻擊意圖并進行攻擊預警[1]。Ming Yuh Huang在1999年研究網絡入侵檢測時,首次將攻擊意圖作為一個單獨的因素來考慮,他提出的網絡攻擊的主動防御技術是當前網絡安全領域的一個熱點,本文也從攻擊意圖角度出發,對復合攻擊預測進行研究。
HMM適合應用在與時間序列有關的問題上[2],已廣泛應用于DNA識別、語音識別、分子生物學等領域,近年來逐漸應用到網絡復合攻擊預測中[3]。HMM模型就是描述觀察值與隱藏狀態關系的模型。首先有個有限狀態集合S=(S1,S2,…,SN),t時刻的狀態為qt,狀態是被隱藏的,且狀態之間可以不同的概率轉換,組成狀態轉移矩陣A,定義為ɑij=P[qt+1=Sj||qt=Si],1≤i,j≤N,然后每個狀態又可以不同的概率表現出不同的觀察值,組成觀察矩陣B,定義為bj(k)=P[Ok||qt=Sj],其中,1≤j≤N;1≤k≤T,O={O1,O2,…,OT}為觀察值集合,在初始時刻,各個狀態具備不同的初始概率,定義為Pi=P[q1=Si],1≤i≤N。則λ=(A,B,P)可表示一個隱馬爾科夫模型。
HMM應用于復合攻擊預測中,要求系統可以用得到的觀察值(報警信息)來挖掘出隱藏在其背后的的真實狀態(即攻擊意圖),需要首先將原始報警信息進行處理,然后用攻擊行為概率分布、關聯規則法確定初始狀態矩陣、狀態轉移矩陣和觀察矩陣。模型中的Baumwelch算法可訓練模型中的參數,本文中又引入粒子群算法進行參全局優化。最后用HMM模型中的Forward算法識別攻擊場景;Viterbi算法挖掘攻擊意圖并預測下一步攻擊。
原始報警信息具有很多屬性,其中很多為冗余屬性,因此要對其進行事件關聯語義分析,對原始報警信息進行格式統一,定義為:Org Aler(ID,Type,Source-IP,Destination-IP,Start/End-Time),處理后的信息格式為:MiniAlert(ID,ID,Type,Source-IP,Destina-tion-IP,Start/End-Time,Count)。處理時把除了ID屬性和起始終止時間屬性不同,其他屬性相同的信息視為重復報警,合并為一個報警。再基于DDos攻擊考慮將原始地址不同,目的地址相同的報警信息,合并為一個報警信息,如表1、表2。

表1 原始報警信息

表2 處理后的信息
狀態之間的互相轉換組成狀態轉移矩陣A,ɑij=P[qt+1=Sj||qt=Si]表示從i狀態到j狀態的轉移概率。而關聯規則是記錄在網絡攻擊數據庫中各個攻擊之間的依賴關系,如IPSweep→PortScan表示攻擊者進行攻擊時先進行了IPSweep然后進行了PortScan。瀏覽路徑預測很成功地應用了關聯規則[4],借鑒其思想也可應用到攻擊預測中。在復合攻擊中任意兩個攻擊步驟intenti,intentj間的轉移概率 P(intenti,intentj)可由下面的公式計算:

用上述關聯規則算法,挖掘出攻擊意圖間的關聯規則,就可計算出任意兩個攻擊意圖間的轉移概率ɑij,則得到狀態轉移概率矩陣A。
對于觀察矩陣中各個狀態產生的不同觀察值概率的確定,在此用統計的方法來確定觀察矩陣的值,假設有n個攻擊事務集T={t1,...,tn},m個攻擊意圖Q={intent1,...intentm},某intentj上的報警信息集 A-lert={Alert1,...Alertt}。第i個攻擊事物為:ti=(ti[1],...ti[f]),ti攻擊事物中的每一個分量組成攻擊意圖的集合:intent={ti[1],...ti[f]},攻擊者達到其意圖j后,產生報警信息Alert,其中Alert∈{A-lert1,...Alertt}的概率為:

式中,Sij,Alert={intent|intent∈Sij,intent產生報警信息Alert}表示在集合Sij中產生報警信息Alert的攻擊意圖的集合,經過上述計算,可確定觀察值產生概率矩陣B。
由于HMM模型本身的Baum-Welch算法會使參數收斂于局部極值。而PSO算法是一種隨機搜索算法,它可以在搜索空間進行全局性的搜索,因此比爬山式算法更有可能找到全局最優解。在粒子群優化算法中,每個個體被稱為一個粒子。則N個粒子就組成的一個群體,每個粒子i是一個m維的向量xi(i=1,2,…,N),第i個粒子的移動速度也是一個m維的向量,記為vi(i=1,2,…,N)。f(x)為待優化的目標函數,粒子群的優化過程可描述為:

式中,w為慣性因子;c1和c2稱為加速系數;c1和c2是介于[0,1]之間的隨機數;pi(t)(i=1,2,…N)即第i個粒子在t時刻搜索到的最優位置,代表此時的極值,pg(t)為整個粒子群迄今為止搜索到的最優位置(全局極值)。在PSO-HMM算法的HMM參數優化中,每一個粒子對應一個HMM,粒子在每一次迭代進化后都運行Baum-welch算法對粒子進行局部的優化。算法中的粒子適應度Fitness則是用Viterbi算法計算HMM在當前粒子狀態數下的最終輸入出概率得到,如表3。

表3 PSO-HMM對HMM參數的優化
2.5.1 Forward算法步驟如下:
(1)初始化
ɑ1(i)=pibi(o1),1≤i≤N,pi為t=1時的初始概率,且pi=p(qi=si)。
(2)迭代計算

式中,1≤t≤T-1,1≤j≤N;ɑij=p(qt+1=sj|qt=si)為狀態轉移概率;bj(ot)為在觀察值ot狀態下產生的概率值,bj(ot)=p(ot|qt=si)。
(3)終止條件

式中,λ為給定的HMM模型;O為觀察序列,O={O1,O2,...,OK}。
2.5.2 Viterbi算法描述如下:
(1)初始化
δ1(i)=πibi(O1)_1≤i≤N,Ψ1(i)=0
(2)迭代計算

(3)終止條件

(4)求解最佳路徑

實驗中,以美國麻省理工學院林肯實驗室提供的DARPA2000[5]作為報警信息源,建立兩個復合攻擊的隱馬爾科夫模型攻擊場景,DDoS和FTP Bounce。當收到報警信息“ICMP Echo Reply”和“RPC portmap Sadmind request UDP”時,根據隱馬爾科夫模型的Forward算法分別求出兩個攻擊場景產生此報警信息的概率,見表4。由表4可見,無論是優化前還是優化后都有P(A-lert|DDoS_HMM)>P(Alert|FTP Bounce_HMM),即此時發生的攻擊可基本定為DDoS復合攻擊,且優化后的P(Alert|DDoS_HMM)與P(Alert|FTP Bounce_HMM)的區分差值更明顯,即說明優化后能更好地識別攻擊場景。收到報警信息序列{Alert1,Alert2,Alert3}后,再根據Viterbi算法算出當前已完成的攻擊序列為IPSweep和SadmindPing,則下一步要進行的攻擊意圖預測為SadmindExploit。至此,本實驗成功模擬了一次復合攻擊的判斷預測過程。

表4 報警信息概率對比表
兩個攻擊場景的初始狀態矩陣、狀態轉移矩陣、觀察矩陣參數如矩陣1~3所示:
矩陣1(初始狀態矩陣)

矩陣2(狀態轉移矩陣)

矩陣3(觀察矩陣)

本文在當前網絡攻擊日趨復雜的背景下,提出將復合攻擊、攻擊意圖、粒子群算法和隱馬爾科夫模型結合在一起,作為一種基于隱馬爾科夫模型的網絡攻擊預警技術。通過仿真實驗,實現了對復合攻擊行為的識別和預測工作,充分驗證了此方法的有效性。本實驗是基于粒子群優化的,則理論上粒子數越多,即攻擊場景越多,優化效果就越明顯,這也是本實驗需要改進的地方,在實際應用中當攻擊場景增長后理論上會有更好的效果。
[1] 張松紅,王亞弟,韓繼紅.基于隱馬爾科夫的網絡安全預警技術研究[D].鄭州:解放軍信息工程大學碩士論文,2007.
[2] Rabiner L R.A Tutorial on Hidden Markov Models and Selected Application in Speech Recognition[J].Proceedings of the IEEE,1989,77(2):257-285.
[3] Ourston D,Matzner S,Stump W,etɑl.Application of Hidden Markov Models to Detecting Multi_stage Network Attacks[C]//Proceedings of the 36th Hawaii International Conference on System Sciences.Hawaii:[s.n.],2003.
[4] 金民鎖,劉紅祥,王 佐.基于隱馬爾科夫模型的瀏覽路徑預測[J].黑龍江科技學院學報,2005,15(3):167-170.
[5] LLS_DDOS_l.0[EB/OL].http:www.ll.mit.edu/IST/ideval/data/2000/LLS_DDOS_1.0.html.Markov Models.In Proeeedings of the Eurospeech'95.Madrid,1995:1487-1490.