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

?

基于CNN-NSVM的入侵檢測模型

2019-01-18 05:21:26王佳林童恩棟牛溫佳劉吉強
信息通信技術 2018年6期
關鍵詞:卷積樣本特征

王佳林 童恩棟 牛溫佳 劉吉強 趙 迪

北京交通大學智能交通數據安全與隱私保護技術北京市重點實驗室 北京 100044

引言

隨著互聯網用戶持續(xù)呈指數形式增長,網絡空間的保護也在不斷改善。但與此同時,攻擊者的攻擊頻率也在不斷增長。根據國家互聯網應急中心[1]統(tǒng)計,僅在2017年7月,我國就發(fā)生了近3000起網絡漏洞攻擊事件,嚴重威脅了人民的信息安全,網絡空間安全的防護迫在眉睫。目前網絡安全防御通常是利用放置在網關處的防火墻來檢測入侵活動。為了動態(tài)監(jiān)視入侵活動,IDS(Intrusion Detection System, 入侵檢測系統(tǒng))被用作第二道防線,它可以主動監(jiān)視計算機中的網絡日志以及文件系統(tǒng)等,通過分析網絡流量中的正?;虍惓P袨椋梢詸z測出未知的或新的攻擊[2]。IDS可分為HIDS(Host-based Intrusion Detection System,基于主機的入侵檢測系統(tǒng))以及NIDS(Network-based Intrusion Detection System)。HIDS使用由單個計算機系統(tǒng)收集的信息,而NIDS收集原始網絡數據包作為網絡數據源并分析入侵標志[3]。

目前實現IDS的方法主要包括:統(tǒng)計分析方法,模式匹配方法,基于數據挖掘的異常檢測方法,機器學習、深度學習方法等。Tian等人[4]提出了一種基于誤用檢測與異常檢測相結合的IDS模型。在該模型中,誤用檢測基于模式匹配,異常檢測基于統(tǒng)計分析。該方法降低了假陰性率和假陽性率,提高了IDS的準確性。然而,使用統(tǒng)計分析技術需要建立一個區(qū)分異常事件的閾值,如果設置不當,將導致大量誤報和漏報,并且在模式匹配技術中,會忽略沒有規(guī)則描述的攻擊。Zhang等人[5]提出了兩種基于數據挖掘的改進算法,分別為INFLOF(Influenced Local Outlier Factor,基于對稱鄰居關系的離群因子)算法和COF(Connectivity based Outlier Factor,基于連接的離群系數) 算法。該方法可以解決由密度簇引起的邊緣誤判問題,但在參數選擇上存在一定的困難。雖然LOF(Local Outlier Factor,局部異常因子)算法可以通過觀察不同的k值,然后取最大的離群值來解決這個問題,但是仍然需要確定參數的邊界。

為了解決上述問題,一些淺層的分類器被應用在了入侵檢測領域,其中SVM(Support Vector Machine,支持向量機)基于統(tǒng)計學習方法,相比傳統(tǒng)分類方法,SVM對小樣本數據、高維數據展現出了良好的效果。Guang[6]等人為了提高復雜非線性系統(tǒng)中SVM的檢測能力,提出了一種基于小波核最小二乘的入侵檢測方法。然而,該算法的訓練和測試時間相對較長。Pervez[7]等人為了改進基于SVM的入侵檢測系統(tǒng),提出了一種基于遺傳算法的入侵檢測算法,其選擇了SVM的最優(yōu)特征子集,但沒有考慮SVM的錯誤率。為了克服淺層學習的問題,一些研究者已經證明,分層的深度學習算法和淺層分類器進行結合能夠更好地對網絡數據進行學習以及分類[8]。然而這樣的方法在入侵檢測領域仍然存在一定的局限性。文章[9]使用非對稱的棧式自編碼器和隨機森林相結合進行入侵檢測,使用KDD99數據集進行實驗,模型在整體性能上表現良好,但是在數據集中小樣本的檢測準確率較低。并且在自編碼器中由于相鄰層之間的完全連接單元,還有貪婪式的預訓練使得模型具有大量的訓練參數。

