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

?

基于主成分分析和卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測方法研究

2019-09-10 15:36:33李兆峰
現(xiàn)代信息科技 2019年10期
關(guān)鍵詞:入侵檢測卷積神經(jīng)網(wǎng)絡(luò)主成分分析

摘? 要:針對傳統(tǒng)的機(jī)器學(xué)習(xí)方法無法有效地處理網(wǎng)絡(luò)入侵時(shí)海量、高維、冗余數(shù)據(jù)的現(xiàn)象,提出了基于主成分分析(PCA)和卷積神經(jīng)網(wǎng)絡(luò)(CNN)的入侵檢測算法。首先,通過PCA對提取出的高維原始入侵?jǐn)?shù)據(jù)進(jìn)行降維并消除冗余信息,減少了輸入數(shù)據(jù)的維數(shù),然后通過設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)對正常和異常數(shù)據(jù)進(jìn)行分類。在KDD 99數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,文中提出的PCA-CNN模型與CNN以及其他的機(jī)器學(xué)習(xí)方法相比,可有效地提高檢測的準(zhǔn)確率并降低誤報(bào)率。

關(guān)鍵詞:入侵檢測;深度學(xué)習(xí);主成分分析;卷積神經(jīng)網(wǎng)絡(luò)

中圖分類號:TP309 ? ? ?文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2019)10-0148-04

Abstract:Due to the traditional machine learning methods can not effectively deal with massive,high-dimensional and redundant data in network intrusion,an intrusion detection algorithm based on principal component analysis(PCA) and convolutional neural network(CNN) is proposed. Firstly,the high-dimensional original intrusion data extracted by PCA is reduced and the redundant information is eliminated,the dimension of the input data is reduced,and then the normal and abnormal data are classified by the designed convolutional neural network. The experimental results on KDD 99 dataset show that the PCA-CNN model proposed in this paper can effectively improve the detection accuracy and reduce the false alarm rate compared with CNN and other machine learning methods.

Keywords:intrusion detection;deep learning;principal component analysis;convolutional neural network

0? 引? 言

近年來,互聯(lián)網(wǎng)技術(shù)迅速發(fā)展,但隨著網(wǎng)絡(luò)規(guī)模的擴(kuò)大,網(wǎng)絡(luò)安全問題變得至關(guān)重要,而其中入侵檢測系統(tǒng)(IDS)作為保護(hù)網(wǎng)絡(luò)安全的一個(gè)重要手段開始受到廣泛的關(guān)注。入侵檢測系統(tǒng)用于監(jiān)測計(jì)算機(jī)網(wǎng)絡(luò),通過分析從網(wǎng)絡(luò)中捕獲的數(shù)據(jù)來檢測威脅[1],這些威脅是破壞性的,例如拒絕服務(wù)(DoS)通過引入大量無用的流量來拒絕和阻止網(wǎng)絡(luò)上的合法用戶請求[2]。

當(dāng)下機(jī)器學(xué)習(xí)受到了越來越多的關(guān)注,機(jī)器學(xué)習(xí)可以通過經(jīng)驗(yàn)以及對大量數(shù)據(jù)的學(xué)習(xí)來提高算法的性能,利用機(jī)器學(xué)習(xí)的方法來對網(wǎng)絡(luò)入侵行為進(jìn)行分析已經(jīng)成為入侵檢測領(lǐng)域內(nèi)研究熱點(diǎn)之一。文獻(xiàn)[3]采用了貝葉斯網(wǎng)絡(luò)分類器對網(wǎng)絡(luò)流量進(jìn)行分類,并在NSL-KDD數(shù)據(jù)集上取得很好的效果;文獻(xiàn)[4]使用了遺傳算法預(yù)處理提取特征并應(yīng)用支持向量機(jī)來對攻擊進(jìn)行分類;文獻(xiàn)[5]提出了一種k近鄰算法和遺傳算法的混合方法來對網(wǎng)絡(luò)入侵進(jìn)行檢測;文獻(xiàn)[6]使用了一種基于決策樹的網(wǎng)絡(luò)入侵檢測系統(tǒng),結(jié)果表明決策樹可以對未知攻擊進(jìn)行分類;文獻(xiàn)[7]提出了一種可動態(tài)調(diào)整簇?cái)?shù)的k均值聚類算法,性能優(yōu)于傳統(tǒng)的k均值聚類算法。上述這些算法在一些條件下都能達(dá)到較好的準(zhǔn)確度,但在大數(shù)據(jù)量和高維的情況下需要人為地進(jìn)行數(shù)據(jù)挑選,不然容易造成訓(xùn)練時(shí)間過長、效果變差,但是減少數(shù)據(jù)量可能會造成數(shù)據(jù)之間隱含的相關(guān)性被破壞,漏掉有用的信息。深度學(xué)習(xí)可以通過它的深層結(jié)構(gòu)對數(shù)據(jù)學(xué)習(xí),并且在海量、高維的數(shù)據(jù)分析方面有著顯著的效果。

