国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于深度CNN的入侵檢測算法

2020-04-19 07:25:50
計算機(jī)應(yīng)用與軟件 2020年4期
關(guān)鍵詞:誤報率殘差卷積

李 勇 張 波

(重慶郵電大學(xué)自動化學(xué)院 重慶 400065)

0 引 言

隨著互聯(lián)網(wǎng)規(guī)模的不斷擴(kuò)大,互聯(lián)網(wǎng)與人們的生活融合得越來越深,其正在改變?nèi)藗兊纳?、學(xué)習(xí)和工作方式,但所面臨的各種安全威脅也越來越嚴(yán)重。如何實時和快速地識別各種攻擊,特別是不可預(yù)見的攻擊,是目前一個不可避免的問題。入侵檢測系統(tǒng)(IDS)作為信息安全領(lǐng)域一項重要的成果,相比于傳統(tǒng)的靜態(tài)安全技術(shù),如防火墻、漏洞掃描機(jī),可以識別已經(jīng)發(fā)生的入侵或者正在發(fā)生的入侵,已經(jīng)成為信息安全領(lǐng)域的重要研究對象。

近年來,機(jī)器學(xué)習(xí)方法已經(jīng)被廣泛應(yīng)用在識別各種類型的攻擊中,基于機(jī)器學(xué)習(xí)的入侵檢測系統(tǒng)可以幫助網(wǎng)絡(luò)管理員來判斷系統(tǒng)是否遭受到入侵。然而,隨著網(wǎng)絡(luò)設(shè)備和技術(shù)的不斷更新,大數(shù)據(jù)等新技術(shù)的興起,產(chǎn)生了大量的網(wǎng)絡(luò)數(shù)據(jù)。傳統(tǒng)的機(jī)器學(xué)習(xí)算法大多屬于淺層學(xué)習(xí)算法,旨在強(qiáng)調(diào)特征工程和特征選擇,已經(jīng)不能解決實際網(wǎng)絡(luò)中出現(xiàn)的大量入侵?jǐn)?shù)據(jù)的分類問題。隨著網(wǎng)絡(luò)數(shù)據(jù)量的急劇增長,其精度會不斷下降,而且這種增長還將繼續(xù)。

Hinton教授在2006年提出深度學(xué)習(xí)理論后[1],深度學(xué)習(xí)理論和技術(shù)迅速崛起,在此背景下,相關(guān)的論文和實踐研究成果層出不窮,并取得了顯著的成果,尤其在圖像識別[2]、語音識別和動作識別[3-4]領(lǐng)域。入侵檢測技術(shù)本質(zhì)上是一種分類技術(shù),而卷積神經(jīng)網(wǎng)絡(luò)能夠自動發(fā)現(xiàn)數(shù)據(jù)之間的相關(guān)性,且深度CNN可以有效地檢測零日攻擊等新的攻擊類型,因此將深度CNN應(yīng)用到入侵檢測中是非常有價值和意義的。

在之前的研究中,提出了一些基于傳統(tǒng)機(jī)器學(xué)習(xí)的方法,包括SVM、K近鄰(K-Nearest Neighbour, KNN)、ANN、Random Forest(RF)等,并在入侵檢測系統(tǒng)中取得了成功。近年來,深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)的一個分支,在入侵檢測中得到了越來越多的應(yīng)用。研究表明,深度學(xué)習(xí)完全超越了傳統(tǒng)的學(xué)習(xí)方法。Salama等[5]將深度置信網(wǎng)絡(luò)運用到入侵檢測中,其準(zhǔn)確率高于傳統(tǒng)的SVM方法。Kim等[6]將循環(huán)神經(jīng)網(wǎng)絡(luò)應(yīng)用到入侵檢測,使用KDD99數(shù)據(jù)集進(jìn)行驗證,通過分析可知該方法在入侵檢測中具有良好的檢測能力??琢钪荹7]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測模型,通過與傳統(tǒng)的機(jī)器學(xué)習(xí)方法比較,證明該模型在漏報率和誤報率上都大幅度降低。武天舒[8]提出一種改進(jìn)的CNN入侵檢測模型,使用信息熵和互信息進(jìn)行特征降維,使用檢測率、誤報率、召回率等多個入侵檢測系統(tǒng)指標(biāo)評估,其提出的模型在網(wǎng)絡(luò)入侵檢測的檢測率上可達(dá)到95%以上。通過以上研究表明,深度學(xué)習(xí)是入侵檢測的下一個研究方向。

