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