《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于變量分組貝葉斯網(wǎng)絡的安全態(tài)勢評估方法
基于變量分組貝葉斯網(wǎng)絡的安全態(tài)勢評估方法
2016年微型機與應用第07期
董博1,王雪2
(1. 遼寧大學 計算中心,遼寧 沈陽 110036;2. 遼寧大學 信息化中心,遼寧 沈陽 110036)
摘要: 針對網(wǎng)絡安全威脅問題,將人工智能理論和相關技術與網(wǎng)絡安全態(tài)勢評估相融合,提出一種以細化變量進行分組的貝葉斯網(wǎng)絡作為基礎研究的網(wǎng)絡安全態(tài)勢評估方法。該算法可以有效減少變量數(shù)量,縮短產(chǎn)生貝葉斯網(wǎng)絡的程序運行時間,并通過相關實驗驗證了有效地減少變量數(shù)量對最終的結(jié)果并沒有產(chǎn)生過多影響。用本算法對大量網(wǎng)絡實際運行數(shù)據(jù)進行測試,結(jié)果表明該方法能夠很好地區(qū)分不同的網(wǎng)絡安全威脅,從而能夠有效評估網(wǎng)絡安全態(tài)勢。
Abstract:
Key words :

  董博1,王雪2

 ?。?. 遼寧大學 計算中心,遼寧 沈陽 110036;2. 遼寧大學 信息化中心,遼寧 沈陽 110036)

  摘要:針對網(wǎng)絡安全威脅問題,將人工智能理論和相關技術與網(wǎng)絡安全態(tài)勢評估相融合,提出一種以細化變量進行分組的貝葉斯網(wǎng)絡作為基礎研究的網(wǎng)絡安全態(tài)勢評估方法。該算法可以有效減少變量數(shù)量,縮短產(chǎn)生貝葉斯網(wǎng)絡的程序運行時間,并通過相關實驗驗證了有效地減少變量數(shù)量對最終的結(jié)果并沒有產(chǎn)生過多影響。用本算法對大量網(wǎng)絡實際運行數(shù)據(jù)進行測試,結(jié)果表明該方法能夠很好地區(qū)分不同的網(wǎng)絡安全威脅,從而能夠有效評估網(wǎng)絡安全態(tài)勢。

  關鍵詞:貝葉斯網(wǎng)絡;網(wǎng)絡安全;態(tài)勢評估;結(jié)構(gòu)學習

0引言

  網(wǎng)絡安全態(tài)勢感知就是把所收集的與網(wǎng)絡安全相關的要素進行融合,然后按照一定的方法對這些要素進行分析和理解,進而判斷當前網(wǎng)絡的安全態(tài)勢并預測未來的安全態(tài)勢。

1網(wǎng)絡安全態(tài)勢評估方法

  網(wǎng)絡安全態(tài)勢評估是網(wǎng)絡安全態(tài)勢感知的重要環(huán)節(jié),國內(nèi)外學者從不同的角度出發(fā),對網(wǎng)絡安全態(tài)勢評估做了大量科學研究工作。

  在國內(nèi),韋勇等[1]證明了基于多源融合網(wǎng)絡安全態(tài)勢評估比基于單源網(wǎng)絡安全態(tài)勢評估更加準確有效。劉念等[2]提出一種基于免疫的網(wǎng)絡安全態(tài)勢感知方法。

  在國外,Mohsen Naderpour等[3]提出基于SA支持系統(tǒng)的GDTA方法,這種方法能幫助管理人員找出異常情況。Jason shifnet 等開發(fā)了Spinning Cube of Potential Doom 系統(tǒng), 極大地提高了網(wǎng)絡安全態(tài)勢評估能力[4]。

2貝葉斯網(wǎng)絡

  貝葉斯網(wǎng)絡是描述數(shù)據(jù)變量之間依賴關系的圖形模型 ,其描述如下:網(wǎng)絡結(jié)構(gòu)S=(G,Θ)是一個有向圖 ,其中,每一個節(jié)點代表一個數(shù)據(jù)變量,G=(X,E) 是沒有環(huán)路沒有頂點的圖,X={X1,...,Xn}。Θ={P(Xi|Pa(Xi))}為其中Xi節(jié)點在其父節(jié)點的條件概率集合。

  用P(Xi)代表節(jié)點Xi的條件概率密度,Pa(Xi)表示其父節(jié)點集合,由貝葉斯推理公式有:

  P(Xi)=P(Xi|Pa(Xi))(1)

  根據(jù)概率鏈規(guī)則,由n個變量決定的聯(lián)合貝葉斯概率為:

  P(x1,x2,...,xn)=∏ni=1p(xi|Pa(xi))(2)

  在S中不存在任何有向環(huán), 稱為有向無環(huán)圖(Directed Acyclic graph , DAG) 。參考文獻[5]中描述了有向無環(huán)圖的遞推公式:

  r(n)=∑ni=1(-1)i+1n

  i2i(n-1)r(n-i)=n2O(π)(3)

  其中,r(1)=1, r(2)=3, r(3)=25, r(5)=29 281, r(10)=4.2×1018,這意味著,一旦節(jié)點數(shù)大于7,對所有節(jié)點在有效時間內(nèi)執(zhí)行一次完全遍歷是不可能的。