1 研究基礎(chǔ)

1.1 前向傳播

卷積神經(jīng)網(wǎng)絡(luò)主要包括輸入層、卷積層、池化層以及全連接層。卷積層的輸入來源于輸入層或采樣層,通過上一層的輸出向量和本層的卷積核進(jìn)行卷積運算,其公式如下:

(1)

采樣層對卷積層輸出的數(shù)據(jù)進(jìn)行采樣處理,主要為了降低網(wǎng)絡(luò)特征的復(fù)雜度。其操作如下:

(2)

全連接層主要實現(xiàn)將所有的二維特征圖轉(zhuǎn)換為一維特征圖作為全連接層的輸入,如下所示:

(3)

1.2 反向傳播調(diào)整權(quán)值和偏置

反向傳播主要利用網(wǎng)絡(luò)的實際輸出與期望輸出的差值來調(diào)節(jié)網(wǎng)絡(luò)參數(shù),主要優(yōu)化卷積核參數(shù)k、全連接層的網(wǎng)絡(luò)權(quán)重ω以及各層的偏置b。

(1) 卷積層。這里假設(shè)每個卷積層l后都有一個下采樣層l+1,第l層的第j特征圖的殘差公式如下:

(4)

則卷積層l的偏置的梯度b可以表示為:

(5)

創(chuàng)造力的要素很多,如智力、認(rèn)知風(fēng)格、價值、目的、信念和策略等等。智力,在學(xué)校教育中被放在首要位置。但智力只是創(chuàng)造力的一個方面的要素,還有很多非智力方面的要素是不能忽略的。過去的教育往往傾向于智力因素的培養(yǎng),忽視了非智力因素的作用。智力與非智力因素都是人創(chuàng)造力發(fā)展的重要方面。其中,想象力在創(chuàng)造性的發(fā)揮中至關(guān)重要。有的學(xué)者認(rèn)為想象力是最重要的。一個人即便掌握了許多知識,但如果缺乏想象力,想象不到知識間的聯(lián)系與新的可能性,便不能體現(xiàn)創(chuàng)造力。知識、智力固然很重要,非智力因素如想象力等也很重要。

(6)

(2) 采樣層。假設(shè)層l為下采樣層,l+1層為卷積層,則采樣層l的第j特征圖的殘差計算公式可表示為:

(7)

則采樣層的偏置的梯度可以表示為:

(8)

為了得到采樣層權(quán)重的梯度,我們定義下式:

(9)

則采樣層的權(quán)重β的梯度為:

(10)

2 CNN模型設(shè)計

深度CNN在圖像識別和語音識別上獲得了重大的成功,大部分研究都表明了網(wǎng)絡(luò)深度的重要性。在其重要性的驅(qū)使下,一個問題誕生了:是否靠簡單的堆疊網(wǎng)絡(luò)來加深網(wǎng)絡(luò)就能取得更好的成績。但通過多次的實驗表明,隨著深度的增加,準(zhǔn)確率在下降。問題的出現(xiàn)不是由過擬合造成的,而是由梯度消失造成的。針對此問題,微軟研究院設(shè)計了一種深度殘差網(wǎng)絡(luò)。

使用H(x)表示任意的理想映射,假設(shè)某隱含層的映射關(guān)系為H(x)-x→F(x),多個線性層組合可以近似為一個復(fù)雜函數(shù)。假設(shè)隱含層的殘差近似于某個復(fù)雜函數(shù),則隱含層可以表示為:

H(x)=F(x)+x

(11)

