狄 沖,李 桐
1.上海交通大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,上海200240
2.國(guó)網(wǎng)遼寧省電力有限公司 電力科學(xué)研究院,沈陽(yáng)110000
入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)作為抵抗網(wǎng)絡(luò)攻擊的重要防御手段,承擔(dān)著保護(hù)計(jì)算機(jī)安全和保障工業(yè)企業(yè)網(wǎng)絡(luò)平穩(wěn)運(yùn)行的任務(wù),是信息安全領(lǐng)域的重要研究課題[1]。其中,異常檢測(cè)通過(guò)對(duì)網(wǎng)絡(luò)流量特征進(jìn)行建模,來(lái)識(shí)別網(wǎng)絡(luò)中的正常流量和異常流量,是網(wǎng)絡(luò)入侵檢測(cè)的重要手段[2]。
在入侵檢測(cè)系統(tǒng)中,通過(guò)對(duì)所識(shí)別到的異常流量進(jìn)行阻斷,可實(shí)現(xiàn)面向網(wǎng)絡(luò)攻擊的被動(dòng)防御。同時(shí),對(duì)異常流量進(jìn)行分類(lèi),分析不同的攻擊行為,對(duì)攻擊方式建模,持續(xù)完善攻擊特征數(shù)據(jù)庫(kù),又可進(jìn)一步提高系統(tǒng)防御水平。因此,對(duì)于網(wǎng)絡(luò)異常檢測(cè)的研究,可分為以下兩部分內(nèi)容:(1)異常流量的識(shí)別;(2)流量類(lèi)型的分類(lèi),包括正常流量和攻擊類(lèi)型。網(wǎng)絡(luò)異常檢測(cè)本質(zhì)上可歸結(jié)為機(jī)器學(xué)習(xí)中的二分類(lèi)和多分類(lèi)問(wèn)題。多年來(lái),研究人員不斷將各種機(jī)器學(xué)習(xí)算法(如支持向量機(jī)、決策樹(shù)、K 近鄰等)用于網(wǎng)絡(luò)異常檢測(cè)[3-4],并取得一定的成果。但是傳統(tǒng)機(jī)器學(xué)習(xí)算法大多依賴(lài)于特征的提取與選擇[5],分類(lèi)的準(zhǔn)確率和精度也存在進(jìn)一步提升的空間。近年來(lái),隨著深度學(xué)習(xí)的不斷發(fā)展,深層神經(jīng)網(wǎng)絡(luò)憑借其強(qiáng)大的表征學(xué)習(xí)能力,在計(jì)算機(jī)視覺(jué)、語(yǔ)音識(shí)別、自然語(yǔ)言處理等多個(gè)領(lǐng)域取得遠(yuǎn)超傳統(tǒng)機(jī)器學(xué)習(xí)算法的效果[6],也為網(wǎng)絡(luò)異常檢測(cè)提供了新的解決方法。
目前,國(guó)內(nèi)外均已出現(xiàn)一些基于深度學(xué)習(xí)的網(wǎng)絡(luò)異常檢測(cè)成果[7-11]。Alrawashdeh等[7]利用受限玻爾茲曼機(jī)(Restricted Boltzmann Machine,RBM)對(duì)原始網(wǎng)絡(luò)流量特征進(jìn)行提取,并利用另一組RBM 所組成的深度信念網(wǎng)絡(luò)(Deep Brief Network,DBN)對(duì)提取到的特征進(jìn)行分類(lèi);Kim等[8]以ReLU(Rectified Linear Unit)作為激活函數(shù),利用含兩個(gè)隱含層的深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)對(duì)網(wǎng)絡(luò)流量進(jìn)行檢測(cè);Vigneswaran 等[9]對(duì)比分析了不同深度的DNN 的算法性能以及網(wǎng)絡(luò)異常檢測(cè)效果;Vinayakumar 等[10]還進(jìn)一步研究了多層感知機(jī)(Multi-Layer Perceptron,MLP)、卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)以及循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)等網(wǎng)絡(luò)結(jié)構(gòu)在異常檢測(cè)上的應(yīng)用效果;張思聰?shù)萚11]利用數(shù)據(jù)填充的方式將原始的一維網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)換為二維的“圖像數(shù)據(jù)”,而后以tanh作為激活函數(shù),利用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行異常檢測(cè)。相較于傳統(tǒng)機(jī)器學(xué)習(xí)算法,以上研究成果在相關(guān)數(shù)據(jù)集上均取得了一定程度的效果提升,表明深度學(xué)習(xí)方法是一種有效的異常檢測(cè)工具。
前述研究存在以下兩點(diǎn)局限性:第一,檢測(cè)的精度仍存在提升的空間。入侵檢測(cè)系統(tǒng)的性能對(duì)分類(lèi)的精度十分敏感,分類(lèi)錯(cuò)誤的攻擊數(shù)據(jù)會(huì)進(jìn)一步影響對(duì)攻擊的建模。第二,前述研究?jī)H適用于網(wǎng)絡(luò)流量類(lèi)型已知的情況。入侵檢測(cè)是一個(gè)與攻擊者持續(xù)博弈的過(guò)程,在入侵檢測(cè)系統(tǒng)不斷完善的同時(shí),攻擊者也在更新其攻擊方式[12]。在面向未知攻擊威脅時(shí),傳統(tǒng)分類(lèi)器由于不具備識(shí)別能力,會(huì)將其錯(cuò)誤地標(biāo)注為某已知類(lèi)別,從而造成誤判,導(dǎo)致分類(lèi)精度的進(jìn)一步降低和入侵檢測(cè)系統(tǒng)性能的惡化?!爸疄橹?,不知為不知,是知也”。一個(gè)理想的異常檢測(cè)方法應(yīng)該具備識(shí)別未知攻擊的能力,以及在無(wú)法做出準(zhǔn)確判斷時(shí)的感知能力。
對(duì)于未知攻擊的識(shí)別,在本質(zhì)上可將其歸結(jié)為開(kāi)集(Open Set)分類(lèi)問(wèn)題,即對(duì)于一個(gè)訓(xùn)練好的分類(lèi)器,測(cè)試樣本中存在訓(xùn)練樣本中沒(méi)有出現(xiàn)的未知類(lèi)別,以期分類(lèi)器能夠在準(zhǔn)確識(shí)別已知類(lèi)別數(shù)據(jù)的同時(shí),對(duì)未知類(lèi)別數(shù)據(jù)具備感知能力,將其判斷為未知類(lèi)別。為了實(shí)現(xiàn)對(duì)未知攻擊的識(shí)別,近年來(lái),有少量基于機(jī)器學(xué)習(xí)的方法被提出[13-16],其中最為主流的是基于內(nèi)容相似度的檢測(cè)模型[17]。作為代表性工作,Song等[16]提出利用單分類(lèi)支持向量機(jī)(One Class SVM),通過(guò)對(duì)已知流量類(lèi)別進(jìn)行單獨(dú)建模,學(xué)習(xí)高維特征空間中用于區(qū)分各類(lèi)別的超平面,判斷網(wǎng)絡(luò)流量是否屬于某已知類(lèi)型,從而識(shí)別未知攻擊。由于正常網(wǎng)絡(luò)流量行為多變,不易單獨(dú)建模,且需要訓(xùn)練多個(gè)攻擊模型,對(duì)特征選擇也有著一定要求,上述方法仍存在準(zhǔn)確率較低和誤報(bào)率較高的問(wèn)題,檢測(cè)性能存在進(jìn)一步提升空間。
對(duì)于開(kāi)集分類(lèi)問(wèn)題,利用深度學(xué)習(xí)方法,在計(jì)算機(jī)視覺(jué)領(lǐng)域也有相關(guān)研究出現(xiàn)。Hendrycks等[18]提出一種基于神經(jīng)網(wǎng)絡(luò)中Softmax 分類(lèi)層的置信度估計(jì)方法,將Softmax層的最大值作為分類(lèi)結(jié)果的置信度,通過(guò)閾值判斷樣本是否屬于訓(xùn)練數(shù)據(jù)中的已知樣本類(lèi)別。在該方法的基礎(chǔ)上,DeVries等[19]提出脫離Softmax層,額外訓(xùn)練一個(gè)網(wǎng)絡(luò)參數(shù)作為樣本類(lèi)別的置信度來(lái)進(jìn)行已知類(lèi)別圖像和未知類(lèi)別圖像的區(qū)分。此外,Lee[20-21]、Hendrycks[22]、Nalisnick[23]等提出了數(shù)種基于生成模型的訓(xùn)練樣本擴(kuò)充方法來(lái)提高圖像分類(lèi)器的邊界學(xué)習(xí)能力,從而提升對(duì)未知類(lèi)別的檢測(cè)效果。為了進(jìn)一步提高網(wǎng)絡(luò)異常檢測(cè)系統(tǒng)性能,尤其對(duì)未知攻擊的識(shí)別能力,受文獻(xiàn)[19]工作啟發(fā),本文提出一種基于置信度神經(jīng)網(wǎng)絡(luò)(Confidence Neural Network,ConfNN)的異常檢測(cè)方法,通過(guò)訓(xùn)練具備置信度參數(shù)的DNN,利用置信度對(duì)DNN的分類(lèi)結(jié)果進(jìn)行評(píng)估和校正,實(shí)現(xiàn)網(wǎng)絡(luò)流量分類(lèi)精度的提高和對(duì)未知類(lèi)型網(wǎng)絡(luò)攻擊的檢測(cè)。
鑒于本文所采用的ConfNN是傳統(tǒng)DNN的變型,首先介紹DNN的網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練過(guò)程。
DNN 由包括輸入層、隱含層和輸出層在內(nèi)的若干層組成,每一層包含若干個(gè)神經(jīng)元[6]。一般而言,輸入層神經(jīng)元的數(shù)目與數(shù)據(jù)的特征維度,即預(yù)處理后網(wǎng)絡(luò)流量的特征數(shù)相同;輸出層神經(jīng)元的數(shù)目與樣本類(lèi)別的數(shù)量,即網(wǎng)絡(luò)流量已知標(biāo)簽的種類(lèi)相同;隱含層的層數(shù)與各隱含層神經(jīng)元的數(shù)量為網(wǎng)絡(luò)的超參數(shù),層數(shù)越多、神經(jīng)元的數(shù)量越大意味著更強(qiáng)的特征處理和表達(dá)能力,但也帶來(lái)了更高的模型復(fù)雜度、訓(xùn)練難度以及過(guò)擬合的風(fēng)險(xiǎn)。圖1展示了一個(gè)僅有一個(gè)隱含層的DNN,其訓(xùn)練過(guò)程可概括為前向傳播(Forward Propagation)評(píng)估模型效果和反向傳播(Backward Propagation)調(diào)諧模型參數(shù)兩個(gè)階段。
在前向傳播階段,一組網(wǎng)絡(luò)流量的原始特征經(jīng)數(shù)值化編碼、標(biāo)準(zhǔn)化處理后得到特征向量x,通過(guò)輸入層與隱含層之間的連接關(guān)系傳遞到隱含層,實(shí)現(xiàn)特征的映射x →h:
圖1 DNN基礎(chǔ)結(jié)構(gòu)
其中,w 為輸入層神經(jīng)元與隱含層神經(jīng)元連接的權(quán)重值,b 為偏置值,f 為神經(jīng)元激活函數(shù)。當(dāng)有多個(gè)隱含層時(shí),數(shù)據(jù)特征在隱含層間映射關(guān)系的作用下依次傳遞,實(shí)現(xiàn)原始特征的深度變換和提取。最后一個(gè)隱含層與輸出層之間為全連接關(guān)系,在連接權(quán)值、偏置值以及激活函數(shù)的共同作用下,得到網(wǎng)絡(luò)輸出aL。利用Softmax函數(shù),將輸出層各神經(jīng)元的激活值轉(zhuǎn)化為具有統(tǒng)計(jì)意義的概率值:
通過(guò)計(jì)算當(dāng)前網(wǎng)絡(luò)對(duì)輸入數(shù)據(jù)的預(yù)測(cè)結(jié)果y^ 與數(shù)據(jù)真實(shí)標(biāo)簽y 之間的交叉熵(Cross Entropy,CE),評(píng)估網(wǎng)絡(luò)模型,得到網(wǎng)絡(luò)預(yù)測(cè)損失L:
在反向傳播階段,根據(jù)網(wǎng)絡(luò)損失L,利用網(wǎng)絡(luò)參數(shù)優(yōu)化算法(如隨機(jī)梯度下降、ADAM 等)對(duì)網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)優(yōu),得到優(yōu)化后的模型。迭代執(zhí)行前向傳播和反向傳播算法,通過(guò)對(duì)網(wǎng)絡(luò)參數(shù)的不斷調(diào)整來(lái)提高模型的分類(lèi)能力。
相較于DNN,ConfNN最大的特點(diǎn)在于網(wǎng)絡(luò)輸出層的不同。除了aL外,ConfNN的輸出層還包含一個(gè)與最后一個(gè)隱含層直接連接的置信度神經(jīng)元cL,經(jīng)Sigmoid激活函數(shù)處理后得到置信度c:
圖2展示了ConfNN的基本結(jié)構(gòu)。
圖2 ConfNN結(jié)構(gòu)示意圖
對(duì)于置信度c,期望其具有以下作用:當(dāng)網(wǎng)絡(luò)模型對(duì)當(dāng)前輸入的類(lèi)別進(jìn)行判定的準(zhǔn)確率低時(shí),輸出較小的置信度;反之,則輸出較大的置信度。進(jìn)而,在對(duì)網(wǎng)絡(luò)流量進(jìn)行檢測(cè)時(shí),可通過(guò)置信度c 的大小來(lái)評(píng)估當(dāng)前網(wǎng)絡(luò)分類(lèi)結(jié)果的可靠程度,實(shí)現(xiàn)分類(lèi)精度的提高和對(duì)未知攻擊的檢測(cè)。在網(wǎng)絡(luò)訓(xùn)練的前向傳播階段,設(shè)計(jì)以下規(guī)則更新網(wǎng)絡(luò)輸出的概率值[19]:
進(jìn)而得到概率更新后的預(yù)測(cè)損失:
通過(guò)以上設(shè)定,鼓勵(lì)網(wǎng)絡(luò)在預(yù)測(cè)錯(cuò)誤時(shí),輸出較低的置信度值,從而使得最終預(yù)測(cè)結(jié)果更接近于真實(shí)值,減少預(yù)測(cè)損失。為了防止出現(xiàn)網(wǎng)絡(luò)將置信度值全部輸出為0,從而使得Lp=0 以最小化預(yù)測(cè)損失的情況,額外定義置信度損失Lc,激勵(lì)網(wǎng)絡(luò)在具備正確的分類(lèi)能力時(shí)輸出較高的置信度值:
最終損失為預(yù)測(cè)損失和置信度損失之和,其中λ 作為超參數(shù)起平衡兩類(lèi)損失的作用:
本文所提出的基于ConfNN 的未知攻擊檢測(cè)方法,主要包括兩部分:(1)置信度神經(jīng)網(wǎng)絡(luò)訓(xùn)練;(2)已知流量類(lèi)型的分類(lèi)及未知攻擊的檢測(cè)。整體框架如圖3 所示。對(duì)于網(wǎng)絡(luò)流量特征,首先經(jīng)過(guò)預(yù)處理模塊對(duì)特征進(jìn)行數(shù)值化編碼和歸一化,而后使用訓(xùn)練數(shù)據(jù)對(duì)ConfNN參數(shù)進(jìn)行訓(xùn)練,得到訓(xùn)練好的ConfNN 模型;對(duì)于輸入ConfNN 模型中的待測(cè)網(wǎng)絡(luò)流量,利用網(wǎng)絡(luò)輸出的分類(lèi)信息和置信度信息對(duì)其類(lèi)別進(jìn)行分析。
為提升網(wǎng)絡(luò)模型異常檢測(cè)效果,本文改進(jìn)ConfNN訓(xùn)練過(guò)程,提出自適應(yīng)的損失平衡策略和動(dòng)態(tài)調(diào)整正則化項(xiàng)的方法。
3.1.1 自適應(yīng)損失平衡
在ConfNN的損失函數(shù)中引入了置信度損失Lc,當(dāng)平衡參數(shù)λ 為固定值時(shí),在Lp?λLc的情況下,往往會(huì)出現(xiàn)網(wǎng)絡(luò)將所有置信度值c 無(wú)差別地輸出為1 以使Lc→0,從而降低整體損失L 的結(jié)果,使得置信度值c無(wú)法發(fā)揮應(yīng)有的作用。因此,在訓(xùn)練的過(guò)程中,需要?jiǎng)討B(tài)地對(duì)平衡參數(shù)λ 進(jìn)行調(diào)整,以達(dá)到對(duì)于正確分類(lèi)的數(shù)據(jù)有置信度值c →1 和錯(cuò)誤分類(lèi)數(shù)據(jù)有置信度值c →0的理想訓(xùn)練效果。本文提出基于預(yù)測(cè)損失Lp和置信度損失Lc關(guān)系的平衡參數(shù)λ 調(diào)節(jié)方法:當(dāng)Lp≥Lc時(shí),適當(dāng)減小平衡參數(shù)λ 的值,從而鼓勵(lì)網(wǎng)絡(luò)學(xué)習(xí)生成較低的置信度值給錯(cuò)誤分類(lèi)的數(shù)據(jù)以降低預(yù)測(cè)損失Lp;當(dāng)Lp<Lc時(shí),適當(dāng)增大平衡參數(shù)λ 的值,以鼓勵(lì)網(wǎng)絡(luò)在對(duì)數(shù)據(jù)正確分類(lèi)時(shí)生成較高的置信度值。
圖3 基于ConfNN的異常檢測(cè)方法框架
3.1.2 動(dòng)態(tài)正則化
置信度損失Lc可以看作是網(wǎng)絡(luò)損失函數(shù)中的正則化項(xiàng),在一定程度上能夠起到防止網(wǎng)絡(luò)過(guò)擬合的作用。但是在訓(xùn)練網(wǎng)絡(luò)生成置信度的過(guò)程中,由于利用了數(shù)據(jù)的真實(shí)標(biāo)簽,會(huì)導(dǎo)致網(wǎng)絡(luò)在處理一些復(fù)雜的分類(lèi)問(wèn)題時(shí),尤其是在處理分類(lèi)邊界數(shù)據(jù)時(shí),往往會(huì)通過(guò)生成低置信度值以利用真實(shí)數(shù)據(jù)標(biāo)簽信息降低整體損失,從而失去學(xué)習(xí)分類(lèi)邊界的機(jī)會(huì),造成模型能力的下降和分類(lèi)準(zhǔn)確率的降低。針對(duì)該問(wèn)題,本文提出引入學(xué)習(xí)自動(dòng)機(jī)理論(Learning Automata Theory)[24],在訓(xùn)練過(guò)程中,動(dòng)態(tài)調(diào)整置信度模塊發(fā)揮作用的概率。
考慮式(3)所定義的原始交叉熵,當(dāng)它的值下降時(shí),意味著網(wǎng)絡(luò)正在學(xué)習(xí)訓(xùn)練樣本的分類(lèi)邊界,需要降低引入置信度模塊的概率,提高網(wǎng)絡(luò)的分類(lèi)能力;當(dāng)原始交叉熵的值不變甚至升高時(shí),提高置信度模塊的利用率,防止網(wǎng)絡(luò)過(guò)擬合并訓(xùn)練網(wǎng)絡(luò)置信度值的生成參數(shù)。學(xué)習(xí)自動(dòng)機(jī)作為一種經(jīng)典的增強(qiáng)學(xué)習(xí)算法,能夠根據(jù)外部反饋動(dòng)態(tài)調(diào)整自身行為以適應(yīng)環(huán)境需求,是一種較好的解決工具。
具體而言,定義一個(gè)學(xué)習(xí)自動(dòng)機(jī)A:=<A,B,P >,其中A={a1,a2}對(duì)應(yīng)學(xué)習(xí)自動(dòng)機(jī)的兩個(gè)行為,分別為激活置信度模塊(a1)和凍結(jié)置信度模塊(a2);B 為學(xué)習(xí)自動(dòng)機(jī)所接收到的外部信息,此處為原始交叉熵的前后大小關(guān)系;P=[p1,p2]為概率向量,對(duì)應(yīng)學(xué)習(xí)自動(dòng)機(jī)選擇各行為的概率。在網(wǎng)絡(luò)訓(xùn)練過(guò)程中,根據(jù)原始交叉熵的前后大小關(guān)系,按如下規(guī)則更新概率向量P ,實(shí)現(xiàn)正則化項(xiàng)的動(dòng)態(tài)調(diào)整:
其中,Δ 為更新步長(zhǎng)。
對(duì)于一個(gè)訓(xùn)練好的ConfNN 模型,網(wǎng)絡(luò)輸出層包括aL和cL。其中,aL用于分類(lèi),cL用于對(duì)網(wǎng)絡(luò)分類(lèi)結(jié)果進(jìn)行評(píng)估。如式(2)和式(4),分別利用Softmax 函數(shù)和Sigmoid函數(shù)對(duì)aL和cL進(jìn)行處理,得到分類(lèi)預(yù)測(cè)信息y^和置信度值c,分類(lèi)的結(jié)果為arg maxi{y^}。
給定閾值δ,對(duì)于待測(cè)數(shù)據(jù)x:
當(dāng)置信度值c 大于等于閾值δ 時(shí)判定x 為已知類(lèi)型,接受網(wǎng)絡(luò)分類(lèi)結(jié)果;當(dāng)置信度值c 小于閾值δ 時(shí)判定x 為疑似未知攻擊。
相較于傳統(tǒng)分類(lèi)器,ConfNN 通過(guò)同步訓(xùn)練置信度c 使得模型具有對(duì)分類(lèi)結(jié)果的自我評(píng)估能力,從而突破閉集分類(lèi)的限制,適用于未知攻擊檢測(cè)這一開(kāi)集分類(lèi)問(wèn)題。具體地,在對(duì)網(wǎng)絡(luò)流量進(jìn)行檢測(cè)時(shí),理想情況下模型表現(xiàn)為:(1)當(dāng)對(duì)流量數(shù)據(jù)正確分類(lèi)時(shí),ConfNN 輸出較高的置信度值c,接受模型分類(lèi)結(jié)果;(2)當(dāng)對(duì)流量數(shù)據(jù)錯(cuò)誤分類(lèi)時(shí),ConfNN輸出較低的置信度值c,拒絕模型的分類(lèi)結(jié)果,判定為疑似未知攻擊類(lèi)型。在情況(2)中,ConfNN 所判定的疑似未知攻擊中包括錯(cuò)誤分類(lèi)的已知類(lèi)型數(shù)據(jù)和未知攻擊數(shù)據(jù)。對(duì)于錯(cuò)誤分類(lèi)的已知類(lèi)型數(shù)據(jù),將其判定為疑似未知攻擊,拒絕模型分類(lèi)結(jié)果,有助于提高模型對(duì)已知類(lèi)型數(shù)據(jù)的分類(lèi)精度,從而降低模型誤分類(lèi)對(duì)異常檢測(cè)系統(tǒng)的影響。
對(duì)于ConfNN,δ 的取值決定了模型的性能。在實(shí)際應(yīng)用中,可以通過(guò)人工搜集大量未知攻擊流量數(shù)據(jù)進(jìn)行δ 取值的調(diào)優(yōu),但該方法費(fèi)時(shí)費(fèi)力,可行性低。對(duì)于一個(gè)訓(xùn)練好的ConfNN模型,考慮上述情況(2),在訓(xùn)練集上無(wú)法被正確分類(lèi)的流量數(shù)據(jù)相當(dāng)于ConfNN 模型所判定的疑似未知攻擊。因此,在訓(xùn)練數(shù)據(jù)集上可將正確分類(lèi)的數(shù)據(jù)和錯(cuò)誤分類(lèi)的數(shù)據(jù)分別作為已知類(lèi)型和未知攻擊,以檢測(cè)錯(cuò)誤率為標(biāo)準(zhǔn),利用一維搜索的方法確定模型閾值δ 的取值。
為了驗(yàn)證本文所提出的ConfNN 模型的實(shí)際效果,在UNSW-NB15、CICIDS 2017 等最新網(wǎng)絡(luò)異常檢測(cè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),分析模型效果,利用分類(lèi)準(zhǔn)確率、檢測(cè)錯(cuò)誤率、AUROC等多個(gè)指標(biāo)評(píng)估算法性能。
UNSW-NB15數(shù)據(jù)集[25]是由澳大利亞網(wǎng)絡(luò)安全中心2015年發(fā)布的網(wǎng)絡(luò)異常檢測(cè)通用數(shù)據(jù)集,該數(shù)據(jù)集彌補(bǔ)了傳統(tǒng)異常檢測(cè)數(shù)據(jù)集(如KDDCUP 99,NSLKDD等)所存在的信息缺失、冗余度高等缺陷,廣泛應(yīng)用于異常檢測(cè)算法的性能評(píng)估。除正常網(wǎng)絡(luò)流量外,UNSWNB15 數(shù)據(jù)集包含F(xiàn)uzzers、Analysis 等9 種不同的網(wǎng)絡(luò)攻擊類(lèi)型,每條流量數(shù)據(jù)包含49維特征。CICIDS 2017數(shù)據(jù)集[26]由加拿大網(wǎng)絡(luò)安全研究所于2017年發(fā)布,該數(shù)據(jù)集囊括多種最新的網(wǎng)絡(luò)攻擊類(lèi)型,記錄了14 類(lèi)不同的網(wǎng)絡(luò)攻擊,每條流量數(shù)據(jù)包含78維特征,并且更接近于真實(shí)的現(xiàn)代網(wǎng)絡(luò)流量。由于CICIDS 2017 數(shù)據(jù)集存在樣本數(shù)量分布不均衡的問(wèn)題[26],本文在包含全部攻擊類(lèi)型的基礎(chǔ)上,對(duì)部分攻擊類(lèi)型的數(shù)據(jù)進(jìn)行隨機(jī)采樣,以形成樣本數(shù)據(jù)分布較均衡的數(shù)據(jù)集。
表1和表2分別展示了兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息。在訓(xùn)練過(guò)程中,選擇部分類(lèi)型的攻擊作為已知流量類(lèi)型進(jìn)行訓(xùn)練得到ConfNN模型,剩余類(lèi)型的攻擊將作為未知攻擊,用于評(píng)估ConfNN對(duì)未知攻擊的檢測(cè)效果。通過(guò)將數(shù)據(jù)集進(jìn)行劃分,保證用于模型訓(xùn)練的“已知類(lèi)型”數(shù)據(jù)和用于模型評(píng)估的“未知攻擊”數(shù)據(jù)享有相同的數(shù)據(jù)采集方法和處理方式,減少因采集方式不同所造成的數(shù)據(jù)差異,從而在流量特征的本質(zhì)上評(píng)估模型對(duì)未知攻擊的檢測(cè)效果。
表1 UNSW-NB15數(shù)據(jù)集統(tǒng)計(jì)信息
表2 CICIDS 2017數(shù)據(jù)集統(tǒng)計(jì)信息
本文采用以下性能指標(biāo)對(duì)ConfNN 模型效果進(jìn)行評(píng)估:
(1)準(zhǔn)確率:對(duì)于已知類(lèi)型數(shù)據(jù),分類(lèi)正確的樣本數(shù)占全部樣本數(shù)的比例。
(3)檢測(cè)錯(cuò)誤率:錯(cuò)誤判斷已知類(lèi)型為未知攻擊的樣本數(shù)占總已知類(lèi)型樣本數(shù)的比例與錯(cuò)誤判斷未知攻擊為已知類(lèi)型的樣本數(shù)占總未知攻擊樣本數(shù)的比例的均值,即0.5Pin(f(x)≤δ)+0.5Pout(f(x)>δ)。
(4)AUROC:受試者工作特征(Receiver Operating Characteristic,ROC)曲線下的面積,該性能指標(biāo)不受閾值δ 的影響,綜合地評(píng)估模型性能。AUROC值越大,說(shuō)明模型正確區(qū)分已知流量類(lèi)型和未知攻擊的能力越強(qiáng)。
(5)AUPR:精度-查全率(Precision-Recall,PR)曲線下的面積,該性能指標(biāo)不受閾值δ 的影響。AUPR值越大,說(shuō)明模型識(shí)別未知類(lèi)別數(shù)據(jù)的平均精度越高。
對(duì)于兩種數(shù)據(jù)集,本文均采用相同的ConfNN 結(jié)構(gòu)和訓(xùn)練方法。具體而言,ConfNN包含兩個(gè)隱含層,輸入層和輸出層的神經(jīng)元個(gè)數(shù)分別與數(shù)據(jù)特征數(shù)以及已知類(lèi)別數(shù)相同,隱含層神經(jīng)元的數(shù)量分別設(shè)置為128 和64。激活函數(shù)選擇ReLU函數(shù),反向傳播階段所采用的優(yōu)化算法為基于動(dòng)量(Momentum)的隨機(jī)梯度下降算法[27],學(xué)習(xí)速率為0.01,動(dòng)量參數(shù)為0.9。訓(xùn)練過(guò)程共經(jīng)過(guò)10 次迭代,在迭代中每次利用32 條流量數(shù)據(jù)進(jìn)行訓(xùn)練,權(quán)值衰減參數(shù)設(shè)置為10-4。為防止網(wǎng)絡(luò)過(guò)擬合,采用插入Dropout層的方法,Dropout參數(shù)設(shè)置為0.1。
4.4.1 模型效果分析
圖4 和圖5 分別展示了在UNSW-NB15 數(shù)據(jù)集和CICIDS 2017 數(shù)據(jù)集的測(cè)試集上,ConfNN 對(duì)于已知類(lèi)型數(shù)據(jù)和未知攻擊數(shù)據(jù)所產(chǎn)生的置信度值的分布直方圖。從圖中可以觀察到以下信息:(1)對(duì)于正確分類(lèi)的已知類(lèi)型數(shù)據(jù),ConfNN 生成接近于1 的置信度值;(2)對(duì)于錯(cuò)誤分類(lèi)的已知類(lèi)型數(shù)據(jù)以及未知攻擊數(shù)據(jù),ConfNN生成較低的置信度值;(3)對(duì)于錯(cuò)誤分類(lèi)的已知類(lèi)型數(shù)據(jù)和未知攻擊數(shù)據(jù),ConfNN 生成的置信度值十分接近。以上現(xiàn)象說(shuō)明ConfNN模型效果符合訓(xùn)練目標(biāo),具備識(shí)別未知攻擊的能力,并且驗(yàn)證了利用訓(xùn)練集誤分類(lèi)流量數(shù)據(jù)進(jìn)行閾值δ 選擇的可行性。
圖4 UNSW-NB15數(shù)據(jù)集置信度值分布直方圖
圖5 CICIDS 2017數(shù)據(jù)集置信度值分布直方圖
圖6 ~圖9 展示了使用相同網(wǎng)絡(luò)參數(shù)訓(xùn)練的傳統(tǒng)DNN 模型與ConfNN 模型在對(duì)測(cè)試數(shù)據(jù)進(jìn)行檢測(cè)時(shí)的歸一化混淆矩陣。結(jié)果表明,對(duì)于已知類(lèi)型流量數(shù)據(jù),ConfNN 模型在分類(lèi)時(shí)會(huì)將DNN 模型錯(cuò)誤分類(lèi)的數(shù)據(jù)判斷為未知類(lèi)型,具有更高的分類(lèi)精度,從而降低模型錯(cuò)誤分類(lèi)對(duì)入侵檢測(cè)系統(tǒng)的負(fù)面影響。但是ConfNN模型在提升分類(lèi)精度的同時(shí),也無(wú)法避免地在一定程度上降低了分類(lèi)的查全率。F1-Score能夠綜合精度和查全率兩項(xiàng)指標(biāo)評(píng)估模型性能,在UNSW-NB15 數(shù)據(jù)集上,對(duì)于已知類(lèi)型流量,DNN 模型與ConfNN 模型的平均F1-Score 分別為0.56 和0.69,在CICIDS 2017 數(shù)據(jù)集上平均F1-Score 分別為0.92 和0.96。以上結(jié)果表明,對(duì)已知類(lèi)型數(shù)據(jù)進(jìn)行分類(lèi),ConfNN模型在精度和查全率上的綜合表現(xiàn)優(yōu)于DNN 模型。此外,對(duì)于未知類(lèi)型流量,DNN模型會(huì)將其誤分類(lèi)為某已知類(lèi)型,造成模型分類(lèi)精度進(jìn)一步降低。ConfNN模型能夠準(zhǔn)確識(shí)別未知類(lèi)型流量,具備疑似未知攻擊類(lèi)型發(fā)現(xiàn)能力。
4.4.2 對(duì)比實(shí)驗(yàn)
圖6 DNN模型UNSW-NB15歸一化混淆矩陣
圖7 ConfNN模型UNSW-NB15歸一化混淆矩陣
圖8 DNN模型CICIDS 2017歸一化混淆矩陣
圖9 ConfNN模型CICIDS 2017歸一化混淆矩陣
表3 One Class SVM、SoftmaxNN與ConfNN模型實(shí)驗(yàn)結(jié)果
為了更客觀地評(píng)估ConfNN 的性能,將傳統(tǒng)未知攻擊識(shí)別的單分類(lèi)支持向量機(jī)(One Class SVM)模型[16]和文獻(xiàn)[18]提出的利用網(wǎng)絡(luò)Softmax層的最大值作為分類(lèi)置信度的SoftmaxNN模型作為對(duì)比算法,比較三種算法在不同評(píng)價(jià)指標(biāo)下的表現(xiàn)。對(duì)于One Class SVM,采用徑向基核函數(shù),內(nèi)核系數(shù)設(shè)置為特征維數(shù)的倒數(shù),訓(xùn)練誤差分?jǐn)?shù)的上限和支持向量分?jǐn)?shù)的下限設(shè)置為0.5;對(duì)于SoftmaxNN,采用與ConfNN 相同的參數(shù)設(shè)置和閾值設(shè)定方法。
表3展示了One Class SVM、ConfNN和SoftmaxNN三種算法所給出的實(shí)驗(yàn)結(jié)果。由于One Class SVM模型中不包含直接影響未知攻擊檢測(cè)結(jié)果的閾值參數(shù),無(wú)需計(jì)算AUROC和AUPR。從測(cè)試結(jié)果可以看出:(1)深度學(xué)習(xí)模型(包括ConfNN和SoftmaxNN)相比傳統(tǒng)One Class SVM模型在對(duì)已知類(lèi)型流量分類(lèi)的準(zhǔn)確率和F1-Score 上有很大的提升,說(shuō)明深度學(xué)習(xí)模型在實(shí)現(xiàn)未知攻擊檢測(cè)的同時(shí)能夠更好地保證對(duì)已知類(lèi)型流量的分類(lèi)能力。(2)深度學(xué)習(xí)模型相比傳統(tǒng)One Class SVM模型在識(shí)別未知攻擊時(shí)的檢測(cè)錯(cuò)誤率明顯下降。(3)相較于SoftmaxNN 模型,ConfNN 在各項(xiàng)評(píng)價(jià)指標(biāo)上均有一定的提升。尤其在檢測(cè)錯(cuò)誤率上,在UNSW-NB15 數(shù)據(jù)集,ConfNN 將檢測(cè)錯(cuò)誤率從34.5%降低到21.2%;在CICIDS 2017 數(shù)據(jù)集上,將檢測(cè)錯(cuò)誤率從25.1%降低到12.6%。實(shí)驗(yàn)結(jié)果驗(yàn)證了ConfNN模型具有較強(qiáng)的區(qū)分已知攻擊和未知攻擊的能力,表明ConfNN是一種有效的未知攻擊識(shí)別方法。
為了提高入侵檢測(cè)系統(tǒng)的綜合防御能力,基于置信度神經(jīng)網(wǎng)絡(luò),本文提出面向網(wǎng)絡(luò)流量的異常檢測(cè)模型ConfNN。相較于傳統(tǒng)異常檢測(cè)模型,ConfNN具備未知攻擊的識(shí)別能力,同時(shí)提高了異常檢測(cè)算法的精度,減少了因攻擊類(lèi)型誤分類(lèi)對(duì)攻擊入侵檢測(cè)系統(tǒng)中攻擊建模和行為分析所造成的消極影響。本文在UNSW-NB15和CICIDS 2017 兩個(gè)異常檢測(cè)數(shù)據(jù)集上的仿真實(shí)驗(yàn)結(jié)果驗(yàn)證了ConfNN模型的效果,并通過(guò)與其他未知攻擊檢測(cè)方法的對(duì)比實(shí)驗(yàn)評(píng)估了ConfNN 模型的綜合性能。實(shí)驗(yàn)結(jié)果表明,ConfNN 模型是一種有效的未知攻擊檢測(cè)方法,能夠更好地滿(mǎn)足入侵檢測(cè)系統(tǒng)的需求。但是,ConfNN模型在分類(lèi)的準(zhǔn)確率、查全率以及區(qū)分未知和已知流量類(lèi)型的檢測(cè)錯(cuò)誤率上仍存在提升空間,這是未來(lái)工作中需要進(jìn)一步解決的問(wèn)題。此外,目前已有的異常檢測(cè)數(shù)據(jù)集仍存在樣本分布不均衡的問(wèn)題,部分攻擊樣本數(shù)量較少,利用生成模型人工生成攻擊樣本用于模型訓(xùn)練也是未來(lái)工作中十分重要的研究?jī)?nèi)容。