鑒于上述原因,開發(fā)了一種新的基于CNN-NSVM(Convolutional Neural Network-support Vector Machine,卷積神經網絡-多類支持向量機分類器)的方法來提高入侵檢測的性能。我們考慮了數據集中存在數量較少的小樣本數據,因此改進了少數類合成算法對數據進行過采樣操作,解決了數據中存在的不平衡現象。利用CNN(Convolutional Neural Network,卷積神經網絡)對數據集進行特征提取,通過稀疏連接和共享權重的方式減少模型的參數,提高檢測效率,并且設計了多類SVM分類器,縮短了訓練的時間,提高了入侵檢測的準確率以及召回率。

2 基于CNN-NSVM的入侵檢測方法

CNN可以有效地學習特征,通常被用來對圖像進行處理,但同樣可以用來進行數據流量檢測。SVM[3]用于解決小樣本和非線性問題,解決了維度災難、過擬合等常見問題,是當前機器學習的重要方法。通過結合CNN與SVM,我們提出了CNN-NSVM模型。如圖1所示,CNN-NSVM主要包括3部分:1)預處理階段;2)CNN特征提取階段;3)多類SVM分類階段。

圖1 CNN-NSVM整體架構

2.1 預處理

2.1.1 稀疏特征合并

在數據特征中會存在一些特征值v對應的標簽y是相同的,那么這些v之間是沒有意義的,我們通常將他們進行合并,這可以降低數據的計算成本,提高數據分類的準確性,同時減少數據的稀疏度。

2.1.2 特征編碼

基于神經網絡的訓練需要使用到數值型的特征。因此在預處理階段需要把非數值型的特征轉換為數值型的特征。本文使用One-hot編碼將字符型數據映射為數值形式。

2.1.3 改進的少數類合成算法

在網絡流量中,大多數是合法的數據流量,只有少量數據流量是非法的,但往往是這些占少量的數據流量危害更大。提高小樣本的檢測率,對提高整體入侵檢測技術有重要意義。過采樣技術可以解決數據集中各類數據的不平衡問題,Chawla等人[10]首次提出了過采樣技術少數類合成算法,但是這種方法在過采樣操作時存在一定的盲目性,沒有考慮到小樣本數據的分布問題,容易使數據邊緣化問題惡化,使得數據在過采樣之后的檢測率不增反減。因此針對這個問題我們對少數類合成算法進行改進。

在訓練集S中,xi是數據集中的少數樣本。計算出與xi相似的k近鄰半徑內數據集Pi。我們計算k近鄰時采用歐氏距離r,計算公式如下所示。

統(tǒng)計Pi中多數類樣本的個數xd,計算xd在Pi中的比例k,根據過采樣數量的大小設定閥值t,如果0<k<t,則從Pi中隨機選擇一個樣本xaq,進行樣本的人工合成;如果t<k<1,則不進行數據合成。具體的數學表達式如式(2)所示。

其中,rand(0,1)表示隨機數字在0到1之間選擇。然后根據所需的過采樣集的數量重復過采樣操作,并將新的合成的少量樣本添加到初始訓練樣本中。從而增加樣本數量,降低數據集中的不平衡,并獲得新的訓練樣本。改進的少數類合成算法小樣本增量過程如下所示。

輸入:小樣本數據集T;多數類樣本數據集M;采樣率N%;采樣閥值t;

輸出:(N/100)*T新的合成少數類樣本。

對于每一個樣本 xi,xi∈T;

在T找到xi的k近鄰半徑內Pj,j∈(1…k),T,M∈Pj;

k=M/Pj;

如果 t<k<1;

對xi不處理;

否則,如果 0<k<t;

從k個近鄰中隨機的選擇一個樣本xaq,在0到1之間隨機的選擇一個隨機數,從而合成一個新的樣本fiq。

對步驟二重復進行N次,得到新的樣本數據集。

2.1.4 歸一化

數據集中存在一些離散或連續(xù)的數值,它們的范圍不同,使得數據在各維度之間不存在可比性,規(guī)范化方法使用以下方法映射[0,1]之間的數字屬性。

其中,X是數據中某一維度的值,Xmin是該維度的最小值,Xmax是該維度的最大值,Xk是最后得到的歸一化之后的數據。

2.2 特征提取