這樣就得到了一種新的殘差結(jié)構(gòu)。殘差單元的輸出就可以由多個卷積層級聯(lián)的輸出和輸入元素相加(需保證輸入元素和卷積層級聯(lián)后的維度相同),經(jīng)過Relu激活函數(shù)后得到,形成殘差網(wǎng)絡(luò)結(jié)構(gòu)。其典型的結(jié)構(gòu)如圖1所示。

圖1 經(jīng)典殘差結(jié)構(gòu)[10]

本文參考Google團(tuán)隊的Inception結(jié)構(gòu)和何凱明博士提出的殘差網(wǎng)絡(luò),得出一種基于Inception結(jié)構(gòu)和殘差神經(jīng)網(wǎng)絡(luò)結(jié)合的CNN模型,如圖2所示。

圖2 深度殘差模型[11]

深度殘差結(jié)構(gòu)使用1×1和3×3的卷積結(jié)構(gòu)融合在一起。使用兩個3×3卷積替換5×5的卷積操作,既可以加快運算速度又可以加深網(wǎng)絡(luò)的深度。為了減少計算復(fù)雜度,同時對輸出進(jìn)行降維,在卷積操作前加入1×1的卷積核[11]。因需要進(jìn)行層之間的融合,對上面的各個操作進(jìn)行零填充,在3×3的卷積操作后加入pad為1的零填充層,5×5的卷積操作后加入pad為2的零填充層。

本實驗?zāi)P陀奢斎雽印?個inception_resnet層、2個卷積層、1個采樣層、2個Dropout層和3個全連接層組成。在卷積層后加入Relu函數(shù),前兩層全連接層使用Sigmoid激活函數(shù),最后一層用Softmax函數(shù)進(jìn)行最終的分類。除全連接層以外的所有層都加入了BN(Batch Normalization)層[12]。輸入層為11×11維數(shù)據(jù);第一個卷積使用3×3的卷積模塊,步長設(shè)置為1;第二個卷積模塊也使用3×3的卷積模塊,步長設(shè)置為2;采樣層使用動態(tài)自適應(yīng)采樣算法,采樣大小設(shè)置為4×4,步長設(shè)置為默認(rèn)大小,全連接層更加容易使模型過擬合,因此需要使用Dropout來避免過擬合[13]。其他參數(shù)取上文所獲取的最優(yōu)參數(shù),最終的實驗?zāi)P腿绫?所示。

表1 入侵檢測整體模型設(shè)計

3 實 驗

3.1 實驗環(huán)境和數(shù)據(jù)源

本實驗的硬件環(huán)境:Windows 10系統(tǒng),Intel 酷睿i7 5500U雙核CPU,8 GB內(nèi)存。軟件環(huán)境:Python 3.6、Oracle數(shù)據(jù)庫、基于TensorFlow的keras深度學(xué)習(xí)框架。

本文選用的數(shù)據(jù)為KDDCUP99數(shù)據(jù)集。該數(shù)據(jù)集由Stolfo等[14]準(zhǔn)備,并且基于DARPA(美國國防部高級研究計劃局)在1998年的IDS評估項目中獲取的數(shù)據(jù)所構(gòu)建。共采集了九周的網(wǎng)絡(luò)連接和系統(tǒng)審計數(shù)據(jù),通過仿真不同種類的用戶類型、網(wǎng)絡(luò)流量以及攻擊方式,得到KDDCUP99數(shù)據(jù)集[15]。

因為完整數(shù)據(jù)集的大小超過4 GB,一般的入侵檢測系統(tǒng)和模型難以訓(xùn)練。所以本實驗使用KDD CUP99數(shù)據(jù)集中的“kddcup.data_10_percent”作為網(wǎng)絡(luò)的訓(xùn)練集,“corrected”作為網(wǎng)絡(luò)的測試集,其中訓(xùn)練集共494 021條,測試集共311 029條。

3.2 數(shù)據(jù)預(yù)處理

KDDCUP99數(shù)據(jù)集的每條數(shù)據(jù)都具有41維,其中38維是數(shù)字特征,其他3維為符號特征,將每個特征屬性進(jìn)行預(yù)處理,消除特征之間的差異性,使其具有可比性。其過程可由以下兩部分組成。

