張一凡
(華北電力大學(xué),北京,102200)
入侵檢測的作用是進(jìn)行檢測惡意行為和非法程序,與防火墻相輔相成一起來保證網(wǎng)絡(luò)安全。[1]隨著各地大數(shù)據(jù)中心的不斷建立,許多企業(yè)需要通過多條數(shù)據(jù)鏈路來進(jìn)行大量的數(shù)據(jù)傳輸,數(shù)據(jù)鏈路上傳輸流量過大會(huì)給不法分子以可乘之機(jī)通過入侵來進(jìn)行破壞,引起嚴(yán)重的網(wǎng)絡(luò)安全問題。如何保證網(wǎng)絡(luò)安全是需要通過不斷的研究來解決的問題。近些年流行的入侵檢測技術(shù)在網(wǎng)絡(luò)的兩端都起到非常重要的保護(hù)作用,對于保證網(wǎng)絡(luò)安全是一種比較先進(jìn)的解決方式。
入侵檢測已經(jīng)經(jīng)歷了40年的發(fā)展。1980年,Ande rson[2]等人第一次提出入侵檢測。2006年,Zh ang[3]等人使用隨機(jī)森林模型進(jìn)行入侵檢測。2014年,Gao[4]等人使用深度信念網(wǎng)絡(luò)進(jìn)行異常檢測。2017年,Vinayakumar[5]等人將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用于入侵檢測并取得了非常好的效果。在大數(shù)據(jù)時(shí)代,網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)量大速度快,目前入侵檢測領(lǐng)域中經(jīng)常使用的傳統(tǒng)機(jī)器學(xué)習(xí)方法和深度學(xué)習(xí)方法的準(zhǔn)確率和精確率上都有待進(jìn)一步提升。
本文提出一種將深度學(xué)習(xí)的全連接神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)的決策樹相結(jié)合的模型。本模型分為數(shù)據(jù)預(yù)處理、抽象特征提取和訓(xùn)練分類三個(gè)模塊,首先對檢測數(shù)據(jù)進(jìn)行預(yù)處理,再使用全連接神經(jīng)網(wǎng)絡(luò)來進(jìn)行數(shù)據(jù)抽象特征的提取,最后使用決策樹來進(jìn)行最終的分類。通過最后的實(shí)驗(yàn)表明這種模型能夠達(dá)到很好的入侵檢測效果。
本文提出的模型的第一個(gè)模塊是預(yù)處理模塊,需要將進(jìn)行檢測的數(shù)據(jù)進(jìn)行預(yù)處理,將數(shù)據(jù)通過特征映射和數(shù)字歸一化得到預(yù)處理后的標(biāo)準(zhǔn)數(shù)據(jù)集。數(shù)據(jù)預(yù)處理能夠?qū)㈩愋筒煌筒灰?guī)則分布的數(shù)據(jù)轉(zhuǎn)換成相同標(biāo)準(zhǔn)的數(shù)據(jù)。圖1即為數(shù)據(jù)預(yù)處理的過程。
通過處理后的數(shù)據(jù)方便后續(xù)進(jìn)行特征提取和訓(xùn)練分類的操作,為后續(xù)工作打下基礎(chǔ),通過預(yù)處理的數(shù)據(jù)可以實(shí)現(xiàn)更好的檢測效果。
圖1 數(shù)據(jù)預(yù)處理
本文提出的模型的第二個(gè)模塊是抽象特征提取,通過堆疊三個(gè)不同參數(shù)的全連接層構(gòu)成抽象特征提取模塊。與普通的全連接神經(jīng)網(wǎng)絡(luò)不同,本模型使用全連接層通過激活函數(shù)來提取抽象特征,并沒有使用softmax分類器進(jìn)行分類,分類工作由下一個(gè)模塊來完成。本文提出的模型沒有直接通過淺層分類模型來進(jìn)行分類是因?yàn)槌橄筇卣鞅葲]有經(jīng)過轉(zhuǎn)換的數(shù)據(jù)特征能更好的體現(xiàn)特征含義,可以將特征中一些利用價(jià)值不大的信息進(jìn)行刪除,將最有用的特征提取出來,能夠提升檢測效果。沒有使用softmax分類器進(jìn)行分類的原因是,通過研究發(fā)現(xiàn)使用淺層分類模型的檢測效果在入侵檢測中可以略微好于softmax分類器,所以本文的模型是一種特殊的網(wǎng)絡(luò)和分類器的組合。圖2位全連接神經(jīng)網(wǎng)絡(luò)提取抽象特征的具體過程。
圖2 全連接神經(jīng)網(wǎng)絡(luò)提取抽象特征
全連接神經(jīng)網(wǎng)絡(luò)從左面輸入數(shù)據(jù),到中間節(jié)點(diǎn)計(jì)算,最后右面輸出數(shù)據(jù)。中間節(jié)點(diǎn)計(jì)算使用sigmoid函數(shù)作為激活函數(shù),全連接神經(jīng)網(wǎng)絡(luò)中單個(gè)節(jié)點(diǎn)的計(jì)算都是先進(jìn)行一個(gè)線性運(yùn)算,再通過激活函數(shù)進(jìn)行一個(gè)非線性運(yùn)算來完成的。具體計(jì)算公式如下:
公式中zi表示線性運(yùn)算,F(xiàn)()表示節(jié)點(diǎn)整體運(yùn)算,a()表示激活函數(shù)非線性運(yùn)算,wi表示權(quán)值,b為參數(shù),xi為輸入。網(wǎng)絡(luò)層中每個(gè)節(jié)點(diǎn)都進(jìn)行這樣運(yùn)算,上一層的輸出作為下一層的輸入,直到輸出最后結(jié)果。通過全連接神經(jīng)網(wǎng)絡(luò)來提取抽象特征,為接下來進(jìn)行訓(xùn)練分類做準(zhǔn)備。
本文提出的模型的第三個(gè)模塊是訓(xùn)練分類,通過全連接神經(jīng)網(wǎng)絡(luò)已經(jīng)將輸入的數(shù)據(jù)轉(zhuǎn)換成抽象數(shù)據(jù),將全連接神經(jīng)網(wǎng)絡(luò)的分類器softmax替換成淺層分類模型,通過淺層分類器來進(jìn)行入侵檢測的分類,本文選取決策樹作為淺層分類模型。圖3為使用決策樹進(jìn)行訓(xùn)練分類的過程。
圖3 決策樹分類
決策樹是一個(gè)與流程圖相似的樹形結(jié)構(gòu),決策樹的每個(gè)分支節(jié)點(diǎn)表示一個(gè)特征的測試結(jié)果,根據(jù)這個(gè)結(jié)果來進(jìn)行分類。分支節(jié)點(diǎn)的建立是通過信息熵來確定的。信息熵是由香農(nóng)提出的,是用來解決信息的量化問題。通過計(jì)算特征的信息增益,將信息增益最大特征作為分裂節(jié)點(diǎn)。決策樹的建立主要分為四步。第一步計(jì)算劃分前抽象特征數(shù)據(jù)集的信息熵。第二步遍歷所有未作為劃分的抽象特征,計(jì)算信息熵。第三步選擇信息增益最大的抽象特征,并且使用這個(gè)抽象特征作為節(jié)點(diǎn)來劃分?jǐn)?shù)據(jù)。第四步遞歸的處理劃分后的子抽象特征數(shù)據(jù)集,從未被選擇的特整理繼續(xù)選擇最優(yōu)數(shù)據(jù)劃分抽象特征劃分子抽象特征數(shù)據(jù)集。當(dāng)所有特征都劃分完了或者信息增益足夠小時(shí)停止遞歸。將抽象數(shù)據(jù)輸入到?jīng)Q策樹模型中通過多輪訓(xùn)練進(jìn)行最終分類。
本文使用KDDCup99入侵檢測數(shù)據(jù)集是KDDCUP競賽上使用的數(shù)據(jù),這個(gè)數(shù)據(jù)集是一個(gè)非常經(jīng)典的數(shù)據(jù)集,經(jīng)常用于入侵檢測模型的檢測與比較。整個(gè)數(shù)據(jù)集大約由七百萬條數(shù)據(jù)組成。這個(gè)數(shù)據(jù)集總共包含41個(gè)特征并可分為四大類。數(shù)據(jù)集主要包括四大類攻擊,分別為DOS、R2L、U2R和PROBING,詳細(xì)的分為39種攻擊類型。對該數(shù)據(jù)集進(jìn)行預(yù)處理時(shí)需要將第二個(gè)特征、第三個(gè)特征、第四個(gè)特征和分類結(jié)果進(jìn)行獨(dú)熱編碼處理,其余數(shù)據(jù)進(jìn)行常規(guī)預(yù)處理。
本文在入侵檢測數(shù)據(jù)集上對提出的模型進(jìn)行實(shí)驗(yàn),并選取了多種入侵檢測常用的算法模型來進(jìn)行對比實(shí)驗(yàn),選取的算法模型包括邏輯回歸、樸素貝葉斯、KNN、決策樹、隨機(jī)森林、全連接神經(jīng)網(wǎng)絡(luò)和自編碼器。隨機(jī)選取數(shù)據(jù)集中10%的數(shù)據(jù)并且分為訓(xùn)練集、驗(yàn)證集和測試集來進(jìn)行驗(yàn)證。本文實(shí)驗(yàn)結(jié)果如表1所示。
表1 入侵檢測算法模型實(shí)驗(yàn)結(jié)果
通過進(jìn)行實(shí)驗(yàn)對比,本文提出的全連接神經(jīng)網(wǎng)絡(luò)和決策樹的結(jié)合模型在四個(gè)指標(biāo)檢測中都能到達(dá)比其他模型更好的結(jié)果,accuracy達(dá)到99.1%, precision達(dá)到98.5%,recall 達(dá)到97.1%,f1score達(dá)到97.8,此模型能夠更好的準(zhǔn)確的檢測出入侵威脅,并且適合應(yīng)用于檢測數(shù)據(jù)鏈路中數(shù)據(jù)流量傳遞產(chǎn)生的入侵行為。
互聯(lián)網(wǎng)技術(shù)的快速發(fā)展使網(wǎng)絡(luò)數(shù)據(jù)鏈路中的數(shù)據(jù)傳輸量不斷增大,網(wǎng)絡(luò)安全受大很大威脅。對于檢測數(shù)據(jù)鏈路上傳輸?shù)臄?shù)據(jù)是否包含入侵行為愈發(fā)重要。目前基于數(shù)據(jù)鏈路的網(wǎng)絡(luò)入侵檢測在準(zhǔn)確率和精確率上還有很大的上升空間。本文提出的全連接神經(jīng)網(wǎng)絡(luò)和決策樹結(jié)合的模型在準(zhǔn)確率和精確率上都有很好的提升,運(yùn)用到入侵檢測上能起到非常好的作用。本文通過實(shí)驗(yàn)進(jìn)行對比也很好的驗(yàn)證了這一點(diǎn)。今后可以在入侵檢測運(yùn)行速度上和優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)上進(jìn)一步研究,使入侵檢測模型能夠更好的保證網(wǎng)絡(luò)安全和數(shù)據(jù)安全。