我們使用CNN對數據流量進行特征提取,將數據流量重新整理成數據矩陣,矩陣中的每一個值都代表一個像素點,通過卷積、池化的不斷操作,將數據中的特征進行學習,并且保存下來。在CNN-NSVM模型中,我們使用3×3的卷積核將預處理數據輸入到輸入層,保存在最后一個全連接層中提取的特征。模型中使用的CNN結構如表1所示。

2.3 多類SVM分類

SVM是一種高效的兩分類機器學習算法,但大多數分類案例都是多分類的。在本文中,提取的特征被輸入到基于二叉樹構造的多類SVM分類器中。其中的核函數是高斯核函數,核函數中的參數σ=0.0001,懲罰因子C=1000,實驗經過五折交叉驗證的結果來調節(jié)參數獲取最高的分類準確率。多類SVM的分類步驟如下。

1)將得到的特征輸入到SVM1中,SVM1首先判斷數據是正常類型還是攻擊類型,如果攻擊類型,則將攻擊類型的數據輸入到SVM2中,否則標記normal標簽。

2)SVM2判斷得到的數據是Dos還是Probe、U2R、R2L中的某個類型,如果是Probe、U2R、R2L中的某個類型,則將這類數據輸入到SVM3中,否則的話標記Dos標簽。

3)SVM3判斷得到的數據是Probe還是U2R和R2L中的某個攻擊類型,如果是U2R和R2L中的攻擊類型,則將該類數據輸入到SVM4中進行分類,否則的話就標記為Probe類型。

4)SVM4判斷得到的數據是否是U2R還是R2L,判斷結果用于標記數據,最后對所有數據進行分類。

表1 CNN結構

3 實驗

3.1 實驗設計

本文的實驗過程如圖2所示。首先將KDD 99數據集進行2.1節(jié)介紹的預處理操作,將獲得的標準數據集輸入CNN進行特征提取,進一步將提取的特征輸入多類SVM分類器進行訓練和測試,根據實驗結果分析改進模型。采用Accuracy、FNR、FPR等評價標準將本文的結果和其他模型進行對比。

圖2 實驗流程

3.2 實驗數據

KDD99數據集是美國空軍9周收集的網絡連接和系統(tǒng)審計數據,涵蓋各種用戶類型,各種網絡流量和攻擊方法,以模擬真實的網絡環(huán)境[11]。訓練數據包括490萬單個連接數據,測試數據包含200萬個網絡連接數據。我們僅使用數據集的10%進行訓練,其中有494021條記錄。這個數據集有五種類型,包括Normal、DoS、R2L、U2R、Probe。攻擊類型分為4類,共39種攻擊類型,其中22種類型的攻擊出現在訓練集中,另外17種未知類型出現在測試集中。每個連接有41個特征。其中Normal類型有97278條記錄,Probe類型有4107條記錄,DoS有391458條記錄,U2R有52條記錄,R2L有1126條記錄。它們分別占總數的19.69%、0.83%、79.24%、0.01%、0.22%。

3.3 數據預處理

1)合并稀疏特征。我們發(fā)現“service”中“ntpu、tftpu、redi”對應的標簽都是“normal”,可以將他們3個進行合并?!皃mdump”、“http2784”、“harvest”、“aol”、“http_8001”所對應的標簽都是“satan”,可以將它們5個進行合并。

2)數值化特征。本文使用One-hot編碼處理非數值型的數據。在KDD 99數據集中有3種協議類型,對應3維的向量;70種服務符號取值,則對應70維不同向量;11種標簽的符號取值,對應11個向量。我們?yōu)樗麄兘⑾鄳臄抵涤成?例如TCP=[1,0,0],UDP=[0,1,0],ICMP=[0,0,1])轉換為數值特征。最后數據在編碼之后的維度從41維變成了122維數據。

3)過采樣技術。因為在KDD 99數據中U2R樣本類型的數量較少,所以本文將得到的數值化之后的122維數據中的U2R攻擊類型進行過采樣操作。過采樣之后的數據集中類型的數量如表2所示。

表2 過采樣之后的數據類型數量

4)歸一化。KDD99數據中存在一些離散或連續(xù)的數值,它們的范圍不同,使得數據在各維度之間不存在可比性,我們將數據歸一化操作,將數據映射到[0,1]之間再對數據進行提取以及分類操作。

3.4 實驗結果與分析