(1) 符號特征的數(shù)字化。KDDCUP99數(shù)據(jù)集包含38個數(shù)字特征和3個字符特征,由于基于卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測算法的輸入值要求是一個數(shù)字矩陣,因此需將protocol_type、service和flag特征轉(zhuǎn)換為數(shù)字形式。例如protocol_type特征具有3種類型的屬性,將其通過One-hot編碼的方式轉(zhuǎn)換為對應(yīng)的數(shù)值類型:TCP、UDP和ICMP其對應(yīng)數(shù)值被編碼為二進(jìn)制向量(1,0,0)、(0,1,0)和(0,0,1)。類似地,service特征共有70種屬性類型,flag特征具有11種屬性類型,轉(zhuǎn)換之后,41維的特征向量映射為122維特征向量。

(2) 數(shù)字特征的歸一化。為了消除因為量綱導(dǎo)致不同特征之間具有的巨大差異,需要對剩下的38個特征向量進(jìn)行歸一化,采用最大最小歸一化方法,其公式如下:

(12)

式中:xmin、xmax分別為每一維特征項的、最小值和最大值,x為原始特征項,xnorm為歸一化后的值。

3.3 實驗結(jié)果分析

入侵檢測的評價指標(biāo)主要包括準(zhǔn)確率、誤報率以及漏報率,其中,定義TN為數(shù)據(jù)為正常且預(yù)測也為正常的數(shù)據(jù)量,TP為數(shù)據(jù)為異常且預(yù)測也為異常的數(shù)據(jù)量,F(xiàn)N為數(shù)據(jù)為異常而預(yù)測為正常的數(shù)據(jù)的數(shù)量,F(xiàn)P為數(shù)據(jù)為正常而預(yù)測為異常的數(shù)據(jù)的數(shù)量,則準(zhǔn)確 率、誤報率、檢測率分別為:

(13)

(14)

(15)

為了驗證此算法對于入侵檢測系統(tǒng)的有效性,輸入特征項共122維,舍棄其中is_hot_login特征項,此項特征的值都為0,對入侵檢測分類結(jié)果作用為零。將其轉(zhuǎn)換為11×11維的二維的“圖像數(shù)據(jù)”,全連接層采用Softmax進(jìn)行分類。

(1) 二分類實驗。對入侵檢測算法進(jìn)行二分類,正常標(biāo)簽設(shè)置為0,攻擊標(biāo)簽設(shè)置為1,表2顯示了改進(jìn)的深度CNN與Lenet-5以及GoogleNet在各個攻擊類型上的檢測率對比??梢钥闯?,深度CNN算法對Normal、Probe、DoS、U2R、R2L的準(zhǔn)確率分別為97.82%、97.73%、97.90%、88.54%、33.87%,R2L的檢測率比Lenet-5和GoogleNet算法都高,U2R的檢測率也相應(yīng)地有所提高。由于U2R和R2L在訓(xùn)練集中的比例非常低,這兩種類型產(chǎn)生的后果非常嚴(yán)重,因此提高這兩種攻擊的檢測率十分具有必要。

表2 深度CNN與Lenet-5以及GoogleNet的各個攻擊類型的準(zhǔn)確率對比 %

(2) 五分類實驗。與二分類實驗主要不同在于將攻擊具體化分類,正常的設(shè)置為1,四大攻擊類依次設(shè)置為2~5。表3顯示了五分類實驗中測試集在改進(jìn)入侵檢測算法上的混淆矩陣??梢钥闯?,改進(jìn)的入侵檢測算法在五分類實驗中準(zhǔn)確率為93.45%,在對稀疏攻擊U2R和R2L上,召回率提高到31.58%和36.67%。這進(jìn)一步表明了改進(jìn)算法具有強(qiáng)大的檢測能力。

表3 深度CNN在測試集上五分類實驗混淆矩陣