卷積神經(jīng)網(wǎng)絡(luò)就是深度學(xué)習(xí)中的一種高效識別方法。本文首先對數(shù)據(jù)使用PCA降維預(yù)處理,然后根據(jù)卷積神經(jīng)網(wǎng)絡(luò)可以準(zhǔn)確提取特征的局部相關(guān)性等特點(diǎn)對處理后的數(shù)據(jù)進(jìn)行分類,最后利用KDD 99數(shù)據(jù)集對該模型進(jìn)行仿真實(shí)驗(yàn)。本文的方法跟CNN算法、SVM算法相比,有效地提高了準(zhǔn)確率并且降低了誤報(bào)率,并與SOM算法和DBN算法性能基本處于同一水平。

1? 基于PCA-CNN的入侵檢測模型

本文提出了一種基于PCA-CNN的入侵檢測模型,流程圖如圖1所示。首先對訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)進(jìn)行預(yù)處理,將網(wǎng)絡(luò)連接數(shù)據(jù)中帶有的符號轉(zhuǎn)換為數(shù)字,并且對每條數(shù)據(jù)事先進(jìn)行類別標(biāo)注,對其進(jìn)行PCA降維后在設(shè)計(jì)好的CNN網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,多次訓(xùn)練后根據(jù)在測試集上的結(jié)果間的對比得到性能最優(yōu)的入侵檢測模型。

1.1? PCA特征降維

由于網(wǎng)絡(luò)入侵檢測數(shù)據(jù)通常具有較高的維度,并且數(shù)據(jù)中包含的冗余成分較高,為了提高后續(xù)分類算法的效率,減少冗余和過擬合的可能性,本文采用主成分分析(PCA)的方法。PCA的基本原理如下:消除原始數(shù)據(jù)變量存在的相關(guān)性,重新組成一組互不相關(guān)的變量,主成分由線性組合得到,每個(gè)主成分包含信息量可以用方差來度量,即方差越大包含的信息則越多。其主要步驟如下:

1.2? 卷積神經(jīng)網(wǎng)絡(luò)模型

在卷積神經(jīng)網(wǎng)絡(luò)中,主要是由輸入層、幾個(gè)卷積層和下采樣層、全連接層和輸出層組成。本文設(shè)計(jì)成一個(gè)卷積層后跟著一個(gè)下采樣層,根據(jù)需要卷積層和下采樣層的個(gè)數(shù),以此類推。靠近輸出層的幾層是全連接層,卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示。

1.2.1? 卷積層

卷積層把特征向量通過激活函數(shù)來與卷積核進(jìn)行卷積操作,所以增加的卷積層越多,特征表達(dá)能力越強(qiáng)。卷積層的形式為:

為卷積層第l層第j個(gè)輸入特征的特征向量,其中l(wèi)為當(dāng)前層,b為當(dāng)前層的加性偏置量,k為卷積核,Mj為第j個(gè)卷積核對應(yīng)的卷積窗口,為卷積操作,激活函數(shù)常采用Sigmoid、tanh和ReLU,由于后續(xù)的對比實(shí)驗(yàn)中ReLU的效果較好,所以我們采用ReLu作為激活函數(shù)。

1.2.2? 下采樣層

