李劍藍
(中國石油大學(華東) 計算機與通信工程學院,山東 青島 266580)
近年來隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡安全問題得到了高度關(guān)注。在這樣的背景之下,網(wǎng)絡態(tài)勢感知成為了當前研究熱點之一。
網(wǎng)絡態(tài)勢感知技術(shù)源于空中交通監(jiān)管態(tài)勢感知,并在1999年由Tim Bass提出[1]。網(wǎng)絡態(tài)勢感知是指在現(xiàn)實網(wǎng)絡環(huán)境下,獲取、理解能夠引起網(wǎng)絡態(tài)勢發(fā)生變化的安全要素,并預測未來的發(fā)展趨勢。網(wǎng)絡態(tài)勢預測作為網(wǎng)絡態(tài)勢感知的一部分,起著越發(fā)關(guān)鍵的作用,但是由于網(wǎng)絡狀態(tài)的變幻莫測和隨機性,網(wǎng)絡預測的有效性和準確性一直是一個關(guān)鍵問題。
結(jié)合實際網(wǎng)絡狀態(tài)的變化特點,文中提出一種基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測方法,使其能夠更符合網(wǎng)絡變化情況,自適應地對網(wǎng)絡態(tài)勢進行預測,以達到更高的準確性。
網(wǎng)絡態(tài)勢感知的概念由Tim Bass提出,他隨即在2000年提出了基于多傳感器數(shù)據(jù)融合的入侵檢測框架,該框架能夠?qū)崿F(xiàn)入侵行為檢測、入侵率計算、入侵者身份和入侵者行為識別、態(tài)勢評估以及威脅評估等功能。Cristina Abad等[2]利用安全態(tài)勢感知數(shù)據(jù)庫系統(tǒng)UCLog+設計了一個網(wǎng)絡安全態(tài)勢感知系統(tǒng),該系統(tǒng)將當前采集的安全事件信息與數(shù)據(jù)庫中的歷史安全事件進行規(guī)則匹配,獲取下一時刻安全事件出現(xiàn)的概率。文獻[3-4]將聚類算法和隱馬爾可夫模型(HMM)相結(jié)合,以分析最有可能的攻擊序列和識別攻擊的類型。
文獻[5]提出了數(shù)據(jù)挖掘方法挖掘警報之間的因果關(guān)系。這些方法既無需預定義知識庫也無需網(wǎng)絡的配置信息,就可以發(fā)現(xiàn)攻擊行為之間的因果關(guān)系和識別未知的攻擊行為。Tang等[6]從被保護對象的角度出發(fā)分析攻擊者的目的,提出了使用動態(tài)后向傳播神經(jīng)網(wǎng)絡和協(xié)方差相結(jié)合的方法,基于當前每個主機的服務、攻擊活動、服務重要性等分析可能要遭受攻擊的服務。
網(wǎng)絡態(tài)勢預測作為網(wǎng)絡態(tài)勢感知的重要部分,近年來也引起了學者的廣泛關(guān)注。文獻[7]設計了一個基于D-S證據(jù)理論的態(tài)勢評估架構(gòu),融合不確定信息進行不確定性推理,量化網(wǎng)絡的安全態(tài)勢。Wang等[8]通過統(tǒng)計的方法,統(tǒng)計攻擊者需要多少個不同0-day漏洞才能對系統(tǒng)造成破壞,以評估網(wǎng)絡的安全狀況。Juan等[9]提出了將無偏灰度理論(unbiased grey theory)和馬爾可夫理論相結(jié)合的方法,分析網(wǎng)絡的風險變化情況。
層次決策分析(analytic hierarchy process)[10]由Satty等提出,該方法將定性分析與定量分析相結(jié)合,是一種無結(jié)構(gòu)的多準則決策方法,通過思維過程的層次化和數(shù)量化達到分析復雜問題的目的。文獻[11]使用貝葉斯網(wǎng)絡對網(wǎng)絡中的“不確定因素”建模,計算攻擊成功的概率,實時地評估攻擊的嚴重程度。Aguilar等[12]結(jié)合模糊邏輯與神經(jīng)網(wǎng)絡技術(shù),在認知圖的基礎(chǔ)上提出了FCM的概念,利用它獲取網(wǎng)絡中重要資產(chǎn)的依賴關(guān)系進行危害程度評估。文獻[13-15]將時間序列分析技術(shù)與概率模型、數(shù)據(jù)挖掘等技術(shù)相結(jié)合來分析DDos攻擊特征及行為變化。文獻[16]在貝葉斯網(wǎng)絡方法的基礎(chǔ)上提高了方法的適應性,提出了偽貝葉斯網(wǎng)絡方法對攻擊行為進行識別預測。
在以上研究的基礎(chǔ)上,文中結(jié)合網(wǎng)絡的變化特點,利用動態(tài)改變轉(zhuǎn)移概率的計算方式來自適應地調(diào)整網(wǎng)絡態(tài)勢的預測值,達到快捷準確預測網(wǎng)絡態(tài)勢的目的。
對于隨機變量序列X={X(t),t∈T},T=0,1,2…,其狀態(tài)空間為S={0,1,2…}。如果對于任意的正整數(shù)m,n,k,以及任意的狀態(tài)值{xn+k,xn,…,x2,x1},滿足:
P{X(n+k)=xn+k|X(n)=xn,…,X(2)=x2,X(1)=x1}=P{X(n+k)=xn+k|X(n)=xn}
則稱XT為馬爾可夫鏈。
由轉(zhuǎn)移概率組成的矩陣稱為馬爾可夫鏈轉(zhuǎn)移概率矩陣,其形式可描述為:
此矩陣的每一行元素之和為1。當轉(zhuǎn)移概率只與狀態(tài)變量i,j和時間間隔n有關(guān),稱此轉(zhuǎn)移概率具有平穩(wěn)性,同時稱此鏈是時齊的。馬爾可夫鏈一般被默認為是時齊的。
馬爾科夫鏈具有“無后效性”的特征,即下一時刻的狀態(tài)只與當前時刻狀態(tài)有關(guān),與之前的時刻狀態(tài)無關(guān)。
在分析網(wǎng)絡安全環(huán)境的變化特點之前,將網(wǎng)絡安全程度劃分為k個等級,即{S1,S2,…,Sk},這n個等級分別代表不同程度的安全問題,其中S1表示沒有安全風險,并且安全風險S1 網(wǎng)絡攻擊在實施之前一般都存在探測,踩點,掃描等過程,這些異常行為會引起輕度的安全風險,并且這些輕度的安全風險往往會意味著更嚴重的安全問題。以web攻擊為例,在最終獲取后臺權(quán)限之前,會有探測主機ip,開放端口,嘗試注入等操作,這些異常行為在當前周期可能會引起輕度的安全問題,在下一周期可能會導致更加嚴重的安全問題。當攻擊結(jié)束的時候,風險程度又會慢慢降低,所以網(wǎng)絡攻擊態(tài)勢常常會出現(xiàn)如圖1所示的狀態(tài)。 圖1是在實際SQL注入攻擊實驗下,通過收集到的流量信息和入侵檢測系統(tǒng)的警報信息,將網(wǎng)絡狀態(tài)分為3個等級,即k=3,S1=0,S2=1,S3=2,并由專家打分得到的安全風險程度圖。 圖1 正常攻擊流程下的網(wǎng)絡態(tài)勢變化 但是網(wǎng)絡環(huán)境復雜,也不排除有風險突然爆發(fā)的情況,這種情況下,網(wǎng)絡攻擊態(tài)勢常常會出現(xiàn)如圖2所示的狀態(tài)。 圖2 已知安全漏洞攻擊下的網(wǎng)絡態(tài)勢變化 圖2是在已知有安全漏洞的情況下,直接進行SQL注入攻擊實驗下,通過收集到的流量信息和入侵檢測系統(tǒng)的警報信息,由專家打分得到的安全風險程度圖。 由這兩張圖的趨勢變化可以看到它們的網(wǎng)絡態(tài)勢變化情況是不一樣的。文中用風險波動率?來衡量網(wǎng)絡風險的波動程度,風險波動率的計算公式為: (1) 其中,countchange為參考周期內(nèi)變化的網(wǎng)絡風險等級的次數(shù);countall為周期內(nèi)總的網(wǎng)絡風險等級的次數(shù)。 馬爾可夫鏈具有“無后效性”的特征,而網(wǎng)絡狀態(tài)的轉(zhuǎn)變與當前狀態(tài)是緊密關(guān)聯(lián)的,這一點與馬爾可夫鏈相符,但是網(wǎng)絡狀態(tài)的轉(zhuǎn)移應該是隨著網(wǎng)絡狀態(tài)的變化而動態(tài)改變的。隨著網(wǎng)絡狀態(tài)的更新,轉(zhuǎn)移概率也將隨之自適應更新。所以文中提出一種基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測模型 假設有周期集合{T1,T2,…,Tn},共有k個安全風險等級{S1,S2,…,Sk},每個周期都有相應的網(wǎng)絡風險等級對應{I1→T1,I2→T2,…,In→Tn}(I1,I2,…,In∈{S1,S2,…,Sk}),轉(zhuǎn)移概率參考的周期集合為Tr={Ta,Ta+1,…,Tb}(m=b-a+1),共m個周期。 轉(zhuǎn)移概率的計算方法可描述為: (2) 其中,Sij表示參考的m個周期內(nèi),狀態(tài)從Si到Sj的次數(shù)。由表達式可以看出,Pij是一個完全由參考周期集合{Ta,Ta+1,…,Tb}(m=b-a+1)的值來決定的,即Pij=f(Tr),而Tr的值是一個動態(tài)變化的值。 文中認為以往的網(wǎng)絡狀態(tài)對下一周期的網(wǎng)絡狀態(tài)的影響是隨時間衰落的,即時間越接近的網(wǎng)絡狀態(tài)對下一網(wǎng)絡狀態(tài)的影響越大。而隨時間衰落快慢的主要影響因素在于這一時期的網(wǎng)絡波動情況,波動越大,說明網(wǎng)絡變化幅度大,隨時間衰落的速度就越快。假設影響力因素為μ,波動率為?,時間為從當前周期向前追溯,并以周期為單位設為t,則變量滿足方程: μ=eT-&(?(t)+0.1)m-1 (3) 其中,T為衡量波動率的總參考周期數(shù);&為一可變參數(shù)。?(t)為波動率,隨時間變化。影響力因素為μ=0時,若已知?(t),&,T的值,則將此時的t作為轉(zhuǎn)移概率參考的周期數(shù),從而確定轉(zhuǎn)移概率參考的周期集合Tr={Ta,Ta+1,…,Tb}(m=b-a+1)。 那么基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測模型可以描述為: (4) 其中,Sd為預測的下一周期的網(wǎng)絡態(tài)勢值概率分布情況;Sc為當前網(wǎng)絡態(tài)勢值所表示的矩陣。通過式3確定的Tr即可得到Sd,取概率最大的情況作為下一周期的網(wǎng)絡態(tài)勢預測值。 針對基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測模型,搭建了實驗原型系統(tǒng),包括一個包含SQL注入漏洞的Web服務器和一個攻擊機。攻擊機在兩天的時間內(nèi)隨機地發(fā)起攻擊,攻擊類型包括掃描攻擊、SQL注入攻擊和DoS攻擊。服務器端裝有抓包工具和snort入侵檢測系統(tǒng),通過抓包工具獲取TCP,UDP,ICMP的流量信息,通過snort入侵檢測系統(tǒng)獲取警報信息,以10秒為一個周期,由專家打分得到2 482條網(wǎng)絡風險評估值,評估值分為三個等級{0,1,2},分別代表無風險,低風險和高風險。 (1)參數(shù)&的確定。 圖3 不同波動率下不同&值的準確率對比 由圖3可以看到,當T=100的情況下,&是不宜過大的,在波動率高的情況下,&值過高會導致m的值為1,那么轉(zhuǎn)移概率計算的參考范圍太小就失去了計算轉(zhuǎn)移概率的意義,失去了參考的價值。 綜合來看,在該實驗網(wǎng)絡環(huán)境下,T=100時,選擇&=5比較合適。 (2)網(wǎng)絡態(tài)勢預測性能分析。 針對獲得的2 482條數(shù)據(jù),從第100條開始往后進行預測,通過Matlab計算動態(tài)轉(zhuǎn)移概率以及實際預測值,進行了2 382次實驗,得到準確率為0.884,展現(xiàn)了不錯的效果。 選取了部分周期的預測情況,將該方法與非動態(tài)轉(zhuǎn)移概率的馬爾可夫鏈預測方法和多層的BP神經(jīng)網(wǎng)絡預測方法進行了對比。其中非動態(tài)轉(zhuǎn)移概率的方法利用所有的實驗數(shù)據(jù)計算轉(zhuǎn)移概率,BP神經(jīng)網(wǎng)絡方法以預測周期的前10個周期作為特征,訓練了1 000條數(shù)據(jù),選取神經(jīng)網(wǎng)絡層數(shù)為3,對比結(jié)果如圖4所示。 圖4 部分周期不同方法的預測值與實際值對比 由圖4可見,在網(wǎng)絡狀態(tài)發(fā)生變化的時候容易出現(xiàn)預測錯誤,但是使用動態(tài)轉(zhuǎn)移概率的方法相比于非動態(tài)轉(zhuǎn)移概率和BP神經(jīng)網(wǎng)絡的方法,具有更好的預測效果,且相對于BP神經(jīng)網(wǎng)絡方法沒有了復雜的訓練過程。 三種方法的準確率對比如圖5所示??梢钥吹皆跍蚀_率上動態(tài)轉(zhuǎn)移概率的方法都高于其余兩者,證明了其準確性和有效性。 圖5 不同方法的預測準確率 針對網(wǎng)絡態(tài)勢預測的準確性和有效性的問題,分析了網(wǎng)絡變化特點,在馬爾可夫鏈的一步轉(zhuǎn)移概率基礎(chǔ)上引入了網(wǎng)絡波動率的概念,并在此之上提出了一種基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測方法。通過實時計算網(wǎng)絡的波動率來動態(tài)計算轉(zhuǎn)移概率,從而預估下一周期的網(wǎng)絡態(tài)勢值。實驗結(jié)果表明,相比于非動態(tài)轉(zhuǎn)移概率和BP神經(jīng)網(wǎng)絡,該方法具有更好的準確性,并且相比于神經(jīng)網(wǎng)絡的方法省去了復雜的訓練過程,證明了該方法的準確性和有效性。2.3 基于動態(tài)轉(zhuǎn)移概率的網(wǎng)絡態(tài)勢預測模型
3 實驗分析
4 結(jié)束語