朱 殊,劉麗霞,邱曉華
(武警工程大學信息工程系 西安 710086)
隨著互聯網技術的不斷發展、網絡應用的日益普及,計算機網絡已經逐漸成為人們生活中不可缺少的一部分。但隨之而來的,以網絡病毒、DoS/DDoS攻擊為主的網絡攻擊所造成的危害和損失也越來越大,并且向著組織嚴密化、目標直接化和行為趨利化的方向發展。傳統的網絡安全防護方式諸如防火墻、防病毒、IDS等單一的被動式網絡安全防護技術在面對海量的攻擊警告信息時,很難使管理員了解系統的真實安全狀態并及時采取合理的響應措施。因此,如何形象、準確地描繪當前網絡安全態勢,已經成為網絡安全領域一個新的研究熱點。網絡安全態勢感知技術,是用于對當前以及未來一段時間內的網絡安全狀態及形勢進行定量和定性的評價,并對網絡進行實時監測和預警的新的安全技術。作為網絡安全態勢感知的一項重要部分,態勢預測能夠使系統管理員及時掌握網絡系統的變化趨勢,針對可能到來的攻擊做出切實有效的防御,從而提升系統的安全水平。
目前,常用的網絡安全態勢預測的方法主要有基于RBF(radial basis function,徑向基函數)神經網絡的態勢預測方法、基于支持向量機的網絡攻擊態勢預測技術、基于Verhulst模型的態勢預測方法和Brynielsson J和Arnborg提出的基于貝葉斯網絡的態勢感知與預測模型等方法[1]。
基于RBF神經網絡的態勢預測方法[2],是通過訓練RBF神經網絡找出態勢值的前N個數據和隨后M個數據的非線性映射關系,進而利用該關系進行態勢值預測。但是,RBF算法還存在著一些不足:預測結果受所選取的數據影響較大,容易帶有個人主觀看法;預測結果需要專家進行解讀,這要求管理員具有專門的知識。
為盡可能消除人為因素的影響,提出了根據云的網絡安全態勢預測方法:通過對歷史數據記錄進行挖掘,從而得到系統的當前狀況及變化趨勢,通過當前狀態對未來狀態進行預測,從而消除人為初始數據的選取對預測結果所造成的影響,增強預測結果的客觀性。
在基于云的網絡安全態勢預測算法中,預測規則的好壞對預測結果有著重要的影響,根據基于云的網絡安全態勢預測規則挖掘方法,在解決區間劃分導致游離在多區間之間的數據失去模糊特性和人為設置最小支持度和置信度閾值對預測規則造成主觀影響的問題的基礎上,結合當前系統趨勢,防止算法因預測規則孤立而出現預測錯誤,從而得出更為精確的預測結果。
作為網絡安全態勢預測的一項基礎,網絡安全態勢評估通常是根據一定算法對感應到的態勢指標數據進行處理,得出網絡安全態勢值。由于網絡威脅時序的混沌性和自相似性[3],當前網絡態勢指標數據與態勢數據之間存在著某種聯系,歷史數據也與變化趨勢之間有著一定的關系。因此,如何從態勢指標數據中挖掘出有用的信息,找出歷史數據記錄同變化趨勢之間的關系,以提供盡可能精確的預測結果,是基于云的網絡安全態勢預測方法中亟待解決的問題。同時,如何使算法盡可能符合變化趨勢,在當前狀態相同而變化方向不同的情況下也能得出正確的結論,是主要探討的問題。因此,在一種基于云的預測規則挖掘算法中進行了改進,使預測結果更加貼近實際情況。
1995年,我國的李德毅院士在傳統模糊數學理論和概率統計的基礎上提出了定性定量不確定性轉換模型——云模型。云的定義如下。
定義1 設U是一個用精確數值表示的定量論域,C是U上的定性概念,若定量值x∈[0,1]是具有穩定傾向的隨機數,則x在論域U上的分布稱為云,每一個x稱為云滴[4]。