下采樣層可以進(jìn)行特征選擇,下采樣層從卷積層的特征圖的局部區(qū)域計(jì)算特征值,并且選擇一般是無重疊的,這樣就降低了特征的維度,并一定程度上保持了特征尺度的不變特性。雖然降低了特征的維數(shù),但是如圖1所示,特征圖個(gè)數(shù)一致,并不發(fā)生變化。下采樣層表示為:

其中down()為次抽樣函數(shù),β為乘性參數(shù),b為加性偏置量。

1.2.3? 全連接層

全連接層一般在輸出層之前,主要作用就是連接上層特征,并且將其作為輸入值送給分類器,輸出的結(jié)果就是分類的結(jié)果。

1.3? 卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練

訓(xùn)練就是為了預(yù)測的結(jié)果要盡可能地接近真實(shí)的結(jié)果,經(jīng)過前向傳播可以得到這個(gè)預(yù)測結(jié)果,而反向傳播是通過比較這個(gè)預(yù)測結(jié)果和真實(shí)結(jié)果之間誤差來調(diào)整模型的參數(shù)。本文采用訓(xùn)練方法如下。

1.3.1? 前向傳播

將輸入層中的輸入數(shù)據(jù)輸入到預(yù)先設(shè)計(jì)的卷積神經(jīng)網(wǎng)絡(luò)中,依序經(jīng)過卷積神經(jīng)網(wǎng)絡(luò),計(jì)算出的輸出值就是預(yù)測值。

1.3.2? 反向傳播

通過前面得到的預(yù)測值和真實(shí)值之間的誤差,按照損失函數(shù)最小的方式調(diào)整網(wǎng)絡(luò)權(quán)重。損失函數(shù)(loss function)用于“如何比較預(yù)測值和真實(shí)值的差異”,損失函數(shù)的輸出值越高代表差異性越大,所以神經(jīng)網(wǎng)絡(luò)訓(xùn)練的目標(biāo)就是為了盡可能地減小loss值。本文中使用的loss函數(shù)為多類的對數(shù)損失(categorical cross-entropy)。

本文中使用的優(yōu)化器是Keras模型中的Adam隨機(jī)梯度下降算法[8],初始學(xué)習(xí)率設(shè)為0.01,并且設(shè)置為3次迭代后loss不下降就將學(xué)習(xí)率乘0.3。

1.4? 入侵檢測測試

本文設(shè)計(jì)的PCA-CNN模型包含3個(gè)卷積層,2個(gè)全連接層和1個(gè)卷積層到全連接層的過渡層Flatten層,另外在每個(gè)卷積層和全連接層后加了1個(gè)Dropout層,作用是對于神經(jīng)網(wǎng)絡(luò)單元,按照一定的概率將其暫時(shí)從網(wǎng)絡(luò)中丟棄,以防止過擬合。采取將卷積核數(shù)量逐漸倍數(shù)遞升的方法將原始特征映射到高維空間中,加強(qiáng)特征學(xué)習(xí)能力。

采用準(zhǔn)確率Ac,檢測率DR,誤報(bào)率FA來作為模型的評價(jià)指標(biāo),它們的計(jì)算方式如下:

其中TN表示正常樣本被分類為正常的數(shù)目,TP表示攻擊樣本被分類為攻擊的數(shù)目,F(xiàn)P表示正常樣本被分類為攻擊的數(shù)目,F(xiàn)N表示為攻擊樣本被分類為正常的數(shù)目。

2? 實(shí)驗(yàn)過程及結(jié)果

2.1? 實(shí)驗(yàn)數(shù)據(jù)集

實(shí)驗(yàn)的數(shù)據(jù)來自公開的入侵檢測數(shù)據(jù)集KDD 99,該數(shù)據(jù)來自MIT的林肯實(shí)驗(yàn)室模擬的美國空軍局域網(wǎng)的網(wǎng)絡(luò)環(huán)境,并且每條數(shù)據(jù)均已人工標(biāo)注好類別。里面包含五大類數(shù)據(jù),分別是正常、DoS、R2L、Probe和U2R。其中后四類均是攻擊數(shù)據(jù)。由于原數(shù)據(jù)較大,本文中使用10% KDD 99作為訓(xùn)練數(shù)據(jù),Corrected作為測試數(shù)據(jù)。具體數(shù)據(jù)分布見表1。

