?

基于深度學習的網絡攻擊檢測

2018-03-12 09:26
關鍵詞:池化層步長卷積

(山西警察學院 網絡安全保衛系,山西 太原 030401)

0 引言

近年來,硬件計算的飛速發展和成本的不斷降低,促進了深度學習(Deep Learning,DL)的發展,通過應用在AlphaGo和無人駕駛的發展,極大的提升了深度學習的實用性和普及性.目前,深度學習已經廣泛應用于自然語言處理[1~2]、計算機視覺[3~4]、語音識別[5~6]、無人駕駛等[7]領域.深度學習屬于機器學習的子領域,在深度學習之前,就出現了還能多采用機器學習來對于網絡安全領域問題進行求解的方法,如貝葉斯、支持向量機、淺層神經網絡和邏輯回歸等.目前,已經出現一些工作用于將深度學習與網絡安全領域結合的工作.

相對于傳統方法,深度學習方法能有效提高檢測效率和降低誤報率,從而更及時地發現已存在的網絡安全威脅.這些工作主要有:劉月峰等[7]提出了一種面向網絡入侵檢測的深度卷積網絡模型,將網絡入侵檢測的數據轉換為卷積網絡的輸入數據,并利用卷積網絡對原始數據進行降維,最后利用BP反向傳播方法來調整網絡參數.夏玉明等[8]提出了一種基于卷積神經網絡的網絡攻擊檢測方法研究,然后將提取的日志特征映射到一組灰度圖進行異常檢測,將網絡攻擊特征映射為灰度圖,將提取的日志特征映射到一組灰度圖進行異常檢測,并將日志存入本地服務器并映射到灰度圖.

為了進一步提高網絡安全的攻擊檢測能力,提出了一種改進的基于深度學習的網絡攻擊檢測方法,并通過實驗證明了本文方法的有效性.

1 經典的卷積網絡模型

1.1 卷積網絡模型

卷積網絡模型是一種由卷積層和池化層構成的多層前饋神經網絡.卷積層采用卷積運算來獲得局部特征,池化層主要用于對特征進行降維,從而保留對于目標決策重要的特征,而去掉不重要和冗余的特征.

圖1所示的模型對應的經典的LaNet-5結構如圖2所示.

圖1 基本的卷積網絡模型

圖2 LeNet-5結構

在圖2中,C1,C3和C5都是卷積層,卷積層的特征是由上一層的特征圖通過卷積核所規定的卷積操作來實現,卷積核在特征圖上沿著左邊緣和上邊緣,依次向下和向左邊滑動.卷積核的計算如下所示:

(1)

1.2 池化層

圖2中的P2和P4都是池化層,池化層的操作也是通過滑動窗口的方式來將原始特征圖片劃分為n*n個互不重疊的區域.池化的方法主要可以分為兩種:最大化池化和平均池化.這兩種方法通過子區域中的像素進行平均或者求最大值,使得原始圖像能縮小n*n,池化作用的公式為:

(2)

1.3 全連接層

圖2中的F5和F6是全連接層.全連接層通常出現在最后一個池化層或卷積層的后面,每個神經元均與上一層的所有神經元相連,其計算公式為

hw,b(x)=f(WTx+b)

(3)

其中,x是神經元的輸入,f(·)是激,活函數hw,b(x)為神經元的輸出,W為輸入權矩陣,b是偏置向量.

2 基于并行卷積神經網絡的網絡安全檢測

本文設計的改進的卷積網絡用于實現網絡安全檢測,該卷積神經網絡通過并行的特征求取,并通過后面連接兩個全連接層來對網絡安全攻擊事件進行分類,從圖3中可以看出,本文設計的并行卷積神經網絡一共包含2個深度卷積神經網絡:CNN1和CNN2.首先,第一步是將原始圖像通過尺寸變換后,變換為兩種像素類型的圖片:64*64和160*96.

圖3 并行的卷積神經網絡結構

CNN1的輸入圖像是160*96,該網絡由4個卷積層和3個池化層組成.CNN2的輸入圖像為64*64,該網絡有2個卷積層和一個池化層.在CNN1中,第一個卷積層是20個14*6的卷積核,其輸出結果是74*46的圖片特征.第一個池化層是P2,步長為2,