表4中將提出的CNN算法與常見機(jī)器學(xué)習(xí)算法的性能結(jié)果進(jìn)行比較,在性能上有所提高。相比于文獻(xiàn)[16]提出的基于粒子群優(yōu)化的特征選擇和使用樸素貝葉斯(NB)分類器進(jìn)行分類的入侵檢測算法,本文算法在檢測率上提高了4%,誤報率下降0.5%。文獻(xiàn)[17]提出的基于GA的SVM算法,GA采取新的適應(yīng)度函數(shù),去優(yōu)化SVM的參數(shù),本文算法的檢測率和誤報率能與該入侵檢測算法基本持平。本文較文獻(xiàn)[18]提出的RF算法在準(zhǔn)確率和檢測率上都有所提高,與其改進(jìn)的算法的性能基本一致。深度學(xué)習(xí)具有強(qiáng)大的特征提取能力,深度卷積神經(jīng)網(wǎng)絡(luò)相比傳統(tǒng)機(jī)器學(xué)習(xí)算法在入侵檢測中具有較大的優(yōu)勢。

表4 深度CNN和機(jī)器學(xué)習(xí)算法性能對比 %

表5將提出的CNN算法與文獻(xiàn)[19]所提出的深度學(xué)習(xí)算法的性能進(jìn)行比較,可以看出,本文的CNN算法在入侵檢測中的檢測率高于DBN,誤報率略低于DBN,檢測率和誤報率與SMOTE-DBN算法基本持平。后期可以進(jìn)一步改進(jìn)本文算法來提高入侵檢測能力。

表5 深度CNN和其他深度學(xué)習(xí)算法性能比較 %

4 結(jié) 語

本文對入侵檢測和卷積神經(jīng)網(wǎng)絡(luò)展開研究,利用卷積神經(jīng)網(wǎng)絡(luò)在處理分類問題上的長處,將卷積神經(jīng)網(wǎng)絡(luò)用在入侵檢測中,提出了一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測算法。通過KDDCUP99數(shù)據(jù)進(jìn)行訓(xùn)練和測試,與文獻(xiàn)[16-18]所提出的經(jīng)典學(xué)習(xí)算法SVM、RF、NB進(jìn)行比較,準(zhǔn)確率和檢測率均優(yōu)于其他經(jīng)典的機(jī)器學(xué)習(xí)算法,與其改進(jìn)算法在性能上基本持平。本文算法較文獻(xiàn)[19]所提出的深度學(xué)習(xí)算法DBN在檢測率和誤報率上都有所提高,與其提出的改進(jìn)深度學(xué)習(xí)算法的性能指標(biāo)基本一致,證明本文算法在入侵檢測領(lǐng)域的有效性。同時與基于Lenet-5的CNN算法和GoogleNet算法進(jìn)行比較,對稀疏攻擊類型R2L和U2R的檢測率都有所提升,但在檢測稀疏攻擊類型R2L方面需要進(jìn)一步改進(jìn)。

猜你喜歡
誤報率殘差卷積
基于GRU-LSTM算法的物聯(lián)網(wǎng)數(shù)據(jù)入侵檢測分析
基于SSA-SVM的網(wǎng)絡(luò)入侵檢測研究
基于雙向GRU與殘差擬合的車輛跟馳建模
基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
家用燃?xì)鈭缶髡`報原因及降低誤報率的方法
煤氣與熱力(2021年6期)2021-07-28 07:21:40
基于殘差學(xué)習(xí)的自適應(yīng)無人機(jī)目標(biāo)跟蹤算法
基于遞歸殘差網(wǎng)絡(luò)的圖像超分辨率重建
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
神經(jīng)網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)入侵檢測模型及系統(tǒng)中的應(yīng)用
车险| 吉林市| 沿河| 锡林郭勒盟| 焉耆| 武穴市| 洪泽县| 谢通门县| 舞阳县| 弥渡县| 宁波市| 洪雅县| 苗栗县| 池州市| 隆昌县| 库尔勒市| 宁陵县| 龙山县| 长寿区| 威信县| 云南省| 平武县| 临高县| 永兴县| 广州市| 松溪县| 额济纳旗| 澳门| 无为县| 团风县| 翼城县| 留坝县| 云和县| 榆林市| 新昌县| 谷城县| 黄陵县| 台东县| 漳平市| 郸城县| 墨脱县|