劉志明
(長(zhǎng)沙民政職業(yè)技術(shù)學(xué)院 湖南 長(zhǎng)沙 410004)
在網(wǎng)絡(luò)安全態(tài)勢(shì)感知中,態(tài)勢(shì)要素提取是首要步驟,主要是在收集到的多元異構(gòu)數(shù)據(jù)中提取出會(huì)對(duì)態(tài)勢(shì)環(huán)境造成影響的關(guān)鍵因素,這一步驟中提取的精準(zhǔn)度會(huì)直接影響后續(xù)數(shù)據(jù)的處理與分析結(jié)果。但縱觀目前常見的幾種網(wǎng)絡(luò)安全態(tài)勢(shì)感知方法[1-3],效果并不盡如人意??軓V等[4]提出基于反向傳播算法和深度堆棧編碼器的網(wǎng)絡(luò)安全態(tài)勢(shì)要素識(shí)別模型,并結(jié)合無監(jiān)督學(xué)習(xí)算法實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的訓(xùn)練。李騰飛等[5]提出基于拓?fù)渎┒捶治龅木W(wǎng)絡(luò)安全態(tài)勢(shì)感知模型,借助有限狀態(tài)機(jī)獲取網(wǎng)絡(luò)狀態(tài),并對(duì)其態(tài)勢(shì)組成值進(jìn)行計(jì)算,通過對(duì)態(tài)勢(shì)要素的提取經(jīng)過數(shù)值對(duì)比得出實(shí)際的網(wǎng)絡(luò)安全狀態(tài)。雖然上述兩種方法都具有一定優(yōu)勢(shì),效能較高,但在分類正確率和召回率方面卻存在明顯的不足之處。
為解決上述問題,本文提出基于貝葉斯卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)安全態(tài)勢(shì)要素提取方法,并采用非負(fù)矩陣分解算法進(jìn)行多特征降維,獲取到更為精準(zhǔn)的態(tài)勢(shì)要素信息分類函數(shù),以此實(shí)現(xiàn)對(duì)特征空間的縮小,為后續(xù)的數(shù)據(jù)處理與分析提供便利。
貝葉斯卷積網(wǎng)絡(luò)(BCNN)是建立在概率分布基礎(chǔ)上的一種神經(jīng)網(wǎng)絡(luò)模型[6-8]。通過在特定分布下對(duì)參數(shù)進(jìn)行取值,每經(jīng)過一次迭代計(jì)算,隨機(jī)選取一個(gè)參數(shù)值進(jìn)行特征運(yùn)算,如圖1所示為BCNN 的權(quán)重。
圖1 BCNN 權(quán)重
BCNN 的權(quán)重參數(shù)并非是一個(gè)確定的值,而是服從一定概率分布下的一個(gè)隨機(jī)變量,圖2中的權(quán)重則是μ/σ。BCNN 能夠借助對(duì)簡(jiǎn)單分布的構(gòu)建逼近復(fù)雜擬合函數(shù),結(jié)合概率模型和神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)對(duì)整個(gè)模型性能的提升。
搭建BCNN 網(wǎng)絡(luò)安全態(tài)勢(shì)信息提取模型,如圖2所示。
圖2 BCNN 網(wǎng)絡(luò)安全態(tài)勢(shì)信息提取模型
BCNN 網(wǎng)絡(luò)安全態(tài)勢(shì)提取模型的卷積操作步驟如下:
第一,利用重參數(shù)化技巧在卷積核的權(quán)重分布中確定一個(gè)權(quán)重值,公式如下:
其中,convmean代表權(quán)重分布的均值,convstd代表權(quán)重分布的標(biāo)準(zhǔn)差,而∈~N(0,1)。
第二,利用感受野對(duì)獲取到的卷積核進(jìn)行卷積操作,公式如下:
其中,R代表感受野區(qū)域。
第三,利用重參數(shù)化對(duì)卷積層進(jìn)行優(yōu)化,將前向傳播轉(zhuǎn)變?yōu)榭蓪?dǎo),并在反向傳播中更新權(quán)重高斯分布的參數(shù),也就是均值和方差。
而在BCNN 網(wǎng)絡(luò)安全態(tài)勢(shì)提取模型的全連接層中,同樣采用重參數(shù)方法進(jìn)行參數(shù)采樣。假設(shè)基于標(biāo)準(zhǔn)高斯分布進(jìn)行采樣,每個(gè)權(quán)重參數(shù)函數(shù)如下:
式(3)中,σ代表標(biāo)準(zhǔn)差,μ代表期望。
基于此可得到參數(shù)更新公式如下:
通過局部重參數(shù)化能夠使變分情況下貝葉斯推斷隨機(jī)梯度的方差在后驗(yàn)概率模型參數(shù)中有所減少,并且具有可并行性。
基于上述獲取到的態(tài)勢(shì)要素信息,利用非負(fù)矩陣分解算法進(jìn)行進(jìn)一步的篩選和降維。具體過程如下:
對(duì)分類態(tài)勢(shì)信息進(jìn)行模糊,設(shè)定有分類質(zhì)心組成非負(fù)矩陣分解基矩陣的初始值,而分類數(shù)量則是非負(fù)矩陣的分解秩數(shù)。
假設(shè)歷史態(tài)勢(shì)要素的集合為V=[v1,v2,…,vn],其中n代表集合中的樣本數(shù)量,當(dāng)經(jīng)過k分類得到的集合為F=[F1,F(xiàn)2,…,F(xiàn)k],其中k代表分類數(shù)量。而Uij表示的是歷史態(tài)勢(shì)要素對(duì)模糊向量的隸屬度,對(duì)應(yīng)矩陣為應(yīng)注意的是Uij符合為此,制定隸屬度的更新函數(shù)用下式表示:
式(5)中,za代表初始聚類中心,zi代表第i個(gè)聚類中心,vj代表第j個(gè)歷史態(tài)勢(shì)要素,ω代表模糊加權(quán)指數(shù)。最終,確定聚類中心集合為:
目標(biāo)函數(shù)為:
假如式(7)中的計(jì)算結(jié)果比閾值小,則停止迭代,同時(shí)對(duì)非負(fù)矩陣分解基矩陣W 的初始值進(jìn)行設(shè)置,主要由聚類中心集合組成。
為此可分解歷史態(tài)勢(shì)要素矩陣Vm×n為Wm×n和Hm×n兩個(gè)非負(fù)矩陣,二者相乘得到的積與原始非負(fù)矩陣無限逼近,Wm×nHm×n≈Vm×n。其中,Hm×n代表系數(shù)矩陣,Wm×n代表基矩陣,目標(biāo)函數(shù)為最小化剩余Frobenius,用式(8)表示:
當(dāng)V=WH時(shí),取值是0。
收斂目標(biāo)函數(shù)前,需利用模糊分類得到質(zhì)心的初始化基矩陣,利用W和H矩陣間的交替更新,用下式代表矩陣的迭代規(guī)則:
歷經(jīng)反復(fù)迭代,最終確定系數(shù)矩陣Hi和基矩陣Wi,并將之前的樣本矩陣用系數(shù)矩陣替代,從而實(shí)現(xiàn)網(wǎng)絡(luò)安全態(tài)勢(shì)要素的多特征降維。
基于態(tài)勢(shì)信息集合H=(xi,yi),用xi=(x1,x2,…,xj)表示集合中的某一元素,而代表類標(biāo)簽。針對(duì)任一類中的所有元素集合,在對(duì)應(yīng)的高維空間內(nèi)存在超球體(a,R)中含有所有的元素?cái)?shù)量,對(duì)函數(shù)表達(dá)時(shí)進(jìn)行優(yōu)化,同時(shí)結(jié)合拉格朗日公式對(duì)其進(jìn)行轉(zhuǎn)化,轉(zhuǎn)化后的表達(dá)式為
在上式中,L代表目標(biāo)函數(shù),而ai與aj代表拉格朗日因子。
利用d2(x)對(duì)集合中任一樣本信息點(diǎn)與超球體球心間的距離進(jìn)行表示,并借助高斯核函數(shù)對(duì)此距離進(jìn)行計(jì)算,如下:
式(11)中,高斯核函數(shù)為k(xi,yj)。
由此可確定最終的分類函數(shù)為:
結(jié)合上式可對(duì)其分類展開訓(xùn)練,步驟如下:
步驟1:初始化超球體半徑、球心為0,初始化拉格朗日因子為1/n,并計(jì)算訓(xùn)練樣本信息點(diǎn)與超球體球心間的距離;
步驟2:在0 <ai<C條件下,將滿足此條件的樣本點(diǎn)全部提取,并從中找出第一個(gè)與KFT 條件不符合的x1,執(zhí)行步驟4;
步驟3:在ai=0,ai=C條件下,將滿足此條件的樣本點(diǎn)全部提取,并從中找出與KFT 條件不符合的所有樣本點(diǎn),當(dāng)結(jié)果為0 時(shí),執(zhí)行步驟7;
步驟4:對(duì)條件max(|d12-d22|)進(jìn)行設(shè)置,將x2確定為樣本點(diǎn),使目標(biāo)函數(shù)為最大限度,并再次對(duì)拉格朗日因子進(jìn)行優(yōu)化,記為a1'和a2';a2進(jìn)行更新,之后再對(duì)得到的距離參數(shù)d12、d22和超球體
步驟5:依照上述得到的a1'和a2',采用下式對(duì)半徑參數(shù)R2進(jìn)行更新;
步驟6:執(zhí)行步驟2;
步驟7:訓(xùn)練結(jié)束。
實(shí)驗(yàn)數(shù)據(jù)選取NSL-KDD 數(shù)據(jù)集,包含正常與異常兩種數(shù)據(jù)集。異常數(shù)據(jù)集中囊括R2L、DoS、U2R、Probe 四種常見攻擊類型。數(shù)據(jù)分布情況如表1所示:
表1 數(shù)據(jù)分布
而性能評(píng)價(jià)指標(biāo)的選擇主要包括分類正確率、召回率及誤警率。分類正確率為正確劃分樣本的數(shù)量與全部樣本數(shù)量的比值;召回率為檢測(cè)得到的正常類樣本數(shù)量與全部樣本數(shù)量的比值;而誤警率為檢測(cè)得到正常類樣本中錯(cuò)誤樣本數(shù)量與全部樣本數(shù)量的比值。運(yùn)用這三個(gè)指標(biāo)來實(shí)現(xiàn)對(duì)文中提出方法效果的檢驗(yàn)。
運(yùn)用SPSS 22.0 軟件對(duì)確定的實(shí)驗(yàn)數(shù)據(jù)進(jìn)行處理,分別以分類正確率、召回率和誤警率為指標(biāo),對(duì)比文中提出方法和李騰飛等[5]提出的基于拓?fù)渎┒捶治龅囊刈R(shí)別方法,得到的結(jié)果如表2所示。
表2 文中提出方法和李騰飛等[5]提出方法實(shí)驗(yàn)結(jié)果對(duì)比
根據(jù)表2中的數(shù)據(jù)顯示:對(duì)于分類正確率,基于拓?fù)渎┒捶治龅囊刈R(shí)別方法平均分類正確率為82.45%,而文中提出方法的平均正確率高達(dá)90.95%,可見文中提出方法的分類正確率相對(duì)較高;對(duì)于召回率,基于拓?fù)渎┒捶治龅囊刈R(shí)別方法的召回率,無論在何類別上均不計(jì)文中提出的方法;對(duì)于誤警率,除DoS 類別外,文中提出方法的誤警率均小于基于拓?fù)渎┒捶治龅囊刈R(shí)別方法。
長(zhǎng)期以來,網(wǎng)絡(luò)安全態(tài)勢(shì)要素提取都是網(wǎng)絡(luò)安全領(lǐng)域的重點(diǎn)研究?jī)?nèi)容,為進(jìn)一步提高網(wǎng)絡(luò)安全態(tài)勢(shì)要素提取的分類正確率、召回率,減少誤警情況,提出基于BCNN 的網(wǎng)絡(luò)安全態(tài)勢(shì)要素提取方法,并在此基礎(chǔ)上,利用非負(fù)矩陣分解算法實(shí)現(xiàn)多特征降維,構(gòu)造分類器,最終實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)安全態(tài)勢(shì)要素的進(jìn)一步篩選。實(shí)驗(yàn)結(jié)果顯示,所提出的網(wǎng)絡(luò)安全態(tài)勢(shì)要素提取方法分類正確率和召回率較高,誤警率更低。