張 然,潘芷涵,尹毅峰,蔡增玉
鄭州輕工業(yè)大學(xué) 計(jì)算機(jī)與通信工程學(xué)院,鄭州 450000
隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)空間安全問題也變得日益復(fù)雜,網(wǎng)絡(luò)攻擊事件頻發(fā),規(guī)模不斷擴(kuò)大,公共互聯(lián)網(wǎng)安全威脅數(shù)量總體呈大幅上升趨勢,全球網(wǎng)絡(luò)安全正面臨著嚴(yán)峻的挑戰(zhàn)。傳統(tǒng)的網(wǎng)絡(luò)安全防御措施已無法滿足復(fù)雜的網(wǎng)絡(luò)安全需求,因此需要采用更加先進(jìn)的技術(shù)和手段來防范網(wǎng)絡(luò)安全事件的發(fā)生。在此背景下,網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)應(yīng)運(yùn)而生。
網(wǎng)絡(luò)安全態(tài)勢感知的概念最早由Bass[1]提出,包括感知、評(píng)估和預(yù)測三個(gè)層次。自從網(wǎng)絡(luò)安全態(tài)勢感知概念提出以來,國內(nèi)外專家學(xué)者對網(wǎng)絡(luò)安全態(tài)勢感知技術(shù)做了大量研究。Wang等人[2]將卷積神經(jīng)網(wǎng)絡(luò)與長短期記憶循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)合用于電力網(wǎng)絡(luò)的態(tài)勢感知。Wu等人[3]將模糊聚類的分析方法、博弈論和強(qiáng)化學(xué)習(xí)無縫集成,提出一種基于大數(shù)據(jù)分析的安全態(tài)勢感知機(jī)制,并運(yùn)用于智能電力網(wǎng)絡(luò)的安全保護(hù)與檢測。Tao等人[4]采用堆棧式自編碼網(wǎng)絡(luò)對態(tài)勢數(shù)據(jù)進(jìn)行降維處理,來減少數(shù)據(jù)的存儲(chǔ)開銷并提高運(yùn)算效率。Wang等人[5]通過引入模糊c-means、混合層次遺傳算法和最小二乘法對傳統(tǒng)RBF(radial basis function,RBF)神經(jīng)網(wǎng)絡(luò)的參數(shù)和結(jié)構(gòu)進(jìn)行優(yōu)化來評(píng)估網(wǎng)絡(luò)安全態(tài)勢。常利偉等人[6]引入多源異構(gòu)數(shù)據(jù)融合策略來解決單點(diǎn)網(wǎng)絡(luò)數(shù)據(jù)無法有效地分析網(wǎng)絡(luò)安全狀況的問題。馮學(xué)偉等人[7]利用反正切和修正函數(shù)來設(shè)計(jì)證據(jù)理論中的經(jīng)驗(yàn)函數(shù)并將證據(jù)理論運(yùn)用到網(wǎng)絡(luò)安全態(tài)勢評(píng)估中。Smith[8]開發(fā)和改進(jìn)網(wǎng)絡(luò)安全檢測工具以應(yīng)對日益復(fù)雜的互聯(lián)網(wǎng)攻擊事件。Yegneswaran等人[9]利用Honeynets進(jìn)行態(tài)勢評(píng)估,通過構(gòu)建安全態(tài)勢曲線來分析當(dāng)前網(wǎng)絡(luò)安全狀況,但是該曲線并不能在所有遭受攻擊的時(shí)刻都能呈現(xiàn)出明顯的效果,因此該態(tài)勢評(píng)估方法還不夠全面。Kotenko等人[10]使用可視化技術(shù)顯示一組安全指標(biāo)用來評(píng)估網(wǎng)絡(luò)安全態(tài)勢以及網(wǎng)絡(luò)保護(hù)機(jī)制的效率。Holsopple等人[11]總結(jié)了從可視化到算法威脅預(yù)測的相關(guān)工作,并描述了一個(gè)將態(tài)勢評(píng)估過程和模型與需求相關(guān)聯(lián)來增強(qiáng)態(tài)勢感知的以人為本的框架。這些態(tài)勢評(píng)估模型或算法在原有基礎(chǔ)上有了一定的改進(jìn),但是在評(píng)估的準(zhǔn)確性和算法的收斂性方面仍有提升的空間。
在之前的工作中采用麻雀搜索算法(sparrow search algorithm,SSA)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network,BPNN)并應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢評(píng)估,與其他BPNN評(píng)估模型相比,該模型在一定程度上提高了態(tài)勢評(píng)估的效率和準(zhǔn)確性,但SSA算法往往會(huì)出現(xiàn)因收斂速度快陷入局部極值的問題。為了解決該問題,本文引入模擬退火算法(simulated annealing algorithm,SAA)對SSA進(jìn)行改進(jìn),提出一種基于SAA-SSA-BPNN的網(wǎng)絡(luò)安全態(tài)勢評(píng)估模型,并通過實(shí)驗(yàn)驗(yàn)證該模型評(píng)估的精準(zhǔn)性和效果。
網(wǎng)絡(luò)安全態(tài)勢指標(biāo)體系是否科學(xué)合理直接影響著網(wǎng)絡(luò)安全態(tài)勢評(píng)估的最終結(jié)果。因此,在進(jìn)行態(tài)勢評(píng)估之前,先根據(jù)一定的原則[12]構(gòu)建合理客觀的態(tài)勢指標(biāo)體系,對網(wǎng)絡(luò)安全態(tài)勢評(píng)估工作具有重要意義。
有很多因素都會(huì)對網(wǎng)絡(luò)態(tài)勢造成影響,而且它們之間相互起到制約作用。因此,建立客觀合理的態(tài)勢指標(biāo)體系是一項(xiàng)相當(dāng)復(fù)雜的工作,需要在構(gòu)建指標(biāo)體系時(shí)遵循一定的原則,采用合適的方法和步驟,反復(fù)統(tǒng)計(jì)分析、綜合權(quán)衡和歸納,這樣才能構(gòu)建出科學(xué)合理的態(tài)勢指標(biāo)體系。網(wǎng)絡(luò)安全態(tài)勢指標(biāo)體系的構(gòu)建主要遵循以下幾個(gè)原則:相似相近原則、分層原則和動(dòng)靜結(jié)合原則。相似相近原則指需要把特性相似的指標(biāo)歸為一類考慮,如數(shù)據(jù)包的分布和數(shù)據(jù)包大小的分布;分層原則指對網(wǎng)絡(luò)產(chǎn)生不同程度影響的指標(biāo)需要分別考慮,如有針對子網(wǎng)的指標(biāo),有針對宏觀網(wǎng)絡(luò)的指標(biāo);動(dòng)靜結(jié)合原則指需要把特性不同的指標(biāo)分開考慮,如流量和網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
網(wǎng)絡(luò)安全態(tài)勢指標(biāo)體系可以從整體上描述網(wǎng)絡(luò)的安全狀況。按照態(tài)勢指標(biāo)體系構(gòu)建原則,本文構(gòu)建了一個(gè)樹狀層次結(jié)構(gòu)的安全態(tài)勢指標(biāo)體系,如圖1所示。該指標(biāo)體系分為兩個(gè)一級(jí)指標(biāo)、四個(gè)二級(jí)指標(biāo)和二十個(gè)三級(jí)指標(biāo),分別從脆弱性、威脅性、容災(zāi)性和穩(wěn)定性四方面對網(wǎng)絡(luò)系統(tǒng)的安全風(fēng)險(xiǎn)和運(yùn)行狀態(tài)特性進(jìn)行描述。
圖1 網(wǎng)絡(luò)安全態(tài)勢評(píng)估指標(biāo)體系Fig.1 Network security situation assessment index system
本文基于該指標(biāo)體系對網(wǎng)絡(luò)系統(tǒng)所遭受的安全威脅進(jìn)行評(píng)估,使用威脅性指標(biāo)下的五個(gè)三級(jí)指標(biāo):感染病毒的主機(jī)數(shù)量、被篡改的網(wǎng)站數(shù)量、被植入后門的網(wǎng)站數(shù)量、仿冒網(wǎng)站數(shù)量和新增安全漏洞數(shù)量,設(shè)定每個(gè)指標(biāo)的權(quán)重相等。實(shí)驗(yàn)數(shù)據(jù)采集自國家互聯(lián)網(wǎng)應(yīng)急中心《網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)》。
本文引入模擬退火算法(SAA)優(yōu)化的麻雀搜索算法(SSA)來改進(jìn)BP神經(jīng)網(wǎng)絡(luò)(BPNN)并應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢評(píng)估。首先根據(jù)所構(gòu)建的指標(biāo)體系,收集相應(yīng)的態(tài)勢數(shù)據(jù)并進(jìn)行預(yù)處理,然后對SAA-SSA算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后用生成的評(píng)估模型進(jìn)行態(tài)勢評(píng)估,并對輸出結(jié)果進(jìn)行分析。整個(gè)態(tài)勢評(píng)估過程分為三部分,具體的態(tài)勢評(píng)估模型如圖2所示。
圖2 基于SAA-SSA-BPNN的態(tài)勢評(píng)估模型Fig.2 Situation assessment model based on SAA-SSA-BPNN
(1)數(shù)據(jù)采集與處理模塊
構(gòu)建指標(biāo)體系并收集來自國家互聯(lián)網(wǎng)應(yīng)急中心《網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)》從2015年第1期至2021年第21期中的308條數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù),對數(shù)據(jù)進(jìn)行歸一化處理,將其中298條數(shù)據(jù)作為訓(xùn)練集,10條作為測試集。
(2)生成態(tài)勢評(píng)估模型模塊
根據(jù)輸入輸出數(shù)據(jù)的特征確定BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu),利用SAA-SSA算法對BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值進(jìn)行參數(shù)尋優(yōu),將得到的最優(yōu)參數(shù)組合賦給BP神經(jīng)網(wǎng)絡(luò)后輸入訓(xùn)練數(shù)據(jù)對其進(jìn)行訓(xùn)練,生成SAA-SSABPNN態(tài)勢評(píng)估模型。
(3)評(píng)估與結(jié)果分析模塊
將測試數(shù)據(jù)輸入到SAA-SSA-BPNN態(tài)勢評(píng)估模型中得到態(tài)勢評(píng)估值,依照態(tài)勢等級(jí)的劃分對態(tài)勢評(píng)估結(jié)果進(jìn)行分析,判斷當(dāng)前網(wǎng)絡(luò)安全狀況和等級(jí),方便管理員全面掌握當(dāng)前的網(wǎng)絡(luò)安全態(tài)勢,以便及時(shí)采取措施。
BP神經(jīng)網(wǎng)絡(luò)(BPNN)是1986年由Rumelhart等提出的一種根據(jù)誤差反向傳播算法訓(xùn)練的多層前饋神經(jīng)網(wǎng)絡(luò)[13]。BP神經(jīng)網(wǎng)絡(luò)由三層構(gòu)成:輸入層、隱含層和輸出層。它通過從后層不斷向前層反傳的誤差信號(hào)來調(diào)整權(quán)值和閾值的大小,從而達(dá)到減小誤差的目的,直到全局誤差小于預(yù)期誤差,或?qū)W習(xí)次數(shù)達(dá)到最大學(xué)習(xí)次數(shù)時(shí)停止學(xué)習(xí)和訓(xùn)練。因?yàn)锽PNN結(jié)構(gòu)簡單且具有強(qiáng)大的自我學(xué)習(xí)能力,所以適用于解決內(nèi)部機(jī)制復(fù)雜的問題。但是BPNN的初始連接權(quán)值和閾值是隨機(jī)產(chǎn)生的,且迭代次數(shù)多、收斂速度慢,不能保證每次迭代都收斂到全局極值點(diǎn)。針對這個(gè)問題,一般通過引入智能優(yōu)化算法來解決,比如采用遺傳算法(GA)[14]或粒子群算法(PSO)[15]來優(yōu)化BP神經(jīng)網(wǎng)絡(luò),但是這兩種算法的收斂速度還不夠理想。為此,本文采用優(yōu)化后的麻雀搜索算法(SSA)來改進(jìn)BP神經(jīng)網(wǎng)絡(luò),應(yīng)用SSA算法自身局部搜索能力強(qiáng)、收斂速度快的特點(diǎn)對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn);但SSA算法的全局搜索和跳出局部極值的能力較弱,而模擬退火算法(SAA)與之正相反,它具有較強(qiáng)的全局搜索和跳出局部最優(yōu)的能力,因此又引入SAA算法對SSA算法進(jìn)行優(yōu)化,用SAA算法優(yōu)化后的SSA算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)并應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢評(píng)估。
1953年,Metropolis[16]提出模擬退火算法(simulated annealing algorithm,SAA),但SAA算法一般不單獨(dú)使用,而是常用于組合優(yōu)化領(lǐng)域。模擬退火算法的原理是對高溫固體退火降溫過程進(jìn)行模擬,經(jīng)歷加溫、等待、冷卻這三個(gè)步驟。通常在實(shí)際應(yīng)用中會(huì)將系統(tǒng)的能量用函數(shù)f來表示,將系統(tǒng)溫度用控制參數(shù)T來表示,f在內(nèi)能隨溫度降低的同時(shí)也隨之下降,當(dāng)溫度下降到常溫時(shí)內(nèi)能減少到最小。當(dāng)T=0時(shí)的系統(tǒng)狀態(tài)對應(yīng)于尋優(yōu)問題的整體最優(yōu)解[17]。模擬退火算法根據(jù)Metropolis準(zhǔn)則來控制溫度的變化過程,可以一定的概率接受劣質(zhì)解的同時(shí)有效避免算法陷入局部最優(yōu)[18]。其算法步驟如下。
步驟1初始化退火溫度。
初始化退火溫度T k(令k=0),Tk表示如下:
公式(1)中,f g表示全局最佳適應(yīng)度值,α為初始接受概率,取值區(qū)間為[0.2,0.5]。
步驟2計(jì)算退火速率。
公式(2)中γ為降溫的速率,t為迭代次數(shù)。
步驟3根據(jù)Metropolis接受準(zhǔn)則進(jìn)行判斷。
公式(3)中P為突跳概率,公式(4)中f i為當(dāng)前個(gè)體適應(yīng)度值。如果Δf<0,則以概率1接受新解,否則以概率exp(-Δf/T k)來接受新解。
麻雀搜索算法(sparrow search algorithm,SSA)是2020年提出的一種新型群智能優(yōu)化算法。該算法受到麻雀捕食特點(diǎn)的啟發(fā),將捕食過程中的麻雀分為發(fā)現(xiàn)者和加入者兩類角色,發(fā)現(xiàn)者負(fù)責(zé)為麻雀種群尋找食物并且為整個(gè)種群提供覓食的方向,而加入者則選擇跟隨發(fā)現(xiàn)者并與其爭奪來獲得食物[19]。根據(jù)它們之間的關(guān)系以及麻雀遇到捕食者時(shí)做出來的反應(yīng)建立數(shù)學(xué)模型,構(gòu)建出一種高效的群智能優(yōu)化算法。SSA算法的優(yōu)點(diǎn)是局部搜索能力強(qiáng)和收斂速度快。其算法步驟如下。
步驟1初始化麻雀種群并定義相關(guān)參數(shù),如n為麻雀種群規(guī)模,d表示變量的維數(shù),f表示適應(yīng)度值,t表示當(dāng)前迭代數(shù)。麻雀種群可表示為如下形式:
步驟2根據(jù)適應(yīng)度值函數(shù)計(jì)算每只麻雀的適應(yīng)度值fi,然后按照適應(yīng)度值大小排序,選擇出當(dāng)前最佳適應(yīng)度值fg和最差適應(yīng)度值fw以及對應(yīng)的位置Xbest和Xworst。
步驟3在麻雀搜索算法中,由于發(fā)現(xiàn)者處于主動(dòng)地位,所以它們可以獲得更大的覓食搜索范圍且具有較好的適應(yīng)度。當(dāng)預(yù)警值R2<安全值ST時(shí),表示此時(shí)周圍的環(huán)境安全,當(dāng)R2≥ST時(shí),表示種群中的一些麻雀已經(jīng)意識(shí)到了危險(xiǎn),所有麻雀都需要迅速飛到安全地方進(jìn)行覓食。發(fā)現(xiàn)者的位置更新可表示為公式(6):
其中,j=1,2,…,d。itermax是一個(gè)常數(shù),表示最大的迭代次數(shù)。Xi,j表示第i只麻雀在第j維中的位置信息。α∈(0,1]是一個(gè)隨機(jī)數(shù)。Q是服從正態(tài)分布的隨機(jī)數(shù)。L表示每一個(gè)元素都為1的1×d矩陣。
加入者在整個(gè)覓食過程中都會(huì)監(jiān)視著發(fā)現(xiàn)者,當(dāng)它們意識(shí)到發(fā)現(xiàn)者找到更好的食物時(shí)就會(huì)立刻飛過去與發(fā)現(xiàn)者搶奪新的食物,如果爭奪過程贏得了發(fā)現(xiàn)者就會(huì)立即獲得該發(fā)現(xiàn)者的食物,否則就重復(fù)執(zhí)行上述操作。當(dāng)i>n/2時(shí),表明第i只加入者的適應(yīng)度值較低,此時(shí)這只麻雀正處于非常饑餓的狀態(tài),因此它要飛到其他地方尋找食物以獲得更多的能量。加入者的位置更新可表示為公式(7):
其中,Xp是發(fā)現(xiàn)者所占據(jù)的最優(yōu)位置。A表示每一個(gè)元素都被隨機(jī)賦值為1或-1的1×d的矩陣,且A+=AT(AAT)-1。
在麻雀覓食的過程中,當(dāng)有捕食者出現(xiàn)時(shí),處于種群最外圍的麻雀會(huì)先意識(shí)到危險(xiǎn)的存在。當(dāng)它們意識(shí)到危險(xiǎn)時(shí)即當(dāng)前麻雀個(gè)體的適應(yīng)度值fi>當(dāng)前全局最佳適應(yīng)度值fg時(shí),這些群體最外圍的麻雀會(huì)為了獲得更好的覓食位置努力向安全區(qū)移動(dòng)。當(dāng)fi=fg時(shí),表明處于中間位置的麻雀意識(shí)到了危險(xiǎn),需要向安全區(qū)移動(dòng)以減少它們被捕的風(fēng)險(xiǎn)。意識(shí)到危險(xiǎn)的麻雀的位置更新可表示為公式(8):
其中,β是步長控制參數(shù)。K是一個(gè)隨機(jī)數(shù),取值范圍為[-1,1]。ε是最小的常數(shù)。
步驟4獲得當(dāng)前最優(yōu)值。如果當(dāng)前最優(yōu)值比上一次迭代的最優(yōu)值好的話就進(jìn)行更新操作,否則不進(jìn)行更新,并繼續(xù)進(jìn)行迭代直到滿足條件為止,最終得到全局最佳適應(yīng)度值fg和對應(yīng)的最優(yōu)位置Xbest。
盡管SSA算法具有局部搜索能力強(qiáng)、收斂速度快的優(yōu)點(diǎn),但其全局搜索能力和跳出局部最優(yōu)的能力較弱。而模擬退火算法(SAA)在全局尋優(yōu)上有很大優(yōu)勢,能有效避免算法陷入局部最優(yōu)狀態(tài),且常被用于組合優(yōu)化領(lǐng)域。因此,本文引入模擬退火算法(SAA)對SSA算法進(jìn)行改進(jìn)。
在全局尋優(yōu)方面,將SAA與SSA并用,在SSA求解之后再進(jìn)行退火處理,退火時(shí)重新產(chǎn)生一個(gè)新的麻雀位置用于對原位置Xbest進(jìn)行調(diào)整。因此,公式(3)與(4)變?yōu)槿缦滦问剑?/p>
SAA-SSA算法通過新舊全局最優(yōu)位置對應(yīng)適應(yīng)度值的差值來調(diào)整對新位置的接受概率P,從而得到最終的全局最優(yōu)位置。
經(jīng)過SAA改進(jìn)的SSA具有全局搜索能力強(qiáng)、收斂速度快和不易陷入局部最優(yōu)的優(yōu)點(diǎn),在后續(xù)實(shí)驗(yàn)中為BPNN尋找最優(yōu)初始權(quán)值和閾值以及提高BPNN的收斂速度有很大的幫助。
基于SAA-SSA-BPNN的網(wǎng)絡(luò)安全態(tài)勢評(píng)估算法的具體步驟如下,流程圖如圖3所示。
圖3 基于SAA-SSA-BPNN的態(tài)勢評(píng)估算法流程圖Fig.3 Flow chart of situation assessment algorithm based on SAA-SSA-BPNN
步驟1構(gòu)建網(wǎng)絡(luò)安全態(tài)勢指標(biāo)體系,對網(wǎng)絡(luò)安全態(tài)勢數(shù)據(jù)進(jìn)行預(yù)處理,初始化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值。
步驟2初始化麻雀種群并定義相關(guān)參數(shù),如種群規(guī)模、空間維數(shù)、迭代次數(shù)等。
步驟3初始化退火溫度、退火速率和突跳概率。
步驟4計(jì)算麻雀的個(gè)體適應(yīng)度值fi,并將其排序進(jìn)而選擇出當(dāng)前全局最佳適應(yīng)度值fg和最差適應(yīng)度值fw以及對應(yīng)的位置Xbest和Xworst。
步驟5根據(jù)預(yù)警值R2和安全值S T的大小按照公式(6)更新發(fā)現(xiàn)者的位置,按照公式(7)更新加入者的位置,按照公式(8)更新意識(shí)到危險(xiǎn)的麻雀的位置。獲取當(dāng)前全局最佳適應(yīng)度值fg和對應(yīng)的最優(yōu)位置Xbest。
步驟7根據(jù)公式(2)進(jìn)行退火操作,判斷是否超過最大迭代次數(shù)和種群規(guī)模,若是則輸出最優(yōu)位置Xbest和其對應(yīng)的最佳適應(yīng)度值,否則跳轉(zhuǎn)至步驟4。
步驟8獲取最優(yōu)權(quán)值和閾值,并將其賦值給BP神經(jīng)網(wǎng)絡(luò)作為初始權(quán)值和閾值。
步驟9訓(xùn)練神經(jīng)網(wǎng)絡(luò)。將預(yù)處理后的訓(xùn)練數(shù)據(jù)輸入具有最優(yōu)初始權(quán)值和閾值的BP神經(jīng)網(wǎng)絡(luò)模型中,計(jì)算BPNN隱含層和輸出層的輸出值,然后計(jì)算輸出層的輸出值與期望輸出值之間的誤差值,根據(jù)誤差調(diào)整權(quán)值和閾值的大小使BPNN的輸出值與期望輸出值不斷接近,直到迭代滿足終止條件,此時(shí)訓(xùn)練完成,獲得BPNN最終的最優(yōu)權(quán)值和閾值。
步驟10態(tài)勢評(píng)估。將測試數(shù)據(jù)輸入到訓(xùn)練完的具有最優(yōu)權(quán)值和閾值的BPNN模型中,輸出得到態(tài)勢評(píng)估值,然后結(jié)合網(wǎng)絡(luò)安全態(tài)勢評(píng)估等級(jí)表來分析當(dāng)前網(wǎng)絡(luò)安全狀況。
本文將模擬退火算法(SAA)引入麻雀搜索算法(SSA)并對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),以提高BP神經(jīng)網(wǎng)絡(luò)的收斂速度和效率且避免SSA算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)陷入局部最優(yōu)。為了方便對網(wǎng)絡(luò)安全態(tài)勢狀況進(jìn)行分析,本文將網(wǎng)絡(luò)安全態(tài)勢評(píng)估等級(jí)量化為具體的態(tài)勢值,并劃分了五個(gè)級(jí)別,分別為:優(yōu)、良、中、差、危,如表1所示。
表1 網(wǎng)絡(luò)安全態(tài)勢評(píng)估等級(jí)Table 1 Network security situation assessment level
本實(shí)驗(yàn)以網(wǎng)絡(luò)系統(tǒng)所遭受的安全威脅為評(píng)估對象來測試SAA-SSA-BPNN網(wǎng)絡(luò)安全態(tài)勢評(píng)估模型的有效性,采集前面建立的指標(biāo)體系中威脅性指標(biāo)下的五個(gè)三級(jí)指標(biāo)元素:感染病毒的主機(jī)數(shù)量、被篡改的網(wǎng)站數(shù)量、被植入后門的網(wǎng)站數(shù)量、仿冒網(wǎng)站數(shù)量和新增安全漏洞數(shù)量,這里設(shè)定每個(gè)指標(biāo)的權(quán)重均相等。目前大部分研究使用的實(shí)驗(yàn)數(shù)據(jù)來自KDD99數(shù)據(jù)集或Honey Net項(xiàng)目公布的攻擊數(shù)據(jù)集,但KDD99數(shù)據(jù)集距今已久且冗余數(shù)據(jù)過多,而Honey Net攻擊數(shù)據(jù)集的影響因素又過于單一。因此,本實(shí)驗(yàn)采用國家互聯(lián)網(wǎng)應(yīng)急中心公布的從2015年第1期至2021年第21期的《網(wǎng)絡(luò)安全信息與動(dòng)態(tài)周報(bào)》中的308條數(shù)據(jù),將實(shí)驗(yàn)數(shù)據(jù)分為兩部分:(1)訓(xùn)練樣本298條,用于訓(xùn)練SAA-SSA算法改進(jìn)的BP神經(jīng)網(wǎng)絡(luò);(2)測試樣本10條,用于檢驗(yàn)SAA-SSA-BPNN態(tài)勢評(píng)估模型的評(píng)估效果。實(shí)驗(yàn)采用Matlab R2019a進(jìn)行仿真,硬件環(huán)境為1.80 GHz CPU和8 GB內(nèi)存,操作系統(tǒng)為Windows 10。
本實(shí)驗(yàn)通過歸一化的方式對數(shù)據(jù)進(jìn)行預(yù)處理。通常歸一化的方式有兩種:把數(shù)都?xì)w到[0,1]區(qū)間內(nèi),或是把有量綱表達(dá)式變?yōu)闊o量綱表達(dá)式。這里采用第一種方法,按公式(11)將實(shí)驗(yàn)數(shù)據(jù)都?xì)w到[0,1]區(qū)間內(nèi)。
其中,Xmin和Xmax分別表示實(shí)驗(yàn)數(shù)據(jù)集中的最小值數(shù)據(jù)和最大值數(shù)據(jù)。X i為實(shí)驗(yàn)數(shù)據(jù)中第i個(gè)數(shù)據(jù)值,Yi為X i歸一化后的值。
(1)評(píng)估結(jié)果對比分析
表2是采用遺傳算法(GA)、粒子群算法(PSO)、麻雀搜索算法(SSA)和模擬退火算法(SAA)優(yōu)化的麻雀搜索算法(SSA)這四種算法改進(jìn)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行態(tài)勢評(píng)估得到的十個(gè)態(tài)勢評(píng)估值與國家互聯(lián)網(wǎng)應(yīng)急中心(CERT)給出的態(tài)勢評(píng)估值的對比情況。其中,國家互聯(lián)網(wǎng)應(yīng)急中心的態(tài)勢評(píng)估值由其對應(yīng)的態(tài)勢評(píng)估等級(jí)取值區(qū)間中間值量化而來。
表2 評(píng)估值對比表Table 2 Comparison table of assessment values
為了更直觀地分析態(tài)勢評(píng)估結(jié)果,這里將表2中的評(píng)估值用折線圖表示出來,如圖4所示。從圖4可以看到,四種評(píng)估模型的態(tài)勢評(píng)估值曲線走勢大致相同,都是在第3周出現(xiàn)小幅波動(dòng)后在第6周達(dá)到峰值,第8周出現(xiàn)新的最低值后再次上升,直到第10周出現(xiàn)新的峰值。GA-BPNN評(píng)估模型的態(tài)勢值曲線前期波動(dòng)不大,只有在第8周時(shí)出現(xiàn)最低值,第8周后又恢復(fù)到與前幾周持平的狀態(tài);PSO-BPNN評(píng)估模型的態(tài)勢值曲線是四種模型中最不穩(wěn)定的,在第3周、第6周、第8周和第10周都出現(xiàn)了極值,波動(dòng)較大;SSA-BPNN評(píng)估模型與GA-BPNN評(píng)估模型的態(tài)勢值曲線走勢基本相同,但在前5周內(nèi)態(tài)勢值明顯低于GA-BPNN評(píng)估模型;SAASSA-BPNN評(píng)估模型的態(tài)勢值曲線明顯地出現(xiàn)了三次峰值,分別在第3周、第6周和第10周,表明這10周內(nèi)該網(wǎng)絡(luò)受到了三次較大規(guī)模的攻擊,整體態(tài)勢值曲線波動(dòng)幅度不大,較為穩(wěn)定。將四種態(tài)勢評(píng)估模型的態(tài)勢值曲線與國家互聯(lián)網(wǎng)應(yīng)急中心量化后的態(tài)勢值曲線進(jìn)行對比,只有SAA-SSA-BPNN評(píng)估模型與之更加貼合。對圖4進(jìn)一步分析可知,在每次安全態(tài)勢值曲線達(dá)到峰值后,態(tài)勢值會(huì)隨之下降,網(wǎng)絡(luò)所面臨的危險(xiǎn)程度也會(huì)有所緩解,這說明被攻擊網(wǎng)絡(luò)的態(tài)勢值和性能會(huì)隨著攻擊強(qiáng)度的改變而發(fā)生變化,態(tài)勢值越高說明當(dāng)前網(wǎng)絡(luò)遭受的威脅性越大,網(wǎng)絡(luò)安全狀況越差,反之態(tài)勢值越低說明當(dāng)前網(wǎng)絡(luò)安全狀況相對良好。
圖4 四種模型評(píng)估結(jié)果對比Fig.4 Comparison of assessment results of four models
表3給出了應(yīng)用GA-BPNN、PSO-BPNN、SSA-BPNN和SAA-SSA-BPNN四種評(píng)估模型得到的評(píng)估等級(jí),并與國家互聯(lián)網(wǎng)應(yīng)急中心給出的態(tài)勢評(píng)估等級(jí)進(jìn)行了對比。分析表3可知,GA-BPNN評(píng)估模型結(jié)果的態(tài)勢等級(jí)與應(yīng)急中心態(tài)勢等級(jí)有6個(gè)測試數(shù)據(jù)點(diǎn)的結(jié)果不一致;PSOBPNN評(píng)估模型結(jié)果的態(tài)勢等級(jí)與應(yīng)急中心態(tài)勢等級(jí)有4個(gè)測試數(shù)據(jù)點(diǎn)的結(jié)果不一致;SSA-BPNN評(píng)估模型結(jié)果的態(tài)勢等級(jí)與應(yīng)急中心態(tài)勢等級(jí)有2個(gè)測試數(shù)據(jù)點(diǎn)的結(jié)果不一致;而SAA-SSA-BPNN評(píng)估模型在10個(gè)測試數(shù)據(jù)點(diǎn)上的態(tài)勢評(píng)估結(jié)果等級(jí)與國家互聯(lián)網(wǎng)應(yīng)急中心評(píng)估結(jié)果的等級(jí)完全相同。因此,SAA-SSA-BPNN評(píng)估模型能最為客觀地反應(yīng)當(dāng)前網(wǎng)絡(luò)的安全態(tài)勢狀況。
表3 評(píng)估等級(jí)情況對比Table 3 Comparison of assessment levels
(2)誤差分析
表4是GA-BPNN、PSO-BPNN、SSA-BPNN和SAASSA-BPNN四種評(píng)估模型的十個(gè)態(tài)勢評(píng)估結(jié)果值與國家互聯(lián)網(wǎng)應(yīng)急中心態(tài)勢評(píng)估值之間的絕對誤差值對比情況。
表4 絕對誤差值對比Table 4 Comparison of absolute error values
這里將表4中的絕對誤差值用更為直觀的折線圖表示出來,如圖5所示。分析圖5可以發(fā)現(xiàn),只有SAASSA-BPNN態(tài)勢評(píng)估模型的絕對誤差值曲線波動(dòng)幅度最小,是四種態(tài)勢評(píng)估模型中絕對誤差值曲線最為平穩(wěn)的且一直在最接近0誤差值標(biāo)線上下浮動(dòng)。因此本文所提出的SAA-SSA-BPNN態(tài)勢評(píng)估模型與另外三種評(píng)估模型相比具有更小的評(píng)估誤差和更高的評(píng)估準(zhǔn)確性。
圖5 絕對誤差值對比折線圖Fig.5 Line chart of comparison of absolute error values
為進(jìn)一步驗(yàn)證SAA-SSA-BPNN態(tài)勢評(píng)估模型的準(zhǔn)確性和優(yōu)越性,采用均方誤差(MSE)和平均絕對誤差(MAE)這兩個(gè)誤差指標(biāo)來衡量該模型的態(tài)勢評(píng)估值與國家互聯(lián)網(wǎng)應(yīng)急中心態(tài)勢評(píng)估值之間的差異情況。這兩個(gè)誤差公式表示如下:
表5為GA-BPNN評(píng)估模型、PSO-BPNN評(píng)估模型、SSA-BPNN評(píng)估模型和SAA-SSA-BPNN評(píng)估模型進(jìn)行網(wǎng)絡(luò)安全態(tài)勢評(píng)估得到的評(píng)估值與國家互聯(lián)網(wǎng)應(yīng)急中心態(tài)勢評(píng)估值之間的MSE和MAE。由表5可以明顯看出,用SAA-SSA-BPNN評(píng)估模型進(jìn)行態(tài)勢評(píng)估所得到的態(tài)勢評(píng)估值與國家互聯(lián)網(wǎng)應(yīng)急中心態(tài)勢評(píng)估值之間的MSE和MAE明顯比另外三種評(píng)估模型更小,這也說明SAA-SSA-BPNN態(tài)勢評(píng)估模型具有更高的評(píng)估準(zhǔn)確性。
表5 精準(zhǔn)度對照Table 5 Accuracy comparison
(3)收斂性分析
在本實(shí)驗(yàn)中,將訓(xùn)練數(shù)據(jù)的評(píng)估誤差絕對值之和作為個(gè)體適應(yīng)度值,適應(yīng)度值越小說明該個(gè)體越優(yōu)。因此適應(yīng)度值的變化情況也能代表該評(píng)估模型的收斂情況。將GA-BPNN評(píng)估模型、PSO-BPNN評(píng)估模型、SSA-BPNN評(píng)估模型和SAA-SSA-BPNN評(píng)估模型的收斂情況進(jìn)行對比,如圖6所示。
圖6 最優(yōu)個(gè)體適應(yīng)度值變化情況對比Fig.6 Comparison of optimal individual fitness values changes
從圖6可以看到,GA-BPNN評(píng)估模型一開始的適應(yīng)度值相對較高,但在第4次迭代時(shí)開始陷入長期局部極值,在第54次迭代跳出后于第55次再次陷入局部極值,直到第99次迭代時(shí)收斂于最小值50.864 8;PSOBPNN評(píng)估模型在第5次、第11次和第15次迭代時(shí)多次產(chǎn)生波動(dòng),并在第16次和第46次迭代時(shí)分別陷入長期局部極值,直到第99次迭代時(shí)才跳出,最后收斂于最小值49.809 4;SSA-BPNN評(píng)估模型開始時(shí)適應(yīng)度值最高,在第76次迭代時(shí)收斂于最小值48.495 3,比GA-BPNN評(píng)估模型和PSO-BPNN評(píng)估模型的收斂速度快且收斂值小;而SAA-SSA-BPNN評(píng)估模型的適應(yīng)度值在最開始是四種模型中最小的,且適應(yīng)度值曲線在迭代過程中多次跳出局部極值,在第62次迭代時(shí)收斂于最小值45.440 8,在四種態(tài)勢評(píng)估模型中收斂速度最快且適應(yīng)度值曲線趨于平穩(wěn)時(shí)適應(yīng)度值最小。因此,SAA-SSABPNN態(tài)勢評(píng)估模型的收斂效果相較于另外三種評(píng)估模型的收斂效果更好,收斂速度最快,適應(yīng)度值趨于平穩(wěn)時(shí)值最小且不易陷入局部最優(yōu)。
(4)時(shí)間復(fù)雜度分析
算法的時(shí)間復(fù)雜度很大程度上能反映出其優(yōu)劣與否。BP神經(jīng)網(wǎng)絡(luò)算法的時(shí)間復(fù)雜度受樣本規(guī)模n、最大迭代次數(shù)itermax和空間維度d的影響,時(shí)間復(fù)雜度為O(itermax×n×d2),當(dāng)空間維度d較高時(shí)近似為O(d2)。采用SSA算法對BP神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn)后,其時(shí)間復(fù)雜度增加了O(itermax×n×d),因此SSA-BPNN算法的時(shí)間復(fù)雜度為O(itermax×n×d2+itermax×n×d)。當(dāng)空間維度d較高時(shí)該算法的時(shí)間復(fù)雜度近似為O(d2),與BP神經(jīng)網(wǎng)絡(luò)算法的時(shí)間復(fù)雜度近似。本文為避免SSA算法陷入局部最優(yōu)又引入了SAA算法對其進(jìn)行優(yōu)化,但該優(yōu)化過程是在SSA算法迭代循環(huán)內(nèi)完成的,沒有額外增加循環(huán)次數(shù),所以沒有增加運(yùn)算量,時(shí)間復(fù)雜度仍為O(d2)。因此,在空間維度d較高時(shí)對BP神經(jīng)網(wǎng)絡(luò)算法的兩次改進(jìn)基本都未增加其時(shí)間復(fù)雜度。
本文采用模擬退火算法優(yōu)化的麻雀搜索算法來改進(jìn)BP神經(jīng)網(wǎng)絡(luò)并應(yīng)用于網(wǎng)絡(luò)安全態(tài)勢評(píng)估,提出了一種基于SAA-SSA-BPNN的網(wǎng)絡(luò)安全態(tài)勢評(píng)估模型,解決了麻雀搜索算法易陷入局部最優(yōu)和BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值難以確定及收斂速度緩慢的問題,顯著提高了評(píng)估的準(zhǔn)確性和收斂速度。下一步的研究將與其他智能評(píng)估模型對比,尋找精度和評(píng)估效率更高的態(tài)勢評(píng)估模型。