董博1,,王雪2
?。?. 遼寧大學 計算中心,遼寧 沈陽 110036,;2. 遼寧大學 信息化中心,,遼寧 沈陽 110036)
摘要:針對網絡安全威脅問題,將人工智能理論和相關技術與網絡安全態(tài)勢評估相融合,,提出一種以細化變量進行分組的貝葉斯網絡作為基礎研究的網絡安全態(tài)勢評估方法,。該算法可以有效減少變量數量,縮短產生貝葉斯網絡的程序運行時間,,并通過相關實驗驗證了有效地減少變量數量對最終的結果并沒有產生過多影響,。用本算法對大量網絡實際運行數據進行測試,,結果表明該方法能夠很好地區(qū)分不同的網絡安全威脅,從而能夠有效評估網絡安全態(tài)勢,。
關鍵詞:貝葉斯網絡,;網絡安全;態(tài)勢評估,;結構學習
0引言
網絡安全態(tài)勢感知就是把所收集的與網絡安全相關的要素進行融合,,然后按照一定的方法對這些要素進行分析和理解,進而判斷當前網絡的安全態(tài)勢并預測未來的安全態(tài)勢,。
1網絡安全態(tài)勢評估方法
網絡安全態(tài)勢評估是網絡安全態(tài)勢感知的重要環(huán)節(jié),,國內外學者從不同的角度出發(fā),對網絡安全態(tài)勢評估做了大量科學研究工作,。
在國內,,韋勇等[1]證明了基于多源融合網絡安全態(tài)勢評估比基于單源網絡安全態(tài)勢評估更加準確有效。劉念等[2]提出一種基于免疫的網絡安全態(tài)勢感知方法,。
在國外,,Mohsen Naderpour等[3]提出基于SA支持系統(tǒng)的GDTA方法,這種方法能幫助管理人員找出異常情況,。Jason shifnet 等開發(fā)了Spinning Cube of Potential Doom 系統(tǒng),, 極大地提高了網絡安全態(tài)勢評估能力[4]。
2貝葉斯網絡
貝葉斯網絡是描述數據變量之間依賴關系的圖形模型 ,其描述如下:網絡結構S=(G,Θ)是一個有向圖 ,其中,,每一個節(jié)點代表一個數據變量,,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)
根據概率鏈規(guī)則,由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é)點數大于7,,對所有節(jié)點在有效時間內執(zhí)行一次完全遍歷是不可能的。
3聚類算法理論框架和研究方法
由于在構建貝葉斯網絡的過程中,,網絡的結構復雜性使得變量的數目過多,,造成表達式超指數的增長。為了解決這個問題,,本文采用一種新的聚類算法,,采用細分變量作為子集(或群組),通過單獨地學習每一個子集的結構,由這些子集的結構最終組裝成最終的結構,。
3.1理論背景
以下用到的Robinson 公式[5]表明有向無環(huán)圖中變量數量,。其中,n表示變量的數量,,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]中已經證明定理成立,。
定理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)是常數,,與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結構學習過程
貝葉斯網絡學習過程的主要目的是在相應變量間進行推理,,得出有效的因果關系,,從而形成一個有向無環(huán)圖。對所有的變量(包括興趣變量)進行結構學習,。最終的結構學習過程如算法1,。
算法1貝葉斯分組學習優(yōu)化算法
定義:n:分組數量
λi:分組的索引
Vij:在λi分組下的變量j索引
P(Vij): Vij的父集
N: 類的變量節(jié)點
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λi do
9:從STi中開始,添加到ST1中并保留從
10:Vij和P(Vij)之間的弧
11:End For
12: End For
很多學者提出了多種關于貝葉斯網絡的結構學習算法,,比如MWST算法,、TPDA(Three Phase Dependency Analysis)算法、K2算法,、ACOB (Ant Colony OptimizationB algorithm)等,。本文選用K2算法進行對比分析的主要原因是K2算法的計算時間短,算法復雜度低,穩(wěn)定度高,。為了解決初始變量有序化問題,,采用了MWST算法。MWST算法對數據集大小的變化不太敏感,,并能產生初始化序列,,而且其產生的圖與之前的圖差別不大。因此,,采用MWST算法既能滿足初始化序列的要求又能非常準確地接近原始數據,,可以成為K2算法的有效輸入。
4實驗過程與結果
選用了BNT toolbox工具包和Matlab2014b實驗平臺,,實現MWST算法和K2算法的結構學習過程,。
運行環(huán)境為:Inter Core2 2.8GHz處理器,4 GB內存,,Win7 64位操作系統(tǒng),,系統(tǒng)平均CPU利用率為38%,內存的平均使用率為17%,。
數據來源采用美國林肯實驗室的數據KDDCUP,,其包含連續(xù)屬性及離散屬性等不同屬性值(如攻擊持續(xù)時間、網絡協議類型等),,并標有其所屬的類型(如正?;蚓唧w的攻擊類型) 。所有攻擊主要分為以下4大類:
?。?)DoS(Denial of Service Attacks ):拒絕服務,。
(2)UToR(User to Root Attacks):試圖獲取根用戶權限,。
?。?)RToL(Remote to Local User Attacks):入侵者試圖利用系統(tǒng)的缺陷繞過防火墻。
?。?)Probe(Probe in network):端口掃描,。
4.1Kmeans算法數據預處理
設定聚類范圍為 2~10,采用層次聚類算法和自舉技術優(yōu)化的K2算法進行聚類,,得到每個因素的聚類準則值,,如圖1所示。找到最佳聚類數和聚類中心可以使每個屬性更好地反映數據特性,,避免由專家指定而造圖1各屬性聚類準則值
成的主觀影響,。同理適用于其他影響因素,得到其最佳聚類數和聚類中心如表1所示,。
4.2實驗具體過程
(1)選取10%的數據集(共 494 019 條連接記錄)作為樣本訓練數據集,。之后獲取來自于本校的防火墻日志,使用20150104 00:00:00 到20150107 23:59:59之間,合計四天共96 h的數據,,共875個報警事件作為測試集,。
(2)對訓練集中連續(xù)性屬性進行離散化處理,,確保其中屬性數據值在 100 個左右,,并在此基礎上進行分組貝葉斯算法的分類試驗。
?。?)分別用本文提出的算法和經典的K2算法分別獲取100個變量和1 024個變量,。
(4)對數據進行歸類,,按照相關試驗類型的不同預歸類成2 類或5個主要類,。
(5)分兩種情況對算法進行比較:
?、贁祿涗浿环诸惓烧?Normal)或異常(Unnormal)兩類,,即將所有具體類型的攻擊都作為異常類。
?、跀祿涗浄诸惓?5大類 (Normal,、DoS、UToR,、RToL,、Probe),各具體攻擊類型分別歸類到這5類中,。
4.3實驗結果和分析
在第一階段實驗過程中,分別用K2算法和本文設計的算法對不同的數據集進行運算,??梢钥闯觯c經典的K2算法相比,,本文算法運行時間得到了有效的縮短,。在第二階段實驗中,驗證了分組變量對實驗結果的影響微乎其微,,如表2所示,。其中訓練集數據分別含有100個變量和1 024個變量。
對于算法有效性的評價標準采用分類準確率來衡量,。采取兩種情形進行試驗,,第一種情形將數據的類型分成兩種如表3所示,可以看出本文算法分類準確度明顯優(yōu)于K2算法,。第二種情形將數據分成5類,,結果如圖2和圖3表3分類準確率(%)類型訓練集測試集本文。
從圖2和圖3可以看出,本文所提算法在準確率方面也優(yōu)于K2算法,。但無論是本文方法還是傳統(tǒng)的K2算法,,在UToR與RToL訓練樣本的分類準確度上,還都達不到較好的效果,,主要原因是這兩種訓練樣本占整體樣本比例相對較少,。當訓練樣本的數量較多時,分類的準確率會得到較大提升,。
5結束語
首先,,本文在數學上證明了通過對相關變量進行分組并形成相關的聚類可以有效地減少貝葉斯網絡的規(guī)模。其次,,選取了Kmeans方法優(yōu)化了聚類過程,。最后,通過實驗證明本文方法可以大量減少網絡態(tài)勢分析中的變量數量,,并且丟失的數據在實際評估過程中不影響推理過程所產生的貝葉斯網絡,,同時節(jié)省了大量的程序執(zhí)行時間。
參考文獻
?。?] 韋勇,,連一峰,馮登國. 基于信息融合的網絡安全態(tài)勢評估模型[J].計算機研究與發(fā)展,, 2009,, 46(3):353362.
[2] 劉念,劉孫俊,劉勇,等.一種基于免疫的網絡安全態(tài)勢感知方法[J]. 計算機科學, 2010,37(1):126129.[3] NADERPOUR M, LU J, ZHANG G. An intelligent situation awareness support system for safetycritical environments[J]. Decision Support Systems, 2014,59(1):325340.
?。?] STEPHEN L.The spinning cube of potential doom[J]. Communications ACM,2004, 47(6): 2526.
?。?] ROBINSON R W. Counting unlabeled acyclic digraphs[C].In: Lecture Notes in Mathematics, Combinatorial Mathematics, 1977:2843.