2.2? 實(shí)驗(yàn)環(huán)境

本文使用了基于TensorFlow[9]的深度學(xué)習(xí)框架Keras,并使用Python語言編寫,配置GPU加速。

2.3? 數(shù)據(jù)預(yù)處理結(jié)果

2.3.1? 符號特征轉(zhuǎn)成數(shù)字

由于KDD 99數(shù)據(jù)集并不都是由數(shù)值型特征組成,其中每一條正常或異常的數(shù)據(jù)都有41維特征,有3維是符號特征,這時(shí)就要將它們轉(zhuǎn)換為數(shù)字特征。例如協(xié)議類型,共有三種TCP、UDP和ICMP,將它們對應(yīng)轉(zhuǎn)換為0、1和2。所以網(wǎng)絡(luò)服務(wù)類型可以按照個(gè)數(shù)轉(zhuǎn)換為0到69,狀態(tài)特征按照個(gè)數(shù)轉(zhuǎn)換為0到10,最后將第42維上的類別按照五種類型分別轉(zhuǎn)換成0、1、2、3和4。最后每條數(shù)據(jù)共有41維特征和1維類別,合計(jì)42維。

2.3.2? PCA降維處理

使用上文中的PCA降維方法對10% KDD 99訓(xùn)練集進(jìn)行降維,得到的累計(jì)貢獻(xiàn)率如圖3所示。本文取累計(jì)貢獻(xiàn)率為99%,所以取新矩陣前25維特征作為訓(xùn)練數(shù)據(jù)集,然后將訓(xùn)練數(shù)據(jù)集降維得到的變換矩陣對測試集Corrected降維。

2.4? 實(shí)驗(yàn)結(jié)果分析

本文設(shè)計(jì)的PCA-CNN模型以及CNN模型的評價(jià)指標(biāo)及卷積核長度見表2,其中卷積核個(gè)數(shù)均一致,分別為8、16、32。由于維數(shù)的不同,CNN模型在前兩個(gè)卷積層后面增加了一個(gè)池化層。激活函數(shù)默認(rèn)都是用ReLU。

由以上PCA-CNN模型和CNN模型利用測試集的結(jié)果對比可知,經(jīng)過PCA處理后的模型在準(zhǔn)確率和檢測率上對比CNN模型有較小的提升,并且在入侵檢測中的重要指標(biāo)誤報(bào)率上有著較明顯的降低,相比于CNN模型的誤報(bào)率相對降低了73.2%。相比于傳統(tǒng)的機(jī)器學(xué)習(xí)算法SVM,本文提出的算法在各方面均有較大的提升,相對于效果比較好的自組織映射(Self-organizing Maps,SOM)人工神經(jīng)網(wǎng)絡(luò)算法,本文采用的PCA-CNN算法在準(zhǔn)確率和檢測率上要略低一些,但是誤報(bào)率要比其更低。相比于深度學(xué)習(xí)里的DBN算法不同的模型,本文算法基本上處在同一水平,雖然準(zhǔn)確率和檢測率有所不及,但是本文算法結(jié)構(gòu)較DBN簡單,運(yùn)算量和復(fù)雜度較低。

3? 結(jié)? 論

針對網(wǎng)絡(luò)入侵檢測中存在的連接數(shù)據(jù)量大、冗余信息多、訓(xùn)練時(shí)間長等問題,本文利用對數(shù)據(jù)先清洗后分類的思想,通過PCA對大數(shù)據(jù)量進(jìn)行特征降維,降低計(jì)算量,減去了39%的特征并消除了數(shù)據(jù)的冗余,結(jié)合對提取特征局部相關(guān)性有優(yōu)勢的CNN分類模型。實(shí)驗(yàn)結(jié)果表明,將主成分分析和卷積神經(jīng)網(wǎng)絡(luò)結(jié)合是有效的。但是這是基于公開數(shù)據(jù)集上的實(shí)驗(yàn),而現(xiàn)如今的網(wǎng)絡(luò)環(huán)境更為復(fù)雜,攻擊類型也更多,后續(xù)的工作除了優(yōu)化該模型對多類別處理的準(zhǔn)確率之外,還需要將其運(yùn)用到現(xiàn)實(shí)網(wǎng)絡(luò)中,通過反饋來繼續(xù)改進(jìn)該方法。