云的數字特征可以用3個數值表示:期望值Ex、熵En和超熵He。
·期望Ex:云滴在論域空間分布的期望,是最能代表定性概念的點,也是這個概念量化的最典型樣本。
·熵En:定性概念的不確定性度量,由概念的隨機性和模糊性共同決定。一方面,En是定性概念隨機性的度量,反映了能夠代表這個定性概念的云滴的離散程度;另一方面,又是定性概念亦此亦彼性的度量,反映了論域空間中可被概念接受的云滴的取值范圍。
·超熵He:熵的不確定性度量,即熵的熵。超熵的大小間接地反映了云的厚度。超熵越大,云滴離散度越大,隸屬度的隨機性越大,云的厚度越大。超熵由熵的隨機性和模糊性共同決定。
云模型是定性和定量之間的轉換模型,一般通過云發生器實現。云發生器一般可以分為正向云發生器和逆向云發生器。正向云發生器是一個前向的、直接的過程,根據云的期望值Ex、熵En和超熵He以及所需的云滴數,實現將定性概念轉換為定量數值;逆向云發生器則是正向云發生器的逆過程,通過輸入已知的精確數據,將其轉換為定性的概念,并得到其數字特征,完成從定量數值到定性概念的轉換。
因為網絡安全態勢評估涉及多個指標,本文選取攻擊的威脅程度這一指標進行研究,設 A(t)={A1,A2,A3,…,An}表示 IDS 檢測到的 n 種事件的數量,B(t)={B1,B2,B3,…,Bn}表示n種事件所對應的威脅等級,則當前網絡安全態勢值 F(Ai,Bi)可以由式(2)計算:

計算出的網絡安全態勢值 F(Ai,Bi)結果越大,說明網絡越不安全。
因為網絡安全態勢感知中獲取的數據都是連續的數據,為便于計算,需要將它們轉化為離散值,將連續的數據值按照性質劃分到不同的區間之內,完成定量到定性的轉換。設 T={T1,T2,T3,…,Tn}是一組時序態勢數據值,Ti表示 i時刻系統感知到的態勢數據,而 K={K1,K2,K3,…,Km}則表示T通過云變換所轉換過來的定性的m個區間,Kj表示具體的一個指標區間,C={C1(Ex1,En1,He1),C2(Ex2,En2,He2),C3(Ex3,En3,He3),…,Cm(Exm,Enm,Hem)}則表示 K 所對應的云模型的概念集合,Cj表示Kj屬性在云模型中概念的數字特征,每一個指標區間都對應唯一一個云模型。另外,設ΔT={ΔT1,ΔT2,ΔT3,…,ΔTn}是時序態勢數值在選取的一個時間段內的變化情況,Ti表示從i-Δt到i時刻態勢數據的變化趨勢,用兩點之間直線斜率的余弦值加1表示,而ΔK={ΔK1,ΔK2,ΔK3,…,ΔKS}則表示 ΔT 通過云變換所轉換過來的定性的概念,ΔKl表示具體的一個概念,ΔC={ΔC1(Ex1,En1,He1),ΔC2(Ex2,En2,He2),ΔC3(Ex3,En3,He3),… ,ΔCm(Exm,Enm,Hem)}則表示 ΔK 所對應的云模型的概念集合,ΔCj表示ΔKj屬性在云模型中概念的數字特征,每一個指標區間也都與云模型一一對應。
在計算過程中,時序態勢數值T和時序態勢數值變化率ΔT中的值可能同時屬于多個云模型,這些值被稱為邊界值,邊界值的歸屬云由它對各個云的隸屬度決定,邊界值對哪個云的隸屬度大,該邊界值就屬于哪個云模型。這樣,可以在運算過程中減少人為干擾,增強結果的客觀性。
同時,隨著數據量的增大,必須不斷對論域進行調整,以使得指標區間能夠準確地表達出攻擊威脅度的性質,反映出網絡的真實態勢情況。
云模型改進優化規則關聯 (optimization relation association rule,ORAR)算法是通過建立關聯矩陣R使整個預測過程只需進行少量次數的數據庫掃描。其基本思想是:把感知數據通過云變換轉換為用云模型來表示的定性概念,把連續的態勢數據轉換成離散的數據。在此基礎上,依據所建立的關系矩陣R,選取合適的k-1大項集,并由此計算出k項集,通過所設定的最小支持度閾值min sup篩選出k-1大項集,然后,根據所設定的最小置信度閾值min conf,輸出置信度conf大于min conf的規則。本文在ORAR算法的基礎上,針對ORAR算法的結果與變化趨勢相孤立,有時無法得出正確預測結果的情況,在生成規則后,結合系統當前趨勢對預測規則進行分析,并對其做出合理修正,從而獲得較為精確的預測結果。改進ORAR算法流程如圖1所示。
改進的ORAR算法的步驟如下。
(1)劃分概念區間:設 D={D1,D2,D3,…,Dn}是攻擊的威脅程度指標集合,N={N1,N2}則是網絡安全態勢值的集合,N1表示當前網絡安全態勢值的集合,而N2表示所要預測的、N1下一時刻的網絡安全態勢值的集合。將D通過云變換轉化為云模型的定性集 CDi={CD1,CD2,CD3,…,CDk}。將 N也通過云變換轉化為云模型的定性集合CN={C1,C2,C3,…,Cn},從而完成定量到定性的概念變換。
(2)建立關系矩陣:通過云的極大值判別法計算各數值對云模型概念的隸屬度,將數值歸屬到合適的云概念中,建立關系矩陣RDi。
(3)循環進行步驟(1)和步驟(2),進行概念區間的劃分和建立關系矩陣,得到與指標集合D相關的云模型的概念集合 CD={CD1,CD2,CD3,…,CDm} 和關系矩陣的集合 RD={RD1,RD2,RD3,…,RDm};態勢值集合 N 的云模型概念集合CN={C1,C2,C3,…,CN}和關系矩陣的集合 RT={R1,R2}。
(4)將關系矩陣RD和RT合并,得到關系矩陣集合R={RD1,RD2,RD3,…,RDm,R1,R2}。
(5)1大項集的生成:輸入關系矩陣R和最小支持度閾值min sup,對關系矩陣R進行搜索,運用ORAR1算法篩選出支持度sup≥min sup的項集,從而獲得1大項集,并將1大項集納入大項集的集合O中。

圖1 改進ORAR算法流程
(6)2大項集的生成:對關系矩陣R進行搜索,運用ORAR2算法在步驟(5)中得出的1大項集中篩選出支持度sup≥min sup的項集,從而得到2大項集,并將2大項集納入大項集的集合O中。
(7)k大項集的生成:當k>2時,對關系矩陣R進行搜索,運用ORAR k算法在k-1大項集中篩選出支持度sup≥min sup的項集,從而生成k大項集,并將k大項集納入大項集的集合O中。
(8)生成規則:輸入最小置信度閾值 min conf,計算集合O中大項集中產生的預測規則的置信度conf,篩選出置信度conf≥min conf的預測規則。
(9)計算變化趨勢:計算出i時刻系統狀態在i-Δt到i時刻內的變化趨勢,并觀察屬于哪一變化區間。
(10)將變化區間與步驟(8)中的預測規則相結合,分析出最終的預測結果。
實驗數據來源于某局域網中IDS所采集到的威脅警報數據,從中選取威脅警報數A和攻擊警報總數I進行分析,根據式(2)計算出網絡安全態勢值F。網絡安全態勢如圖2所示,點A表示i=335時的網絡安全態勢,點B表示i=421時的態勢。

