董 博,王 雪
(1. 遼寧大學 計算中心,遼寧 沈陽 110036;2. 遼寧大學 信息化中心,遼寧 沈陽 110036)
?
基于變量分組貝葉斯網絡的安全態勢評估方法
董 博1,王 雪2
(1. 遼寧大學 計算中心,遼寧 沈陽 110036;2. 遼寧大學 信息化中心,遼寧 沈陽 110036)
針對網絡安全威脅問題,將人工智能理論和相關技術與網絡安全態勢評估相融合,提出一種以細化變量進行分組的貝葉斯網絡作為基礎研究的網絡安全態勢評估方法。該算法可以有效減少變量數量,縮短產生貝葉斯網絡的程序運行時間,并通過相關實驗驗證了有效地減少變量數量對最終的結果并沒有產生過多影響。用本算法對大量網絡實際運行數據進行測試,結果表明該方法能夠很好地區分不同的網絡安全威脅,從而能夠有效評估網絡安全態勢。
貝葉斯網絡;網絡安全;態勢評估;結構學習
網絡安全態勢感知就是把所收集的與網絡安全相關的要素進行融合,然后按照一定的方法對這些要素進行分析和理解,進而判斷當前網絡的安全態勢并預測未來的安全態勢。
網絡安全態勢評估是網絡安全態勢感知的重要環節,國內外學者從不同的角度出發,對網絡安全態勢評估做了大量科學研究工作。
在國內,韋勇等[1]證明了基于多源融合網絡安全態勢評估比基于單源網絡安全態勢評估更加準確有效。劉念等[2]提出一種基于免疫的網絡安全態勢感知方法。
在國外,Mohsen Naderpour等[3]提出基于SA支持系統的GDTA方法,這種方法能幫助管理人員找出異常情況。Jason shifnet 等開發了Spinning Cube of Potential Doom 系統, 極大地提高了網絡安全態勢評估能力[4]。
貝葉斯網絡是描述數據變量之間依賴關系的圖形模型 ,其描述如下:網絡結構S=(G,Θ)是一個有向圖 ,其中,每一個節點代表一個數據變量,G=(X,E) 是沒有環路沒有頂點的圖,X={X1,...,Xn}。Θ={P(Xi|Pa(Xi))}為其中Xi節點在其父節點的條件概率集合。
用P(Xi)代表節點Xi的條件概率密度,Pa(Xi)表示其父節點集合,由貝葉斯推理公式有:
P(Xi)=P(Xi|Pa(Xi))
(1)
根據概率鏈規則,由n個變量決定的聯合貝葉斯概率為:

(2)
在S中不存在任何有向環, 稱為有向無環圖(Directed Acyclic graph , DAG) 。參考文獻[5]中描述了有向無環圖的遞推公式:
(3)
其中,r(1)=1,r(2)=3,r(3)=25,r(5)=29 281,r(10)=4.2×1018,這意味著,一旦節點數大于7,對所有節點在有效時間內執行一次完全遍歷是不可能的。
由于在構建貝葉斯網絡的過程中,網絡的結構復雜性使得變量的數目過多,造成表達式超指數的增長。為了解決這個問題,本文采用一種新的聚類算法,采用細分變量作為子集(或群組),通過單獨地學習每一個子集的結構,由這些子集的結構最終組裝成最終的結構。
3.1 理論背景
以下用到的Robinson 公式[5]表明有向無環圖中變量數量。其中,n表示變量的數量,r(1)=1。
(4)
(5)
其中,J1+J2+…+Jk=n-1,Jl+1 定理1 對于n≥2,有: r(n)≥2n-2nr(n-1) (6) 其中,0≦J≦n-1。 當n=2時,r(2)=3≧2。當n>2時,參考文獻[2]中已經證明定理成立。 定理2 (7) 證明: 由定理1中公式(6): l=1,...,k 所以: (8) (9) (10) 因此: (11) 即: (12) 所以: (13) 例如,存在20個變量分成四個子集,子集1中包含5個變量,子集2中包含3個變量,子集3中包含6個變量,子集4中包含6個變量。則有: (14) 3.2 結構學習過程 貝葉斯網絡學習過程的主要目的是在相應變量間進行推理,得出有效的因果關系,從而形成一個有向無環圖。對所有的變量(包括興趣變量)進行結構學習。最終的結構學習過程如算法1。 算法1 貝葉斯分組學習優化算法 定義:n:分組數量 λi:分組的索引 Vij:在λi分組下的變量j索引 P(Vij):Vij的父集 N: 類的變量節點 STi:分組i的變量結構 Oi:分組變量排序 Nλi:屬于λi分組內的變量數量 Vλi:i分組的變量集 算法過程如下: 1:Begin 2:For each i<=n Do Oi←MWST(N, Vλi:) 3:End for 5:For each i<=n Do STi←K2(Oi, Vλi:) 6: End For 7: For each 2<=i<=n do Vλi←VλiUVλi{N} 8: For each 1<= j<= Nλido 9: 從STi中開始,添加到ST1中并保留從 10: Vij和P(Vij)之間的弧 11: End For 12: End For 很多學者提出了多種關于貝葉斯網絡的結構學習算法,比如MWST算法、TPDA(Three Phase Dependency Analysis)算法、K2算法、ACOB (Ant Colony Optimization-B algorithm)等。本文選用K2算法進行對比分析的主要原因是K2算法的計算時間短,算法復雜度低,穩定度高。為了解決初始變量有序化問題,采用了MWST算法。MWST算法對數據集大小的變化不太敏感,并能產生初始化序列,而且其產生的圖與之前的圖差別不大。因此,采用MWST算法既能滿足初始化序列的要求又能非常準確地接近原始數據,可以成為K2算法的有效輸入。 選用了BNT toolbox工具包和Matlab2014b實驗平臺,實現MWST算法和K2算法的結構學習過程。 運行環境為:Inter Core2 2.8GHz處理器,4 GB內存,Win7 64位操作系統,系統平均CPU利用率為38%,內存的平均使用率為17%。 數據來源采用美國林肯實驗室的數據KDDCUP,其包含連續屬性及離散屬性等不同屬性值(如攻擊持續時間、網絡協議類型等),并標有其所屬的類型(如正常或具體的攻擊類型) 。所有攻擊主要分為以下4大類: (1)DoS(Denial of Service Attacks ):拒絕服務。 (2)UToR(User to Root Attacks):試圖獲取根用戶權限。 (3)RToL(Remote to Local User Attacks):入侵者試圖利用系統的缺陷繞過防火墻。 (4)Probe(Probe in network):端口掃描。 4.1 K-means算法數據預處理 圖1 各屬性聚類準則值 設定聚類范圍為 2~10,采用層次聚類算法和自舉技術優化的K2算法進行聚類,得到每個因素的聚類準則值,如圖1所示。找到最佳聚類數和聚類中心可以使每個屬性更好地反映數據特性,避免由專家指定而造成的主觀影響。同理適用于其他影響因素,得到其最佳聚類數和聚類中心如表1所示。 表1 聚類情況表 4.2 實驗具體過程 (1)選取10%的數據集(共 494 019 條連接記錄)作為樣本訓練數據集。之后獲取來自于本校的防火墻日志,使用2015-01-04 00:00:00 到2015-01-07 23:59:59之間,合計四天共96 h的數據,共875個報警事件作為測試集。 (2)對訓練集中連續性屬性進行離散化處理,確保其中屬性數據值在 100 個左右,并在此基礎上進行分組貝葉斯算法的分類試驗。 (3)分別用本文提出的算法和經典的K2算法分別獲取100個變量和1 024個變量。 (4)對數據進行歸類,按照相關試驗類型的不同預歸類成2 類或5個主要類。 (5)分兩種情況對算法進行比較: ①數據記錄只分類成正常(Normal)或異常(Unnormal)兩類,即將所有具體類型的攻擊都作為異常類。 ②數據記錄分類成 5大類 (Normal、DoS、UToR、RToL、Probe),各具體攻擊類型分別歸類到這5類中。 4.3 實驗結果和分析 在第一階段實驗過程中,分別用K2算法和本文設計的算法對不同的數據集進行運算。可以看出,與經典的K2算法相比,本文算法運行時間得到了有效的縮短。在第二階段實驗中,驗證了分組變量對實驗結果的影響微乎其微,如表2所示。其中訓練集數據分別含有100個變量和1 024個變量。 表2 CPU運行時間表 對于算法有效性的評價標準采用分類準確率來衡量。采取兩種情形進行試驗,第一種情形將數據的類型分成兩種如表3所示,可以看出本文算法分類準確度明顯優于K2算法。第二種情形將數據分成5類,結果如圖2和圖3所示。 表3 分類準確率 (%) 類型訓練集測試集本文算法正常異常99.8999.9193.5899.26K2算法正常異常99.4597.9288.8693.51 從圖2和圖3可以看出,本文所提算法在準確率方面也優于K2算法。但無論是本文方法還是傳統的K2算法,在UToR與RToL訓練樣本的分類準確度上,還都達不到較好的效果,主要原因是這兩種訓練樣本占整體樣本比例相對較少。當訓練樣本的數量較多時,分類的準確率會得到較大提升。 圖2 K2算法分類準確率 首先,本文在數學上證明了通過對相關變量進行分組并形成相關的聚類可以有效地減少貝葉斯網絡的規模。其次,選取了K-means方法優化了聚類過程。最后,通過實驗證明本文方法可以大量減少網絡態勢分析中的變量數量,并且丟失的數據在實際評估過程中不影響推理過程所產生的貝葉斯網絡,同時節省了大量的程序執行時間。 圖3 分組貝葉斯網絡算法分類準確率 [1] 韋勇,連一峰,馮登國. 基于信息融合的網絡安全態勢評估模型[J].計算機研究與發展, 2009, 46(3):353-362. [2] 劉念,劉孫俊,劉勇,等.一種基于免疫的網絡安全態勢感知方法[J]. 計算機科學, 2010,37(1):126-129. [3] NADERPOUR M, LU J, ZHANG G. An intelligent situation awareness support system for safety-critical environments[J]. Decision Support Systems, 2014,59(1):325-340. [4] STEPHEN L.The spinning cube of potential doom[J]. Com-munications ACM,2004, 47(6): 25-26. [5] ROBINSON R W. Counting unlabeled acyclic digraphs[C].In: Lecture Notes in Mathematics, Combinatorial Mathematics, 1977:28-43. A security situation assessment method based on subdividing Bayesian network in sub-networks Dong Bo1,Wang Xue2 (1.Computing Center, Liaoning University, Shenyang 110036, China; 2. Information Technology Center, Liaoning University, Shenyang 110036, China) Aiming at the problem of security situation awareness about networks,using artificial intelligence theory and related technologies combined with network security situation assessment, a network security situation awareness method based on subdividing Bayesian network is proposed.The method can effectively reduce the number of variables, shorten the running time in the progress of generating Bayesian networks. The experiment proves that the method effectively reduces the number of variables but it dosen’t have too much influence on the final results. Using the proposed algorithm, a large number of the networking operation data were tested, the experiments results show that the method is able to distinguish different network security threats so as to effectively evaluate the network security situation. Bayesian network; network security; situational awareness; structure learning TP18 A 1674-7720(2016)07- 0060- 03 董博,王雪.基于變量分組貝葉斯網絡的安全態勢評估方法[J].微型機與應用,2016,35(7):60-62,66. 2015-12-04) 董博(1981-),男,講師,主要研究方向:數據挖掘、網絡信息安全、無線傳感器網絡。 王雪(1981-),通信作者,女,中級實驗師 ,主要研究方向:人工智能、網絡安全和無線自組織網絡路由算法。E-mail:wangxue@lnu.edu.cn。





4 實驗過程與結果





5 結束語