3聚類算法理論框架和研究方法

  由于在構(gòu)建貝葉斯網(wǎng)絡的過程中,網(wǎng)絡的結(jié)構(gòu)復雜性使得變量的數(shù)目過多,造成表達式超指數(shù)的增長。為了解決這個問題,本文采用一種新的聚類算法,采用細分變量作為子集(或群組),通過單獨地學習每一個子集的結(jié)構(gòu),由這些子集的結(jié)構(gòu)最終組裝成最終的結(jié)構(gòu)。

  3.1理論背景

  以下用到的Robinson 公式[5]表明有向無環(huán)圖中變量數(shù)量。其中,n表示變量的數(shù)量,r(1)=1。

  r(n)=∑ni=1(-1)i+12i(n-i)n

  ir(n-i)(4)

  r(n)>∑kl=1r(Jl+1)(5)

  其中,J1+J2+…+Jk=n-1,Jl+1<n, l=1,2,…,k。

  定理1

  對于n≥2,有:

  r(n)≥2n-2nr(n-1)

  r(n)≥2(n-1-J)(n+J-2)2n(n-1)...(J+2)×r(J+1)(6)

  其中,0≦J≦n-1。

  當n=2時,r(2)=3≧2。當n>2時,參考文獻[2]中已經(jīng)證明定理成立。

  定理2

  r(n)∑kl=1r(Jl+1)≥p(n,Jk-Jk+,k)1(7)

  證明:

  由定理1中公式(6):

  r(n)≥2(n-1-Jl)(n+Jl-2)2n(n-1)...(Jl+2)×r(Jl+1)

  l=1,...,k

  所以:

  ∑kl=1r(n)≥2(n-1-Jl)(n+Jl-2)2n(n-1)...(Jl+2)r(Jl+1)(8)

  k×r(n)≥∑kl=12(n-1-(Jk+))(n+(Jk-)-2)2n(n-1)...(Jk++2)r(Jl+1)(9)

  由于上式中,2(n-1-(Jk+))(n+(Jk--2)2n(n-1)...(Jk++2)是常數(shù),與l無關,即:

  k×r(n)≥2(n-1-(Jk+))(n+(Jk-)-2)2n(n-1)...(Jk++2)∑kl=1r(Jl+1)(10)

  因此:

  r(n)∑kl=1r(Jl+1)≥2(n-1-(Jk+))(n+(Jk-)-2)2n(n-1)...(Jk++2)k(11)

  即:

  r(n)∑kl=1r(Jl+1)≥p(n,Jk-Jk+,k)1(12)

  所以:

  r(n)>∑kl=1r(Jl+1)(13)

  例如,存在20個變量分成四個子集,子集1中包含5個變量,子集2中包含3個變量,子集3中包含6個變量,子集4中包含6個變量。則有:

  r(n)=658.114×∑kl=1r(Jl+1)∑kl=1r(Jl+1)(14)

  表明r(n)遠大于∑kl=1r(Jl+1)。

  3.2結(jié)構(gòu)學習過程

  貝葉斯網(wǎng)絡學習過程的主要目的是在相應變量間進行推理,得出有效的因果關系,從而形成一個有向無環(huán)圖。對所有的變量(包括興趣變量)進行結(jié)構(gòu)學習。最終的結(jié)構(gòu)學習過程如算法1。

  算法1貝葉斯分組學習優(yōu)化算法

  定義:n:分組數(shù)量

  λi:分組的索引

  Vij:在λi分組下的變量j索引

  P(Vij): Vij的父集

  N: 類的變量節(jié)點

  STi:分組i的變量結(jié)構(gòu)

  Oi:分組變量排序

  Nλi:屬于λi分組內(nèi)的變量數(shù)量

  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λi do

  9:從STi中開始,添加到ST1中并保留從

  10:Vij和P(Vij)之間的弧

  11:End For

  12: End For

  很多學者提出了多種關于貝葉斯網(wǎng)絡的結(jié)構(gòu)學習算法,比如MWST算法、TPDA(Three Phase Dependency Analysis)算法、K2算法、ACOB (Ant Colony OptimizationB algorithm)等。本文選用K2算法進行對比分析的主要原因是K2算法的計算時間短,算法復雜度低,穩(wěn)定度高。為了解決初始變量有序化問題,采用了MWST算法。MWST算法對數(shù)據(jù)集大小的變化不太敏感,并能產(chǎn)生初始化序列,而且其產(chǎn)生的圖與之前的圖差別不大。因此,采用MWST算法既能滿足初始化序列的要求又能非常準確地接近原始數(shù)據(jù),可以成為K2算法的有效輸入。

4實驗過程與結(jié)果

  選用了BNT toolbox工具包和Matlab2014b實驗平臺,實現(xiàn)MWST算法和K2算法的結(jié)構(gòu)學習過程。

  運行環(huán)境為:Inter Core2 2.8GHz處理器,4 GB內(nèi)存,Win7 64位操作系統(tǒng),系統(tǒng)平均CPU利用率為38%,內(nèi)存的平均使用率為17%。

  數(shù)據(jù)來源采用美國林肯實驗室的數(shù)據(jù)KDDCUP,其包含連續(xù)屬性及離散屬性等不同屬性值(如攻擊持續(xù)時間、網(wǎng)絡協(xié)議類型等),并標有其所屬的類型(如正?;蚓唧w的攻擊類型) 。所有攻擊主要分為以下4大類:

 ?。?)DoS(Denial of Service Attacks ):拒絕服務。

 ?。?)UToR(User to Root Attacks):試圖獲取根用戶權(quán)限。

  (3)RToL(Remote to Local User Attacks):入侵者試圖利用系統(tǒng)的缺陷繞過防火墻。

  (4)Probe(Probe in network):端口掃描。

  4.1Kmeans算法數(shù)據(jù)預處理

  設定聚類范圍為 2~10,采用層次聚類算法和自舉技術優(yōu)化的K2算法進行聚類,得到每個因素的聚類準則值,如圖1所示。找到最佳聚類數(shù)和聚類中心可以使每個屬性更好地反映數(shù)據(jù)特性,避免由專家指定而造圖1各屬性聚類準則值