圖2 網絡安全態勢
攻擊對系統的威脅程度由攻擊警報數決定,攻擊警報數越大,表明攻擊對系統的威脅越大,威脅等級越高。利用云的概念區間劃分方法將攻擊威脅分為3個等級:輕微威脅、一般威脅、嚴重威脅;網絡安全態勢分為3個等級:安全程度高、安全程度中、安全程度低;網絡安全趨勢分為3個等級:形勢好轉、形勢穩定、形勢惡化。表1給出了云模型中各概念的數字特征。

表1 各概念的數字特征
根據改進的ORAR算法對數據進行挖掘,選擇的最小支持度閾值min sup=0.034 2,最小置信度閾值min conf=0.616 4,得出如下6個預測規則:
· 掃描威脅輕微,總體威脅一般,安全程度低→安全
程度中,{sup=0.060 9,conf=0.642 1};
· 掃描威脅輕微,總體威脅嚴重,安全程度中→安全
程度低,{sup=0.037 3,conf=0.636 7};
· 掃描威脅輕微,總體威脅嚴重,安全程度低→安全
程度低,{sup=0.060 6,conf=0.762 5};
· 掃描威脅一般,總體威脅輕微,安全程度低→安全
程度中,{sup=0.038 2,conf=0.603 3};
· 掃描威脅嚴重,總體威脅嚴重,安全程度中→安全
程度低,{sup=0.030 6,conf=0.813 1};
· 掃描威脅嚴重,總體威脅嚴重,安全程度低→安全
程度低,{sup=0.051 4,conf=0.771 6}。
實驗數據見表2。
表2表明,點A和點B的安全狀態相同,點A下一時刻的預測規則1為{掃描威脅輕微,總體威脅一般,安全程度低→安全程度中},同時,點A的網絡安全趨勢為形勢好轉,與預測規則相同,因此可以判斷點A的下一時刻網絡安全程度為中,這與現實情況相同。而點B的下一時刻的預測規則為{掃描威脅輕微,總體威脅一般,安全程度低→安全程度中},但是點B狀態下的網絡安全趨勢為形勢惡化,綜合來看,判斷點B下一時刻的網絡安全程度為低,這與實際結果相同??梢钥吹剑诓捎迷惴ǖ那闆r下,由于沒有考慮網絡安全趨勢的變化,對點A和點B的預測規則相同,但由于二者網絡安全趨勢不同,造成了實際結果的不同,使算法在預測點B時出現錯誤,而在改進算法下,因為充分考慮到網絡趨勢變化情況,避免了預測規則的孤立,從而得出了較為精確的結果。但是,在預測規則與趨勢變化結果相沖突時,需要引入人為影響,這在一定程度上降低了算法的客觀性。

表2 實驗數據
將網絡安全態勢感知和云理論結合起來,針對現有的基于云的網絡安全態勢預測規則挖掘算法予以改進,使算法與實際結合更加緊密,結果更加精確。因為實驗中驗證的數據較少,因此對網絡安全態勢的發展預測還僅限于局部。當提供的數據量增加時,預測規則的數量將同時得到提高,預測結果也將更加精確。但是,如何將算法應用于實際以及如何解決算法中兩方結論沖突時的決策問題,仍然需要做進一步的研究。
1 Chang K C,Saha R K,Yin X Y.A linear predictive bandwidth conservation algorithm for situation awareness.http://volgenau.gmu.edu/~kchang/publications/conference_pdf/CON_9_A_LINEAR.pdf,1998
2 任偉.網絡安全態勢評估智能化研究.上海交通大學碩士學位論文,2007
3 宣蕾.網絡安全定量風險評估及預測技術研究.國防科學技術大學博士學位論文,2007
4 李德毅,杜鹢.不確定性人工智能.北京:國防工業出版社,2005
5 郝樹勇.基于云的網絡安全態勢預測研究.國防科學技術大學碩士學位論文,2010
6 葉瓊,李紹穩,張友華等.云模型及應用綜述.計算機工程與設計,2011,32(12):4198~4201
7 周文秀.關聯規則挖掘算法的研究與改進.武漢理工大學碩士學位論文,2008