該層是由20個2*2的模板組成,步長為2,其輸出特征圖片的維數為37*23;第三層是卷積層,其卷積核大小為100個8*4的模板,步長為1,輸出圖片維數為30*20;第四層是池化層,其卷積核為100個2*2的模板,步長為1,輸出圖像的特征為30*20;第五層是卷積層,其卷積核為200個大小為2*2的卷積核,步長為1,輸出圖像的特征為12*8;第六層是池化層,卷積核為200個大小為2*2的模板,步長為2,輸出為6*4的圖像特征;第七層是300個大小為6*4的卷積核,步長為1,輸出為1*300的圖像特征;第八層的神經元的輸出為1*50個神經元.

CNN2的結構如下:第一層是卷積層,其卷積核的大小50個12*12的卷積核,步長為4,輸出特征圖像的大小為64*64;第二層是池化層,其卷積核大小為50個2*2的卷積層,步長為2,其輸出為7*7的特征圖像;第三層是卷積層,其卷積核大小為100個7*7的模板,輸出為1*100;第四層是全連接層,其輸出神經元個數為1*50.

在CNN2和CNN1后的全連接層的主要作用就是將全面連接的輸出映射到一個全連接層,該全連接層的輸出為20.

在全連接層后跟Softmax分類器作為分類器,分類的數目則是根據網絡攻擊類別來確定,在輸入元素為x時,輸出類別為y=i的概率可以表示為:

(4)

3 模型訓練

采用美國麻省理工大學的林肯實驗室的網絡安全攻擊數據庫KDD Cup99作為仿真數據集,該數據集一共包含500萬條記錄.KDD Cup99中的每個訓練數據都包含了41個固定特征屬性和1個類標記.特征屬性中僅有9個離散型屬性,其它均為連續型屬性,前9個屬性表示網絡連接基本特征;10~22表示的是網絡連接內容特征,23~31是基于時間的流量溶劑特征,最后的11個特征是主機網絡流量統計特征.其類別特征是正?;蛘弋惓n愋偷臉擞?訓練過程如圖4所示:

圖4 本文模型的訓練過程

從圖4中可以發現,對于原始數據集,首先通過屬性映射、數據歸一化和數據轉換等過程,轉換為目標數據集,然后將該數據集劃分為訓練數據集和測試數據集,然后通過反向來調整網絡對網絡訓練,最后采用測試集獲得網絡的攻擊類別.

4 仿真實驗

4.1 實驗介紹

為了對對本文方法進行驗證,采用KDD Cup99進行訓練并最終進行測試.本文模型在采用python語言實現,其框架為tensorflow.為了驗證本文方法有效性,將其與本文方法與文獻[7]和文獻[8]方法相比,攻擊的類型一共有5種,即正常、Dos,Probe,R2L和U2R.下面將從準確率和誤報率兩個角度來衡量模型的性能:

準確率的計算如下:

(5)

誤報率的計算如下:

(6)

4.2 仿真結果

訓練集和測試集如表1和表2所示.

表1 訓練集類別和對應的比例

表2 測試集類別和對應的比例

三種方法得到的攻擊檢測結果如圖表3所示:

表3 三種方法的比較結果

從表3可以明顯看出,通過與文獻[7]和文獻[8]方法相比發現,本文方法具有更高的正確率,且其誤報率上也明顯高于另外兩種方法,這也說明了采用并行機制后,使得網絡攻擊檢測能力大大提高.

5 總結

為了實現網絡攻擊檢測,提出了一種基于并行深度神經網絡的網絡攻擊檢測系統.該系統設計了兩組深度卷積網絡同時提取有效特征,該深度卷積網絡主要是由于多個卷積層和池化層組合而成,然后通過將網絡攻擊類別映射為輸出層神經元個數,實現對網絡的攻擊類型進行分類.將本文所提方法與文獻[8]以及文獻[9]所提的卷積神經網絡進行比較,其結果表明了所提方法較對比算法在檢測準確率和誤報率上均具有較大的優越性.

猜你喜歡
池化層步長卷積
中心差商公式變步長算法的計算終止條件
基于Armijo搜索步長的BFGS與DFP擬牛頓法的比較研究
基于3D-Winograd的快速卷積算法設計及FPGA實現
卷積神經網絡模型研究分析*
基于卷積神經網絡的紙幣分類與點鈔
基于隨機森林回歸的智能手機用步長估計模型
基于深度學習卷積神經網絡的人體行為識別研究
卷積神經網絡的分析與設計
從濾波器理解卷積
基于全卷積神經網絡的SAR圖像目標分類*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合