002.jpg

  成的主觀影響。同理適用于其他影響因素,得到其最佳聚類數(shù)和聚類中心如表1所示。

  

004.jpg

  4.2實驗具體過程

  (1)選取10%的數(shù)據(jù)集(共 494 019 條連接記錄)作為樣本訓練數(shù)據(jù)集。之后獲取來自于本校的防火墻日志,使用20150104 00:00:00 到20150107 23:59:59之間,合計四天共96 h的數(shù)據(jù),共875個報警事件作為測試集。

  (2)對訓練集中連續(xù)性屬性進行離散化處理,確保其中屬性數(shù)據(jù)值在 100 個左右,并在此基礎上進行分組貝葉斯算法的分類試驗。

  (3)分別用本文提出的算法和經(jīng)典的K2算法分別獲取100個變量和1 024個變量。

 ?。?)對數(shù)據(jù)進行歸類,按照相關試驗類型的不同預歸類成2 類或5個主要類。

 ?。?)分兩種情況對算法進行比較:

 ?、贁?shù)據(jù)記錄只分類成正常(Normal)或異常(Unnormal)兩類,即將所有具體類型的攻擊都作為異常類。

 ?、跀?shù)據(jù)記錄分類成 5大類 (Normal、DoS、UToR、RToL、Probe),各具體攻擊類型分別歸類到這5類中。

  4.3實驗結(jié)果和分析

  在第一階段實驗過程中,分別用K2算法和本文設計的算法對不同的數(shù)據(jù)集進行運算??梢钥闯?,與經(jīng)典的K2算法相比,本文算法運行時間得到了有效的縮短。在第二階段實驗中,驗證了分組變量對實驗結(jié)果的影響微乎其微,如表2所示。其中訓練集數(shù)據(jù)分別含有100個變量和1 024個變量。 

005.jpg

  對于算法有效性的評價標準采用分類準確率來衡量。采取兩種情形進行試驗,第一種情形將數(shù)據(jù)的類型分成兩種如表3所示,可以看出本文算法分類準確度明顯優(yōu)于K2算法。第二種情形將數(shù)據(jù)分成5類,結(jié)果如圖2和圖3表3分類準確率(%)類型訓練集測試集本文。

006.jpg

  

  從圖2和圖3可以看出,本文所提算法在準確率方面也優(yōu)于K2算法。但無論是本文方法還是傳統(tǒng)的K2算法,在UToR與RToL訓練樣本的分類準確度上,還都達不到較好的效果,主要原因是這兩種訓練樣本占整體樣本比例相對較少。當訓練樣本的數(shù)量較多時,分類的準確率會得到較大提升。

003.jpg

5結(jié)束語

  首先,本文在數(shù)學上證明了通過對相關變量進行分組并形成相關的聚類可以有效地減少貝葉斯網(wǎng)絡的規(guī)模。其次,選取了Kmeans方法優(yōu)化了聚類過程。最后,通過實驗證明本文方法可以大量減少網(wǎng)絡態(tài)勢分析中的變量數(shù)量,并且丟失的數(shù)據(jù)在實際評估過程中不影響推理過程所產(chǎn)生的貝葉斯網(wǎng)絡,同時節(jié)省了大量的程序執(zhí)行時間。

001.jpg

參考文獻

  [1] 韋勇,連一峰,馮登國. 基于信息融合的網(wǎng)絡安全態(tài)勢評估模型[J].計算機研究與發(fā)展, 2009, 46(3):353362.

  [2] 劉念,劉孫俊,劉勇,等.一種基于免疫的網(wǎng)絡安全態(tài)勢感知方法[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.

 ?。?] STEPHEN L.The spinning cube of potential doom[J]. Communications ACM,2004, 47(6): 2526.

 ?。?] ROBINSON R W. Counting unlabeled acyclic digraphs[C].In: Lecture Notes in Mathematics, Combinatorial Mathematics, 1977:2843.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。