金立群
適應(yīng)多元尺寸長度的卷積神經(jīng)網(wǎng)絡(luò)模型在網(wǎng)絡(luò)入侵檢測中的應(yīng)用
金立群
石家莊職業(yè)技術(shù)學(xué)院, 河北 石家莊 050081
為了實(shí)現(xiàn)對網(wǎng)絡(luò)入侵檢測領(lǐng)域深度層次特征的探索,本文將多元尺寸長度的卷積神經(jīng)網(wǎng)絡(luò)模型引入,并通過BN算法改善模型在學(xué)習(xí)率方面的表現(xiàn),結(jié)果表明,卷積神經(jīng)網(wǎng)絡(luò)在檢測入侵事件方面是完全可行、有效的。
卷積神經(jīng)網(wǎng)絡(luò)模型; 網(wǎng)絡(luò)入侵; 檢測
在網(wǎng)絡(luò)應(yīng)用逐漸滲透到經(jīng)濟(jì)、科研、軍事以及國民生活等領(lǐng)域的過程中,其重要性日益凸顯出來。與此同時(shí),網(wǎng)絡(luò)攻擊事件層出不窮,各種新的攻擊手段不斷涌現(xiàn),稍有疏忽就會(huì)導(dǎo)致發(fā)生網(wǎng)絡(luò)安全事件。當(dāng)然,網(wǎng)絡(luò)具有開放性的特點(diǎn),這就決定了安全隱患是無處不在的,所以當(dāng)前最重要的采取科學(xué)的手段,盡量在最大程度上保障網(wǎng)絡(luò)的安全。在這樣的背景下,越來越多的學(xué)者開始投入到入侵檢測系統(tǒng)[1]的研究中來。以往的安全技術(shù)作用較為有限,入侵檢測模型在保障網(wǎng)絡(luò)安全方面展示出巨大的應(yīng)用潛力。利用機(jī)器學(xué)習(xí)技術(shù)的建模是入侵檢測最受關(guān)注的新方法。相比而言,基于支持向量機(jī)[2]算法、神經(jīng)網(wǎng)絡(luò)[3]、聚類算法等受到了更多的重視。但這些方法具有淺層挖掘的特征,面對附有標(biāo)簽且容量較小的數(shù)據(jù)源,并不適用。在網(wǎng)絡(luò)數(shù)據(jù)呈現(xiàn)出幾何式暴增態(tài)勢的今天,每天都會(huì)產(chǎn)生海量的高維非線性無標(biāo)簽網(wǎng)絡(luò)數(shù)據(jù),導(dǎo)致入侵檢測的難度大幅提高,于是學(xué)者們將關(guān)注點(diǎn)轉(zhuǎn)向深度學(xué)習(xí)。Alom Zahangir[4]證明了深層信念網(wǎng)絡(luò)在入侵檢測領(lǐng)域的價(jià)值和作用;康松林[5]將深度神經(jīng)網(wǎng)絡(luò)和極限學(xué)習(xí)機(jī)綜合起來,在此基礎(chǔ)上創(chuàng)建了全新的深度多層極限學(xué)習(xí)機(jī)算法,該算法具有更高的分類效率;高妮課題組[6]創(chuàng)建了深度信念網(wǎng)絡(luò),實(shí)驗(yàn)證明它非常適用于海量網(wǎng)絡(luò)數(shù)據(jù);在研究中選擇的是遞歸神經(jīng)網(wǎng)絡(luò)入侵檢測模型,其在入侵檢測精度方面具有更好的表現(xiàn),整體性能遠(yuǎn)超機(jī)器學(xué)習(xí)[7]。綜上所述發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺、語音識別、自然語言處理等方面具有較高的價(jià)值,但其網(wǎng)絡(luò)結(jié)構(gòu)不支持IDS的網(wǎng)絡(luò)數(shù)據(jù),這是很少有學(xué)者探討該網(wǎng)絡(luò)在入侵檢測領(lǐng)域作用的主要原因。
針對卷積神經(jīng)網(wǎng)絡(luò)的缺陷,在本文中著重探討了其在網(wǎng)絡(luò)入侵檢測方面的價(jià)值和作用?;诰W(wǎng)絡(luò)數(shù)據(jù)的特征,創(chuàng)建適應(yīng)多元尺寸長度的卷積神經(jīng)網(wǎng)絡(luò)(Multi-dimensional length neural network MDLCNN),然后利用BN(Batch Normalizing)[8]方法改善模型在學(xué)習(xí)率方面的表現(xiàn),結(jié)果發(fā)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)在網(wǎng)絡(luò)入侵檢測領(lǐng)域是一種可行、高效的方法。
本文基于網(wǎng)絡(luò)數(shù)據(jù)的特征,創(chuàng)建MDLCNN模型,CNN首先對圖像進(jìn)行處理,圖像的分類,首先需要提取圖像的局部特征,據(jù)此對人臉進(jìn)行識別,或者是區(qū)分各種目標(biāo)。但這種方法在網(wǎng)絡(luò)流量分類中是行不通的,它需要拼湊不同的局部才可以達(dá)到分類的目的。針對這一點(diǎn),本文創(chuàng)建了能夠完成網(wǎng)絡(luò)數(shù)據(jù)流量分類的MDLCNN模型,詳見下圖1(注:圖中數(shù)字值代表舉證的維數(shù),如11,即為11*11矩陣)。
圖1 多元尺寸長度的卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
MDLCNN模型包含了3個(gè)多元尺寸長度卷積層,2個(gè)卷積層,1個(gè)Pooling層,3個(gè)全連接層,另外還有連接Softmax分類器。卷積層通過BN算法實(shí)現(xiàn)了更高的學(xué)習(xí)速率,各層都通過Relu函數(shù)激活,全連接層使用Dropout策略對抗過擬合激活函數(shù)采用Sigmoid,所以避免了BN層的應(yīng)用,網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)詳見下表1,表中MS Conv為MS Convolution,Conv為Convolution,Ave Pool為Average Pooling,Drop為Drop out,Act Func為Activation Function。
表1 MDLCNN網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)
BN方法是良好的訓(xùn)練優(yōu)化方法,來自Google公司,Batch代表數(shù)據(jù)的批量,Normalization代表數(shù)據(jù)的標(biāo)準(zhǔn)化,將BN算法引入到卷積層中,網(wǎng)絡(luò)結(jié)構(gòu)的學(xué)習(xí)率因此大幅提高。BN算法的執(zhí)行步驟為:輸入:輸入數(shù)據(jù)1,2,…,x(1至x均需要提供給激活函數(shù))。
a.計(jì)算提供給激活函數(shù)數(shù)據(jù)1,2,``````,x的平均值:
b.計(jì)算1,2,``````,x這些數(shù)據(jù)的方差:
c.對數(shù)據(jù)予以標(biāo)準(zhǔn)化處理:
d.對參數(shù),進(jìn)行訓(xùn)練
在訓(xùn)練的正向傳播中,當(dāng)前輸出是恒定的,只需記錄和,在反向傳播環(huán)節(jié),基于與通過鏈?zhǔn)角髮?dǎo)方式,計(jì)算出學(xué)習(xí)速率,據(jù)此調(diào)整權(quán)值。
實(shí)驗(yàn)采用的數(shù)據(jù)都是由MIT林肯實(shí)驗(yàn)室提供的,它包含了600萬條記錄,這里面有10%的數(shù)據(jù)是用來測試和訓(xùn)練的。本實(shí)驗(yàn)中具體的測試和訓(xùn)練數(shù)據(jù)詳見下表2和3:
表2 訓(xùn)練集類別、數(shù)量和比例
表3 測試集類別、數(shù)量和比例
首先對訓(xùn)練集予以預(yù)處理,通過Pandas框架提取數(shù)據(jù)集包含的五類結(jié)構(gòu),新建五個(gè)文件夾并編號0、1、2、3、4,其中0用來存儲DOS類別,1用來存儲Normal類別,2用來存儲Probe類別,3用來存儲R2L類別,4用來存儲類別。分類存儲旨在讓所有的網(wǎng)絡(luò)記錄都能夠附上標(biāo)簽。讀取訓(xùn)練集的數(shù)據(jù),然后提交測試數(shù)據(jù)。
三個(gè)模型的最后一層,均設(shè)置成5個(gè)輸出,分類是通過tf.arg.max函數(shù)實(shí)現(xiàn)的,也就是說五個(gè)輸出中最大概率位置的編碼對應(yīng)的數(shù)字標(biāo)簽。通過交叉熵tf.sparse_sofrmax_cross_entropy_with_logits()函數(shù)計(jì)算出誤差loss,優(yōu)化器通過Adam optimizer提高精度,學(xué)習(xí)率設(shè)置成0.1。
通過0均值的高斯函數(shù),對各層的權(quán)值以及偏置予以初始化處理,損失率達(dá)到了0.02,考慮到數(shù)據(jù)集里面的數(shù)據(jù)分布大小不均在卷積前使用BN層,使數(shù)據(jù)均勻分布,實(shí)現(xiàn)更高的網(wǎng)絡(luò)結(jié)構(gòu)學(xué)習(xí)速率。通過drop out方式在全連接層中連接map特征,從而避免出現(xiàn)過擬合的情況,使網(wǎng)絡(luò)結(jié)構(gòu)在泛化性方面具有更好的表現(xiàn)。
在本文中我們進(jìn)行了4組對比實(shí)驗(yàn),以收斂速度、誤報(bào)率、準(zhǔn)確率為指標(biāo)進(jìn)行比較。
第1組實(shí)驗(yàn)的內(nèi)容是Pooling層重疊MDLCNN和非重疊MDLCNN的分析,結(jié)果詳見下表4。
表4 不同重疊方式的錯(cuò)誤率
對上表中的數(shù)據(jù)進(jìn)行分析能夠確定:Average Pooling收斂耗時(shí)更短,且精準(zhǔn)度更高。重疊方式Pooling或許會(huì)導(dǎo)致噪聲。根據(jù)數(shù)據(jù)類型利用Average Pooling或Max Pooling能夠消除噪聲,第2組實(shí)驗(yàn)的內(nèi)容是 Average Pooling和Max Pooling分析,結(jié)果詳見下表5 。
表5 不同Pooling方式的錯(cuò)誤率
對上表中的數(shù)據(jù)進(jìn)行分析可知,不管是從收斂效率抑或準(zhǔn)確率來看,Average pooling 的表現(xiàn)都比Max pooling更好,充分證明推理是正確的。
BN層有助于實(shí)現(xiàn)更高的網(wǎng)絡(luò)學(xué)習(xí)速率,第3組實(shí)驗(yàn)對比了單純的MDLCNN模型和帶有BN層的MDLCNN模型,結(jié)果詳見下圖2。
對圖2中的數(shù)據(jù)進(jìn)行分析能夠確定:BN層的應(yīng)用有助于縮短收斂耗時(shí),實(shí)現(xiàn)更高的學(xué)習(xí)速率。
圖2 是否帶BN算法的實(shí)驗(yàn)對比
Fig.2. Experimental comparison with or without BN algorithms
第4組試實(shí)驗(yàn)比較的是Alexnet模型[9],Lenet-5模型還有本文研究的MDLCNN模型,在實(shí)驗(yàn)環(huán)境、訓(xùn)練數(shù)據(jù)完全一致的情況下完成訓(xùn)練,然后利用測試集對訓(xùn)練結(jié)果進(jìn)行驗(yàn)證,利用準(zhǔn)確率(Accuracy, AC)和誤報(bào)率(False alarm, FA)這兩項(xiàng)指標(biāo)來評估模型的性能,實(shí)驗(yàn)結(jié)果詳見下圖3和4;為了提高測試結(jié)果的可信度,計(jì)算五次測試結(jié)果的平均值。對圖3中的數(shù)據(jù)進(jìn)行分析能夠確定,MDLCNN模型對DOS、Normal、Probe、U2L、R2L的檢測率依次為94%、93.1%、92.6%、92.1%、90%,比其他兩種模型的準(zhǔn)確率高出了4.38%左右,因此該模型在檢測率方面具有顯著的優(yōu)勢。
圖3 五種攻擊類型在三種算法上的檢測率
圖4 五種攻擊類型在三種算法上的誤報(bào)率
對圖4中的數(shù)據(jù)分析可知,MDLCNN模型在檢測DOS、Normal、Probe、U2L、R2L方面的誤報(bào)率依次為6%、7.9%、7.4%、8.9%、10.2%,證明模型在檢測IDS入侵事件方面的準(zhǔn)確性更高。
深度學(xué)習(xí)方法在入侵檢測方面具有良好的表現(xiàn),它能夠有效的提取高維特征向量的特征,能夠高效、準(zhǔn)確的完成分類任務(wù)。本文探討了卷積神經(jīng)網(wǎng)絡(luò)在入侵檢測方面的價(jià)值和作用。實(shí)驗(yàn)結(jié)果表明,卷積神經(jīng)網(wǎng)絡(luò)在檢測入侵事件方面是完全可行、有效的。本文對卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化,以改善其分類性能。在未來,將會(huì)有更多的精力對其進(jìn)行研究和優(yōu)化,從而縮短訓(xùn)練耗時(shí)、降低分類誤差、強(qiáng)化其泛化性能。
[1] Bauer JM, Dutton WH. The New Cybersecurity Agenda: Economic and Social Challenges to a Secure Internet[R]. SSRN Electronic Journal, 2015
[2] Narayana KV, Manoj VVR, Swathi K. Enhanced Face Recognition based on PCA and, SVM[J]. International Journal of Computer Applications, 2015,117(2):40-42
[3] Samrin R, Vasumathi D. Hybrid Weighted K-Means Clustering and Artificial Neural Network for an Anomaly-Based Network Intrusion Detection System[J]. Journal of Intelligent Systems, 2016,27(2):135-147
[4] Alom MZ, Bontupalli VR, Taha TM. Intrusion detection using deep belief network and extreme learning machine[J]. International Journal of Monitoring and Surveillance Technologies Research, 2015,3(2):357-378
[5] 康松林,劉樂,劉楚楚,等.多層極限學(xué)習(xí)機(jī)在入侵檢測中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2015,35(9):2513-2518
[6] 高妮,高嶺,賀毅岳.面向入侵檢測系統(tǒng)的Deep Belief Nets模型[J].系統(tǒng)工程與電子技術(shù),2016,38(9):2201-2207
[7] Yin CL, Zhu YF, Fei JL,A Deep Learning Approach for Intrusion Detection Using Recurrent Neural Networks[J]. IEEE Access, 2017,5:21954-21961
[8] Loffe S, Szegedy C. Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift[J]. ArXiv e-prints, 2015,3(2):448-458
[9] Krizhevsky A, Sutskever I, Hinton GE. ImageNet classification with deep convolutional neural networks[J]. Advances in neural information processing systems, 2012,25(2):1097-1105
Application of the Convolutional Neural Network Model being Suitable for Multi-dimensional Size Length in Network Intrusion Detection
JIN Li-qun
050081,
In order to realize an exploration for some deep characteristics in the field of network intrusion detection, this paper introduced the convolution neural network model being suitable for multi-dimensional size length into network intrusion detection and improved the manifestation of model in learning rate through BN algorithm. The results showed that it was completely feasible and effective to detect the network intrusion by convolutional neural network model.
Convolutional neural network model; network intrusion; detection
TP309
A
1000-2324(2019)05-0877-04
10.3969/j.issn.1000-2324.2019.05.031
2018-04-10
2018-06-08
金立群(1970-),男,本科,工程師/講師,主要研究方向?yàn)檐浖こ獭⑿畔踩? E-mail:chinlichun@163.com