董 博,王 雪
(1. 遼寧大學(xué) 計(jì)算中心,遼寧 沈陽(yáng) 110036;2. 遼寧大學(xué) 信息化中心,遼寧 沈陽(yáng) 110036)
?
基于變量分組貝葉斯網(wǎng)絡(luò)的安全態(tài)勢(shì)評(píng)估方法
董 博1,王 雪2
(1. 遼寧大學(xué) 計(jì)算中心,遼寧 沈陽(yáng) 110036;2. 遼寧大學(xué) 信息化中心,遼寧 沈陽(yáng) 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ì)。
貝葉斯網(wǎng)絡(luò);網(wǎng)絡(luò)安全;態(tài)勢(shì)評(píng)估;結(jié)構(gòu)學(xué)習(xí)
網(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ì)。
網(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]。
貝葉斯網(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)合貝葉斯概率為:
(2)
在S中不存在任何有向環(huán), 稱為有向無環(huán)圖(Directed Acyclic graph , DAG) 。參考文獻(xiàn)[5]中描述了有向無環(huán)圖的遞推公式:
(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í)行一次完全遍歷是不可能的。
由于在構(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。
(4)
(5)
其中,J1+J2+…+Jk=n-1,Jl+1 定理1 對(duì)于n≥2,有: r(n)≥2n-2nr(n-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 (7) 證明: 由定理1中公式(6): l=1,...,k 所以: (8) (9) (10) 因此: (11) 即: (12) 所以: (13) 例如,存在20個(gè)變量分成四個(gè)子集,子集1中包含5個(gè)變量,子集2中包含3個(gè)變量,子集3中包含6個(gè)變量,子集4中包含6個(gè)變量。則有: (14) 3.2 結(jié)構(gòu)學(xué)習(xí)過程 貝葉斯網(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λido 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 Optimization-B 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算法的有效輸入。 選用了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)有其所屬的類型(如正常或具體的攻擊類型) 。所有攻擊主要分為以下4大類: (1)DoS(Denial of Service Attacks ):拒絕服務(wù)。 (2)UToR(User to Root Attacks):試圖獲取根用戶權(quán)限。 (3)RToL(Remote to Local User Attacks):入侵者試圖利用系統(tǒng)的缺陷繞過防火墻。 (4)Probe(Probe in network):端口掃描。 4.1 K-means算法數(shù)據(jù)預(yù)處理 圖1 各屬性聚類準(zhǔn)則值 設(shè)定聚類范圍為 2~10,采用層次聚類算法和自舉技術(shù)優(yōu)化的K2算法進(jìn)行聚類,得到每個(gè)因素的聚類準(zhǔn)則值,如圖1所示。找到最佳聚類數(shù)和聚類中心可以使每個(gè)屬性更好地反映數(shù)據(jù)特性,避免由專家指定而造成的主觀影響。同理適用于其他影響因素,得到其最佳聚類數(shù)和聚類中心如表1所示。 表1 聚類情況表 4.2 實(shí)驗(yàn)具體過程 (1)選取10%的數(shù)據(jù)集(共 494 019 條連接記錄)作為樣本訓(xùn)練數(shù)據(jù)集。之后獲取來自于本校的防火墻日志,使用2015-01-04 00:00:00 到2015-01-07 23:59:59之間,合計(jì)四天共96 h的數(shù)據(jù),共875個(gè)報(bào)警事件作為測(cè)試集。 (2)對(duì)訓(xùn)練集中連續(xù)性屬性進(jìn)行離散化處理,確保其中屬性數(shù)據(jù)值在 100 個(gè)左右,并在此基礎(chǔ)上進(jìn)行分組貝葉斯算法的分類試驗(yàn)。 (3)分別用本文提出的算法和經(jīng)典的K2算法分別獲取100個(gè)變量和1 024個(gè)變量。 (4)對(duì)數(shù)據(jù)進(jìn)行歸類,按照相關(guān)試驗(yàn)類型的不同預(yù)歸類成2 類或5個(gè)主要類。 (5)分兩種情況對(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è)變量。 表2 CPU運(yùn)行時(shí)間表 對(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è)試集本文算法正常異常99.8999.9193.5899.26K2算法正常異常99.4597.9288.8693.51 從圖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ì)得到較大提升。 圖2 K2算法分類準(zhǔn)確率 首先,本文在數(shù)學(xué)上證明了通過對(duì)相關(guān)變量進(jìn)行分組并形成相關(guān)的聚類可以有效地減少貝葉斯網(wǎng)絡(luò)的規(guī)模。其次,選取了K-means方法優(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í)間。 圖3 分組貝葉斯網(wǎng)絡(luò)算法分類準(zhǔn)確率 [1] 韋勇,連一峰,馮登國(guó). 基于信息融合的網(wǎng)絡(luò)安全態(tài)勢(shì)評(píng)估模型[J].計(jì)算機(jī)研究與發(fā)展, 2009, 46(3):353-362. [2] 劉念,劉孫俊,劉勇,等.一種基于免疫的網(wǎng)絡(luò)安全態(tài)勢(shì)感知方法[J]. 計(jì)算機(jī)科學(xué), 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 董博,王雪.基于變量分組貝葉斯網(wǎng)絡(luò)的安全態(tài)勢(shì)評(píng)估方法[J].微型機(jī)與應(yīng)用,2016,35(7):60-62,66. 2015-12-04) 董博(1981-),男,講師,主要研究方向:數(shù)據(jù)挖掘、網(wǎng)絡(luò)信息安全、無線傳感器網(wǎng)絡(luò)。 王雪(1981-),通信作者,女,中級(jí)實(shí)驗(yàn)師 ,主要研究方向:人工智能、網(wǎng)絡(luò)安全和無線自組織網(wǎng)絡(luò)路由算法。E-mail:wangxue@lnu.edu.cn。4 實(shí)驗(yàn)過程與結(jié)果
5 結(jié)束語(yǔ)
網(wǎng)絡(luò)安全與數(shù)據(jù)管理2016年7期