參考文獻(xiàn):

[1] Kumarjonnalagadda S,Ravi P R I. A Literature Survey and Comprehensive Study of Intrusion Detection [J]. International Journal of Computer Applications,2014,81(16):40-47.

[2] Robert Mitchell,Ing-Ray Chen. A survey of intrusion detection techniques for cyber-physical systems [J]. ACM Computing Surveys(CSUR),2014,46(4):1-29.

[3] Onik A R,Haq N F,Mustahin W. Cross-breed type Bayesian network based intrusion detection system(CBNIDS) [C]//International Conference on Computer & Information Technology. IEEE,2016.

[4] Senthilnayaki B ,Venkatalakshmi K ,Kannan A . Intrusion detection using optimal genetic feature selection and SVM based classifier [C]//International Conference on Signal Processing. IEEE,2015.

[5] Canbay Y,Sagiroglu S. A Hybrid Method for Intrusion Detection. [C]//IEEE International Conference on Machine Learning & Applications. IEEE,2016.

[6] Sahu S,Mehtre B M. Network intrusion detection system using J48 Decision Tree. [J]. 2010.

[7] Tao L J ,Hong L Y ,Yan H . The improvement and application of a K-means clustering algorithm [C]//2016 IEEE International Conference on Cloud Computing and Big Data Analysis(ICCCBDA). IEEE,2016.

[8] Kingma D P,Ba J. Adam:A Method for Stochastic Optimization [J]. Computer Science,2014.

[9] Abadi,Martín,Barham P,Chen J,et al. TensorFlow:A system for large-scale machine learning [J]. 2016.

[10] Gao N,Gao L,Gao Q,et al. An Intrusion Detection Model Based on Deep Belief Networks [C]//2014 Second International Conference on Advanced Cloud and Big Data(CBD). IEEE Computer Society,2014.

[11] Ibrahim,L.M.,Basheer,D.T. and Mahmod,M.S.(2013)A Comparison Study for Intrusion Database(Kdd99,Nsl-Kdd)Based on Self Organization Map(SOM)Artificial Neural Network. [J]. Journal of Engineering Science and Technology,2013,8(1):107-119.

作者簡介:李兆峰(1994-),男,漢族,江西人,碩士,研究方向:信息安全。

猜你喜歡
入侵檢測卷積神經(jīng)網(wǎng)絡(luò)主成分分析
基于深度卷積神經(jīng)網(wǎng)絡(luò)的物體識別算法
基于入侵檢測的數(shù)據(jù)流挖掘和識別技術(shù)應(yīng)用
藝術(shù)類院校高效存儲系統(tǒng)的設(shè)計(jì)
基于網(wǎng)絡(luò)規(guī)劃識別的入侵檢測結(jié)構(gòu)
主成分分析法在大學(xué)英語寫作評價(jià)中的應(yīng)用
江蘇省客源市場影響因素研究
SPSS在環(huán)境地球化學(xué)中的應(yīng)用
考試周刊(2016年84期)2016-11-11 23:57:34
深度學(xué)習(xí)算法應(yīng)用于巖石圖像處理的可行性研究
基于深度卷積網(wǎng)絡(luò)的人臉年齡分析算法與實(shí)現(xiàn)
軟件工程(2016年8期)2016-10-25 15:47:34
長沙建設(shè)國家中心城市的瓶頸及其解決路徑
凤庆县| 西藏| 民勤县| 江华| 乐昌市| 安远县| 曲水县| 安庆市| 关岭| 新建县| 贵德县| 靖宇县| 周口市| 景洪市| 探索| 乌兰察布市| 揭西县| 宜兰市| 白沙| 阳春市| 同心县| 福安市| 横山县| 中方县| 昌江| 永春县| 叶城县| 临朐县| 乐亭县| 云南省| 灌云县| 兴义市| 法库县| 师宗县| 金秀| 铁岭市| 仙桃市| 胶州市| 霍邱县| 祁连县| 永平县|