1)實驗1,卷積核長度對檢測結果的影響。

本文分析了CNN中卷積核長度對結果的影響,檢測指標是假陰性率(FNR)和假陽性率(FPR),實驗結果如圖3所示。從圖3中可以看出兩個檢測指標都存在先下降后上升的趨勢,在卷積核長度為2的時候FNR達到最低,說明此時攻擊類型檢測的準確率最高,但此時的FPR較高,我們希望的是提升整體的準確率。在卷積核長度為3的時候,FPR達到最低,同時FNR也達到了一個相對較低的水平。當卷積核長度達到4、5、6時,FNR和FPR都比卷積核長度為3時高,所以卷積核長度為3的時候綜合性能最好??梢?,卷積核的長度不宜過大,過長的卷積核會導致模型的參數增多,增加模型的訓練難度,從而在一定程度上降低模型的檢測性能。過短的卷積核容易導致特征學習不到,降低檢測率。因此,應當充分實驗,選取合適的卷積核長度,提高模型檢測性能。

圖3 CNN中卷積核長度對檢測結果的影響

2)實驗2,過采樣的性能。

圖4 比較過采樣性能的精確率

采用少數類合成算法的CNNNSVM和沒有采用該算法的CNNNSVM進行訓練和測試,比較兩種結果的精確率和召回率,結果如圖4、圖5所示。采用少數類合成算法之后,U2R的精確率提升幅度最大,為17.2%。召回率方面,采用少數類合成算法之后的方法中Normal和Dos兩種類型的召回率變化較小,因為他們已經有了很高的召回率,數據集中的小類U2R和R2L的提升幅度較大,分別提升了40.4%和48.6%。結果證明采用少數類合成算法可以有效解決數據不平衡的問題。

3)實驗3,與其他模型的性能比較。

使用我們的模型與深度置信網絡算法[12]相比較,使用相同的隱藏層個數,深度置信網絡的訓練時間為54660s,我們模型的訓練時間是5023s,節(jié)約了90.81%的時間。

圖5 比較過采樣性能的召回率

與基于蟻群網絡和SVM的入侵檢測算法[13]相比,CNN-NSVM中每一步的召回率(Recall)都比CSVAC高,CNN- NSVM中假陽性和假陰性率都低于CSVAC。與基于啟發(fā)式遺傳算法的SVM[14]相比,CNN-NSVM具有更高的召回率。與GF-SVM算法[15]相比,CNN-NSVM算法的假陰性率低于GF-SVM。與Chi-SVM[16]相比較,CNN-NSVM的假陽性率假陰性率均比較低。表3所示,CNN-NSVM可以提高召回率,同時減低FNR和FPR。

4 結束語

文章對入侵檢測領域中的現狀進行了全面調研,提出了一種新的深度學習方法來進行入侵檢測。該模型改進了少數類合成算法來處理不平衡數據集,并設計多層CNN來提取數據特征,進一步使用多個SVM分類器完成入侵分類。實驗顯示,本文提出模型的整體準確率到達了96.60%,提高了數據集中小樣本的準確率,同時減少了訓練的時間,提高了召回率。后續(xù)我們將繼續(xù)豐富樣本,改進特征提取算法,在降低訓練時間的同時進一步降低模型的假陰性率和假陽性率。

表3 模型性能比較

猜你喜歡
卷積樣本特征
基于3D-Winograd的快速卷積算法設計及FPGA實現
用樣本估計總體復習點撥
如何表達“特征”
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
推動醫(yī)改的“直銷樣本”
基于傅里葉域卷積表示的目標跟蹤算法
抓住特征巧觀察
隨機微分方程的樣本Lyapunov二次型估計
村企共贏的樣本
抚远县| 连江县| 色达县| 顺平县| 平安县| 贵德县| 双桥区| 通城县| 黔东| 新干县| 高邑县| 重庆市| 永年县| 桐城市| 洪江市| 彭山县| 霸州市| 抚远县| 金门县| 青神县| 竹溪县| 洛宁县| 桐乡市| 长宁区| 集贤县| 中阳县| 永善县| 新干县| 武川县| 彝良县| 庄河市| 三台县| 郯城县| 合阳县| 巴林右旗| 乐山市| 保定市| 沾化县| 垦利县| 平远县| 林芝县|