陳紅松 陳京九
摘? ?要:為提高物聯(lián)網(wǎng)入侵檢測(cè)模型的綜合性能,將殘差神經(jīng)網(wǎng)絡(luò)(Residual Networks,ResNet)與雙向長(zhǎng)短時(shí)記憶(Long-Short Term Memory,LSTM)網(wǎng)絡(luò)融合,構(gòu)建物聯(lián)網(wǎng)入侵檢測(cè)分類模型.針對(duì)大規(guī)模物聯(lián)網(wǎng)流量快速批量處理問題,在對(duì)原始數(shù)據(jù)進(jìn)行清洗、轉(zhuǎn)換等預(yù)處理基礎(chǔ)上,提出將多條流量樣本轉(zhuǎn)換為灰度圖,并利用基于ResNet和雙向LSTM融合的深度學(xué)習(xí)方法構(gòu)建物聯(lián)網(wǎng)入侵檢測(cè)分類模型.對(duì)分類模型的網(wǎng)絡(luò)結(jié)構(gòu)、可復(fù)用性進(jìn)行綜合優(yōu)化實(shí)驗(yàn),得到最終優(yōu)化模型,分類準(zhǔn)確率達(dá)到96.77%,綜合優(yōu)化后的模型構(gòu)建時(shí)間為39.85 s.與其他機(jī)器學(xué)習(xí)算法結(jié)果相比,該優(yōu)化方法在分類準(zhǔn)確率和效率兩個(gè)方面取得了很好的效果,綜合性能優(yōu)于傳統(tǒng)的入侵檢測(cè)分類模型.
關(guān)鍵詞:入侵檢測(cè);殘差網(wǎng)絡(luò);雙向LSTM網(wǎng)絡(luò);圖像分類;物聯(lián)網(wǎng)
中圖分類號(hào):TP183? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? ? ?文章編號(hào):1674—2974(2020)08—0001—08
Abstract:In order to improve the performance of the Internet of Things (IOT) network intrusion detection model, Residual Networks (ResNet) and bidirectional Long-Short Term Memory (LSTM) networks were combined,and an IOT intrusion detection classification model was constructed. For the rapid and batch processing problem of large-scale IOT traffic, multiple traffic samples were converted into grayscale images. Then,the grayscale images were used to construct IOT intrusion detection and classification model which combined with ResNet and bidirectional LSTM network. The network structure and re-usability of the classification model were optimized experimentally,so the optimization model was obtained finally. The classification accuracy of the optimization model is 96.77%, and the running time after the model reuse optimization is 39.85 s. Compared with other machine learning algorithms, the proposed approach achieves good results in both classification accuracy and efficiency. The performance of the proposed model is better than that of traditional intrusion detection model.
Key words:intrusion detection;Residual Networks(ResNet);bidirectional Long-Short Term Memory(LSTM) networks;image classification;IOT(Internet of Things)
隨著網(wǎng)絡(luò)的不斷發(fā)展,人們對(duì)互聯(lián)網(wǎng)的依賴也與日俱增.互聯(lián)網(wǎng)為人們的生產(chǎn)生活提供方便的同時(shí),也滋生了越來(lái)越多的安全問題.尤其是在當(dāng)前物與物相連的物聯(lián)網(wǎng)時(shí)代,如何快速識(shí)別物聯(lián)網(wǎng)中的入侵,成為網(wǎng)絡(luò)安全領(lǐng)域亟待解決的問題之一.入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)可對(duì)流經(jīng)網(wǎng)絡(luò)中的流量進(jìn)行判別,以檢測(cè)是否有入侵情況的發(fā)生.入侵檢測(cè)的實(shí)質(zhì)是一個(gè)分類問題,即判定當(dāng)前流量記錄正常與否,或判定流量所屬攻擊類別.
Sharafaldin等[1]研發(fā)的CICIDS2017入侵檢測(cè)數(shù)據(jù)集是一個(gè)公開數(shù)據(jù)集,該數(shù)據(jù)集基于真實(shí)環(huán)境采集得到.數(shù)據(jù)集包含正常流量和最新的常見攻擊流量,目前國(guó)內(nèi)外有公司、研究機(jī)構(gòu)與學(xué)校共計(jì)196所正在使用該數(shù)據(jù)集. Gharib等[2]利用B-Profile系統(tǒng)基于HTTP、HTTPS、FTP、SSH和電子郵件協(xié)議構(gòu)建了25個(gè)人類交互的抽象行為,用以生成正常背景流量.實(shí)施的攻擊包括暴力FTP、暴力SSH、DoS、Heartbleed、Web攻擊、滲透、僵尸網(wǎng)絡(luò)和DDoS等.
孔令爽[3]利用將流量數(shù)據(jù)轉(zhuǎn)換為圖像的方法,把數(shù)據(jù)以灰度圖的形式表示出來(lái),使用圖像中的紋理表征對(duì)入侵方式進(jìn)行歸類.徐溫雅[4]提出利用改進(jìn)的K-means算法對(duì)訓(xùn)練集中的樣本進(jìn)行數(shù)據(jù)篩選與預(yù)處理,通過基于SVM與神經(jīng)網(wǎng)絡(luò)的混合網(wǎng)絡(luò)入侵檢測(cè)模型對(duì)數(shù)據(jù)集進(jìn)行分類. Vinayakumar等[5]利用CNN-RNN網(wǎng)絡(luò)構(gòu)建入侵檢測(cè)模型對(duì)KDD CUP99數(shù)據(jù)集進(jìn)行建模測(cè)試,準(zhǔn)確率達(dá)到98.7%,證明CNN在提取圖片高維特征時(shí)具有一定優(yōu)勢(shì). Zhang等[6]提出融合LeNet5和LSTM的方法構(gòu)建入侵檢測(cè)模型對(duì)CICIDS2017數(shù)據(jù)集進(jìn)行建模測(cè)試,準(zhǔn)確率達(dá)到99.91%.Ustebay等[7]提出深度多層感知機(jī)方法構(gòu)建入侵檢測(cè)模型,最終達(dá)到91%的準(zhǔn)確率. Dutta等[8]利用CNN-RNN 網(wǎng)絡(luò)進(jìn)行手寫詞語(yǔ)識(shí)別. Jain等[9]利用CNN-RNN進(jìn)行印度語(yǔ)單詞識(shí)別,驗(yàn)證了CNN-RNN網(wǎng)絡(luò)可以在提取圖像特征的同時(shí),學(xué)習(xí)時(shí)序相關(guān)特征.
通過對(duì)現(xiàn)狀分析可知,深度學(xué)習(xí)構(gòu)建入侵檢測(cè)系統(tǒng)可以從原始數(shù)據(jù)中提取更高維度的特征,從而獲得更加良好的分類模型.本文提出一種基于ResNet與雙向LSTM融合的網(wǎng)絡(luò)入侵檢測(cè)分類模型,并通過實(shí)驗(yàn)進(jìn)行驗(yàn)證與優(yōu)化.
1? ?物聯(lián)網(wǎng)入侵檢測(cè)數(shù)據(jù)預(yù)處理
本文提出基于ResNet和雙向LSTM融合的物聯(lián)網(wǎng)入侵檢測(cè)分類模型構(gòu)建與優(yōu)化流程如圖1所示.
由于流量數(shù)據(jù)具有時(shí)間相關(guān)性,為對(duì)大規(guī)模物聯(lián)網(wǎng)流量進(jìn)行批量、快速處理,提出將窗口內(nèi)多條連續(xù)流量記錄轉(zhuǎn)換合成為圖片并利用基于ResNet和雙向LSTM融合的計(jì)算機(jī)視覺處理技術(shù)進(jìn)行分類的方法.本文采用CICIDS2017數(shù)據(jù)集,對(duì)其進(jìn)行數(shù)據(jù)清洗、數(shù)據(jù)抽取和數(shù)據(jù)映射等操作,將其轉(zhuǎn)換為圖像數(shù)據(jù)集.
1.1? ?數(shù)據(jù)清洗
通過對(duì)CICIDS2017數(shù)據(jù)集分析,發(fā)現(xiàn)該數(shù)據(jù)集存在缺失、亂碼等問題,無(wú)法直接用于物聯(lián)網(wǎng)入侵檢測(cè)模型的構(gòu)建.為構(gòu)建基于ResNet和雙向LSTM融合的物聯(lián)網(wǎng)入侵檢測(cè)分類模型,利用數(shù)據(jù)清洗、數(shù)據(jù)變換等步驟需對(duì)原始數(shù)據(jù)集進(jìn)行預(yù)處理.
“臟數(shù)據(jù)”是指不完整、含有噪聲、不一致的數(shù)據(jù),破壞了原始數(shù)據(jù)信息中的內(nèi)部規(guī)律,導(dǎo)致數(shù)據(jù)分析和處理的運(yùn)行效果不佳.因此需要利用自定義的清洗規(guī)則,對(duì)“臟數(shù)據(jù)”進(jìn)行數(shù)據(jù)清洗,手工或自動(dòng)地將“臟數(shù)據(jù)”轉(zhuǎn)換成滿足數(shù)據(jù)質(zhì)量要求的數(shù)據(jù).
數(shù)據(jù)清洗面對(duì)的主要問題是空缺值、錯(cuò)誤數(shù)據(jù)、孤立點(diǎn)和噪聲,解決方案是利用相同的常數(shù)填補(bǔ)數(shù)據(jù)集缺失,將存在的特殊符號(hào)及亂碼進(jìn)行清空或替換處理.由于CICIDS2017數(shù)據(jù)集存在的78個(gè)特征中,既有數(shù)值數(shù)據(jù),又有字符數(shù)據(jù),而深度神經(jīng)網(wǎng)絡(luò)的輸入值應(yīng)該是一個(gè)數(shù)值化矩陣,所以需要將數(shù)據(jù)標(biāo)準(zhǔn)化,數(shù)據(jù)變換時(shí),對(duì)非數(shù)值化特征如“infinite”等轉(zhuǎn)化為數(shù)值形式.
1.2? ?數(shù)據(jù)抽取
本文選用CICIDS2017中的DDoS和Portscan數(shù)據(jù)集,包含225 255條正常樣本、128 027條DDoS攻擊樣本和158 930條Portscan攻擊樣本.為增加不同類別樣本之間的差異性,提高模型分類效果,本文提出數(shù)據(jù)抽取算法SamExtract對(duì)原始數(shù)據(jù)集進(jìn)行預(yù)處理.設(shè)樣本空間T = {T1,T2,…,Tn},當(dāng)前樣本為Tt,樣本類別i = {0,1,2}分別代表正常、DDoS攻擊和Portscan攻擊,SamExtract算法偽代碼如圖2所示.
本文設(shè)定窗口大小w=10,抽取閾值α=0.9,抽取后得到的數(shù)據(jù)集DB與數(shù)據(jù)集DA對(duì)比如表1所示.
由表1可知抽取后得到的數(shù)據(jù)集DB中正常樣本、DDoS攻擊樣本和Portscan攻擊樣本損失率分別為1.63%、0.11%和0.82%.由此可知,根據(jù)該方法抽取的數(shù)據(jù)集DB僅損失了少量特征不明顯的樣本,保留了原始數(shù)據(jù)集DA中的大部分樣本,可證明該提取規(guī)則有效.
1.3? ?數(shù)據(jù)映射
經(jīng)過上述操作后,繼續(xù)將數(shù)據(jù)集DB中的數(shù)據(jù)映射為圖像數(shù)據(jù)集.由于本文設(shè)置窗口大小w=10,CICIDS2017數(shù)據(jù)集中特征數(shù)為78個(gè),所以將數(shù)據(jù)集DB中尺寸為10×78的矩陣W映射為10×78大小的灰度圖像.圖像中每一個(gè)像素對(duì)應(yīng)矩陣中相應(yīng)位置的數(shù)值.
但由于灰度圖數(shù)值范圍為[0,255],而原始矩陣W中數(shù)據(jù)區(qū)間較大,為保留更多特征細(xì)節(jié),映射時(shí)需要對(duì)原始矩陣W進(jìn)行歸一化處理.目前常用的歸一化方法有均值方差歸一化和最大最小歸一化,均值方差歸一化處理后的數(shù)據(jù)符合標(biāo)準(zhǔn)正太分布,常用在一些通過距離得出相似度的聚類算法中,計(jì)算公式為:
最大最小歸一化的手段是一種線性的歸一化方法,它的特點(diǎn)是不會(huì)對(duì)數(shù)據(jù)分布產(chǎn)生影響,但結(jié)果穩(wěn)定性取決于數(shù)據(jù)集最大值、最小值的穩(wěn)定性,常用于圖像處理領(lǐng)域,計(jì)算公式為:
通過歸一化處理后的數(shù)值矩陣再次放縮到[0,255]區(qū)間,并將該值作為圖像對(duì)應(yīng)像素的灰度值,生成的局部流量圖像如圖3所示.
由圖3可以看出,圖3(a)顏色區(qū)分更加鮮明,圖3(b)顏色區(qū)分不太明顯,但是圖3(b)可以保留更多的信息.其原因是均值方差歸一化方法對(duì)數(shù)據(jù)的處理方式是把特征的樣本均值變成0,標(biāo)準(zhǔn)差變成1,因此保留了更多特征,而最大最小歸一化方法對(duì)數(shù)據(jù)的處理方式是將樣本數(shù)據(jù)根據(jù)最大值和最小值調(diào)整到一個(gè)區(qū)間內(nèi),這樣會(huì)丟失更多的信息.因此本文圖像映射采用均值方差歸一化方法進(jìn)行處理.
均值方差歸一化處理后的正常流量、DDoS攻擊流量和Portscan攻擊流量圖像分別如圖4、圖5、圖6所示.
由圖4、圖5、圖6可以看出,3種不同類別流量映射圖像差異較大,可證明該圖像映射方法有效.因此本文后續(xù)根據(jù)該數(shù)據(jù)集進(jìn)行建模與評(píng)估.
2? ?基于ResNet和雙向LSTM融合的物聯(lián)網(wǎng)入侵檢測(cè)分類模型構(gòu)建
本文提出的ResNet+雙向LSTM總體結(jié)構(gòu)圖如圖7所示.
圖7中第一個(gè)卷積層中文字表示卷積核大小為3×3,卷積核個(gè)數(shù)為16個(gè),移動(dòng)步長(zhǎng)為[1,1],分別代表縱向移動(dòng)1步以及橫向移動(dòng)1步,V代表無(wú)填充,S代表0填充,第一個(gè)箭頭下方數(shù)字代表當(dāng)前張量高度為10,寬度為78,通道數(shù)為1.其中輸入層的結(jié)構(gòu)圖如圖8所示.
2.1? ?ResNet-Inception層
圖7中ResNet-Inception層是Szegedy等[10]基于He等[11] ResNet融合了GoogLeNet中的inception-v4提出創(chuàng)新型結(jié)構(gòu). 具體結(jié)構(gòu)如圖9所示.
由圖9可以看出,ResNet-Inception結(jié)構(gòu)不僅在深度上進(jìn)行擴(kuò)展,還增加了網(wǎng)絡(luò)的寬度. 在最右側(cè)卷積層前有一個(gè)連接層,把3個(gè)通道生成的不同類型但大小相同的特征圖并排連接起來(lái),形成新的特征響應(yīng)圖. 數(shù)據(jù)在輸出層之前經(jīng)過了兩條路線,一條是常規(guī)路線,另一條是捷徑,直接實(shí)現(xiàn)單位映射的直接連接的路線.兩條路線得到的張量在輸出層前進(jìn)行了點(diǎn)加操作,最后將張量繼續(xù)向網(wǎng)絡(luò)下層傳遞.
2.2? ?雙向LSTM層
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long-Short Term Memory,LSTM)[12]是一種特殊的RNN類型,其區(qū)別于普通RNN的地方,主要在于它在算法中放置了3扇門,分別叫做輸入門(input gates)、遺忘門(forget gates)和輸出門(output gates),通過門結(jié)構(gòu)的設(shè)計(jì)來(lái)避免梯度消失問題. 門結(jié)構(gòu)的存在可以讓LSTM單元保存和獲取長(zhǎng)時(shí)間周期的上下文信息,LSTM單元內(nèi)部結(jié)構(gòu)如圖10所示.
式中:σ表示sigmoid函數(shù);Wf、Wi、Wc、Wo分別為遺忘門、輸入門、tanh函數(shù)和輸出門的權(quán)重矩陣;ht-1為隱藏層前一時(shí)刻輸出;Ct為當(dāng)前t時(shí)刻LSTM單元的輸出;ot為當(dāng)前t時(shí)刻輸出門的輸出;ht為當(dāng)前t時(shí)刻隱藏層的輸出;xt為輸入向量;bf、bi、bc、bo分別為遺忘門、輸入門、tanh函數(shù)和輸出門的偏置值.
雙向LSTM網(wǎng)絡(luò)中的每一個(gè)訓(xùn)練序列均由前向傳播LSTM網(wǎng)絡(luò)和反向傳播LSTM網(wǎng)絡(luò)組成,這兩個(gè)LSTM網(wǎng)絡(luò)同時(shí)連接一個(gè)輸出層,為輸出層中的每一個(gè)神經(jīng)元提供完整的上下文信息. 具體雙向LSTM網(wǎng)絡(luò)結(jié)構(gòu)如圖11所示.
由圖11可知,每一個(gè)輸出神經(jīng)元的輸入都包含前向LSTM層輸出與反向LSTM層輸出. 輸出神經(jīng)元的計(jì)算公式如下:
3? ?基于ResNet和雙向LSTM融合的物聯(lián)網(wǎng)入侵檢測(cè)分類模型評(píng)估與優(yōu)化
3.1? ?模型評(píng)估
本文采用TensorFlow開源機(jī)器學(xué)習(xí)框架,將第1節(jié)生成的數(shù)據(jù)集按照時(shí)間維度分割為訓(xùn)練集與測(cè)試集,構(gòu)造并驗(yàn)證基于ResNet和雙向LSTM融合的物聯(lián)網(wǎng)入侵檢測(cè)分類模型的有效性.數(shù)據(jù)集類別分布如表2所示.
使用卷積層與最大池化層構(gòu)造ResNet-Inception結(jié)構(gòu),雙向LSTM網(wǎng)絡(luò)參數(shù)為288個(gè)輸入節(jié)點(diǎn),中間隱藏層為1層,隱藏層節(jié)點(diǎn)20個(gè),學(xué)習(xí)率為0.001.利用圖像訓(xùn)練集對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,共訓(xùn)練100輪,取最佳效果如表3所示.
該網(wǎng)絡(luò)結(jié)構(gòu)在64輪時(shí)獲得最佳結(jié)果,準(zhǔn)確率為94.26%,訓(xùn)練耗時(shí)1 488.87 s. 其中F度量為綜合了準(zhǔn)確率與召回率參數(shù)的指標(biāo),計(jì)算公式如下:
式中:P為準(zhǔn)確率;R為召回率.
ResNet-Inception結(jié)構(gòu)解決了深層網(wǎng)絡(luò)的梯度消失問題,長(zhǎng)短時(shí)記憶單元特有的門結(jié)構(gòu)解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)時(shí)間維度的梯度消失問題,實(shí)現(xiàn)較大范圍的上下文信息的保存與傳輸,提高了LSTM單元對(duì)具有長(zhǎng)時(shí)間間隔相關(guān)性特點(diǎn)的序列信息的處理能力.
3.2? ?模型優(yōu)化
3.2.1? ?ResNet-Inception層結(jié)構(gòu)優(yōu)化
初始ResNet-Inception層結(jié)構(gòu)如圖8所示,不同的ResNet-Inception結(jié)構(gòu)對(duì)于不同數(shù)據(jù)集擬合情況不同. 因此本文嘗試調(diào)整ResNet-Inception結(jié)構(gòu)對(duì)模型進(jìn)行進(jìn)一步優(yōu)化. 優(yōu)化后的v1、v2和v3結(jié)構(gòu)如圖12所示.
在保持其他參數(shù)不變的情況下,僅更改ResNet-Inception層的結(jié)構(gòu),訓(xùn)練100輪,得到不同的ResNet-Inception結(jié)構(gòu)效果對(duì)比如表4所示.
由圖12可知,ResNet-Inception v1結(jié)構(gòu)最為復(fù)雜有3個(gè)平行分支,v2、v3結(jié)構(gòu)比v1結(jié)構(gòu)少一個(gè)平行分支. 由表4可知,采用ResNet-Inception v3結(jié)構(gòu)的分類模型在77輪時(shí)獲得最佳結(jié)果,準(zhǔn)確率為94.84%,訓(xùn)練耗時(shí)1 840.17 s,效果強(qiáng)于v1和v2結(jié)構(gòu). 因此下文針對(duì)ResNet-Inception v3結(jié)構(gòu)繼續(xù)進(jìn)行優(yōu)化.
3.2.2? ?ResNet與雙向LSTM層間連接結(jié)構(gòu)優(yōu)化
本文當(dāng)前ResNet層與雙向LSTM層間連接方式是將16個(gè)3×6大小的特征圖全部展開成為1×288的向量作為雙向LSTM層的輸入,此時(shí)雙向LSTM層的輸入節(jié)點(diǎn)數(shù)為288,時(shí)間序列長(zhǎng)度為1.而文獻(xiàn)[6]中將全連接層后的1×1 600的向量重構(gòu)為10×160的向量獲得了較好的效果,因此本文嘗試改進(jìn)ResNet與雙向LSTM層間的連接層結(jié)構(gòu),將16個(gè)特征圖作為雙向LSTM層的不同時(shí)間序列,此時(shí)雙向LSTM層的輸入節(jié)點(diǎn)數(shù)為18,時(shí)間序列長(zhǎng)度為16. 兩種不同連接結(jié)構(gòu)對(duì)比圖如圖13所示.
本文在3.2.1節(jié)網(wǎng)絡(luò)結(jié)構(gòu)基礎(chǔ)上,保持其他網(wǎng)絡(luò)參數(shù)不變,分別采用不同連接結(jié)構(gòu)對(duì)模型進(jìn)行分類測(cè)試,得到對(duì)比結(jié)果如表5所示.
由表5可知,在連接層結(jié)構(gòu)為v1時(shí)取得最佳效果,且由實(shí)驗(yàn)結(jié)果可知,在連接層結(jié)構(gòu)為v2時(shí),模型的穩(wěn)定性受到影響,分類結(jié)果在66.70%~93.38%之間波動(dòng).因此文本后續(xù)實(shí)驗(yàn)基于連接結(jié)構(gòu)v1進(jìn)行優(yōu)化.
3.2.3? ?雙向LSTM層結(jié)構(gòu)優(yōu)化
門控循環(huán)單元(Gate Recurrent Unit,GRU)[10]是一種對(duì)LSTM精簡(jiǎn)后的變體,將 LSTM中的遺忘門和輸入門合并為更新門(update gates),因此GRU的結(jié)構(gòu)只有兩個(gè)門組成,結(jié)構(gòu)更為簡(jiǎn)單,計(jì)算量也隨之降低.本文嘗試將LSTM單元更換為GRU與RNN(Recurrent Neural Networks)單元,同時(shí)調(diào)整雙向LSTM層結(jié)構(gòu)以達(dá)到更佳分類效果.模型優(yōu)化效果對(duì)比如表6所示.
由表6可知,RNN與GRU單元結(jié)構(gòu)較為簡(jiǎn)單,構(gòu)建模型所需訓(xùn)練時(shí)間較短,但準(zhǔn)確率較LSTM單元有所下降. 因此下文繼續(xù)基于LSTM單元進(jìn)行優(yōu)化.而LSTM層在隱藏層數(shù)為2層,隱藏層節(jié)點(diǎn)為20個(gè)時(shí),在不影響分類器準(zhǔn)確率的同時(shí)達(dá)到了效率的提升.因此本文后續(xù)將基于當(dāng)前結(jié)構(gòu)進(jìn)行進(jìn)一步優(yōu)化.
3.3? ?模型復(fù)用
由于模型訓(xùn)練花費(fèi)時(shí)間較長(zhǎng),且具有隨機(jī)性,導(dǎo)致模型無(wú)法保證每次均能得到最佳結(jié)果.因此tensorflow框架針對(duì)這一問題設(shè)計(jì)提供了saver函數(shù),利用tensorflow中的saver函數(shù)可以將任意輪次訓(xùn)練中的相關(guān)模型參數(shù)保存至checkpoints文件中.本文設(shè)定初始準(zhǔn)確率閾值α為0.8,判斷當(dāng)前迭代輪次模型準(zhǔn)確率是否高于當(dāng)前準(zhǔn)確率閾值,若高于當(dāng)前準(zhǔn)確率閾值,則利用saver函數(shù)保存當(dāng)前模型參數(shù)并更新準(zhǔn)確率閾值為當(dāng)前模型準(zhǔn)確率,反之則進(jìn)行下一輪訓(xùn)練. 設(shè)模型迭代總輪次為w,當(dāng)前輪次模型為Mi(0 < i < w),本文所用最佳模型保存算法BestSaver偽代碼如圖14所示.
經(jīng)過圖14的BestSaver算法后得到最佳模型MB,利用restore函數(shù)可以將MB恢復(fù),再對(duì)圖像測(cè)試集進(jìn)行測(cè)試,依然可以達(dá)到最優(yōu)效果,為模型的遷移復(fù)用提供了便利.利用3.2節(jié)最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu)參數(shù),對(duì)圖像數(shù)據(jù)集進(jìn)行1 000輪的訓(xùn)練測(cè)試,發(fā)現(xiàn)第903輪循環(huán)時(shí)得到了最優(yōu)的模型結(jié)果,準(zhǔn)確率達(dá)96.77%,模型訓(xùn)練共耗時(shí)13 968.88 s.利用BestSaver算法將其模型保存后,利用restore方法讀取最佳模型參數(shù)并對(duì)全部圖像測(cè)試集進(jìn)行預(yù)測(cè),準(zhǔn)確率依然達(dá)到96.77%,但模型構(gòu)建所耗費(fèi)的時(shí)間縮短為39.85 s,大大提高了模型檢測(cè)效率,為大規(guī)模物聯(lián)網(wǎng)流量入侵檢測(cè)提供可行方案.
4? ?物聯(lián)網(wǎng)入侵檢測(cè)分類模型對(duì)比
本文利用第1節(jié)處理后的圖像數(shù)據(jù)集對(duì)于目前主流機(jī)器學(xué)習(xí)方法進(jìn)行了訓(xùn)練測(cè)試,分類模型效果對(duì)比如表7所示.
由表7可知,在其他機(jī)器學(xué)習(xí)算法中,ResNet神經(jīng)網(wǎng)絡(luò)分類模型獲得了最高的準(zhǔn)確率96.08%,模型構(gòu)建耗時(shí)9 698.51 s,而支持向量機(jī)(Support Vector Machine,SVM)算法準(zhǔn)確率最低為36.46%,耗時(shí)3 758.84 s.其余的算法如LeNet5神經(jīng)網(wǎng)絡(luò)、AlexNet神經(jīng)網(wǎng)絡(luò)、VGGNet神經(jīng)網(wǎng)絡(luò)、GoogLeNet神經(jīng)網(wǎng)絡(luò)、樸素貝葉斯(Naive Bayes,NB)、支持向量機(jī)(Support Vector Machine,SVM)、隨機(jī)森林(Random Forest Classifier,RFC)、決策樹(Decesion Tree,DT)、梯度提升(Gradient Boosting,GB)、AdaBoost算法,分別獲得了67.95%到95.52%之間不等的準(zhǔn)確率,模型構(gòu)建耗費(fèi)時(shí)間跨度也從0.42 s到8 794.45 s.與以上方法對(duì)比,本文所提ResNet-雙向LSTM算法獲得了96.77%的準(zhǔn)確率,模型構(gòu)建時(shí)間為13 968.88 s.但利用保存好的模型進(jìn)行模型重構(gòu),模型構(gòu)建時(shí)間可以縮短到40 s以內(nèi),效果好于其他機(jī)器學(xué)習(xí)模型.
本文所用Portscan攻擊數(shù)據(jù)僅為2017年7月7日13:55-14:35共40 min采集到的流量數(shù)據(jù),而DDoS攻擊數(shù)據(jù)僅為2017年7月7日15:56-16:16共20 min采集到的流量數(shù)據(jù),其樣本數(shù)量已足夠訓(xùn)練本文所提模型. 而在實(shí)際應(yīng)用時(shí),由于現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境中攻擊流量與正常流量的數(shù)據(jù)量巨大,且采集時(shí)間沒有限制,所以樣本量將更加龐大. 因此實(shí)際應(yīng)用時(shí)的樣本量遠(yuǎn)大于本文訓(xùn)練時(shí)所用樣本量,足以訓(xùn)練本文所提模型.因此本文所提模型對(duì)真實(shí)物聯(lián)網(wǎng)環(huán)境下大規(guī)模入侵檢測(cè)分類模型構(gòu)建及優(yōu)化具有一定參考價(jià)值.
5? ?結(jié)? ?論
針對(duì)大規(guī)模物聯(lián)網(wǎng)流量批量快速處理問題,本文提出SamExtract算法將窗口內(nèi)多條連續(xù)流量記錄轉(zhuǎn)換合成為圖片,并利用基于ResNet和雙向LSTM融合的深度學(xué)習(xí)方法構(gòu)建物聯(lián)網(wǎng)入侵檢測(cè)分類模型.本文提出的基于ResNet和雙向LSTM融合的網(wǎng)絡(luò)結(jié)構(gòu),在空間維度上,利用卷積層提取圖像有效特征,利用ResNet-Inception層解決深層次網(wǎng)絡(luò)梯度消失難以訓(xùn)練的問題;在時(shí)間維度上,利用雙向LSTM網(wǎng)絡(luò)學(xué)習(xí)網(wǎng)絡(luò)流量間的潛在時(shí)間特征.通過進(jìn)一步優(yōu)化ResNet-Inception層結(jié)構(gòu)、連接層結(jié)構(gòu)、雙向LSTM網(wǎng)絡(luò)和復(fù)用分類模型,使優(yōu)化后的分類模型在提高準(zhǔn)確率的同時(shí)提高分類器執(zhí)行效率.采用生成的圖像測(cè)試集對(duì)優(yōu)化后的分類模型進(jìn)行測(cè)試,模型分類預(yù)測(cè)的準(zhǔn)確率達(dá)到了96.77%,模型構(gòu)建時(shí)間為39.85 s,綜合性能優(yōu)于其他分類模型.本文所提SamExtract算法、網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化、模型復(fù)用等優(yōu)化方法對(duì)物聯(lián)網(wǎng)環(huán)境下大規(guī)模入侵檢測(cè)分類模型構(gòu)建及優(yōu)化具有一定參考價(jià)值.
參考文獻(xiàn)
[1]? ?SHARAFALDIN I,LASHKARI A H,GHORBANI A A. Toward generating a new intrusion detection dataset and intrusion traffic characterization[C]// International Conference on Information Systems Security and Privacy. Berlin:Springer,2018:108—116.
[2]? ? GHARIB A,SHARAFALDIN I,LASHKARI A H,et al. An evaluation framework for intrusion detection dataset[C]// International Conference on Information Science and Security. Washington D C:IEEE Computer Society,2016:1—6.
[3]? ? 孔令爽. 基于深度學(xué)習(xí)和遷移學(xué)習(xí)的入侵檢測(cè)研究[D].青島:山東大學(xué)信息科學(xué)與工程學(xué)院,2018:1—10.
KONG L S. Research on intrusion detection based on deep learning and transfer learning [D]. Qingdao:School of Information Science and Engineering,Shandong University,2018:1—10. (In Chinese)
[4]? ? 徐溫雅. 基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)研究[D]. 北京:北京交通大學(xué)計(jì)算機(jī)與信息技術(shù)學(xué)院,2018:2—16.
XU W Y. Research on network intrusion detection based on machine learning [D]. Beijing:School of Computer and Information Technology,Beijing Jiao Tong University,2018:2—16. (In Chinese)
[5]? ?VINAYAKUMAR R,SOMAN K P,POORNACHANDRAN P. Applying convolutional neural network for network intrusion detection[C]// International Conference on Advances in Computing,Communications and Informatics. Washington D C:IEEE Computer Society,2017:1107—1110.
[6]? ?ZHANG Y,CHEN X,JIN L,et al. Network Intrusion detection:based on deep hierarchical network and original flow data [J]. IEEE Access,2019,7(1):37004—37016.
[7]? ? USTEBAY S,TURGUT Z,AYDIN M A. Intrusion detection system with recursive feature elimination by using random forest and deep learning classifier[C]// International Congress on Big Data,Deep Learning and Fighting Cyber Terrorism. Washington D C:IEEE Computer Society,2018:71—76.
[8]? ? DUTTA K,KRISHNAN P,MATHEW M,et al. Improving CNN-RNN hybrid networks for handwriting recognition[C]// International Conference on Frontiers in Handwriting Recognition. Washington D C:IEEE Computer Society,2018:80—85.
[9]? ? JAIN M,MATHEW M,JAWAHAR C V. Unconstrained OCR for Urdu using deep CNN-RNN hybrid networks[C]// IAPR Asian Conference on Pattern Recognition. Washington D C:IEEE Computer Society,2017:747—752.
[10]? SZEGEDY C,IOFFE S,VANHOUCKE V. Inception-v4,inception-ResNet and the impact of residual connections on learning [C]// AAAI Conference on Artificial Intelligence. Palo Alto:AAAI Press,2016:4278—4284.
[11]? HE K M,ZHANG X Y,REN S Q,et al. Deep residual learning for image recognition [C]// IEEE Conference on Computer Vision and Pattern Recognition. Washington D C:IEEE Computer Society,2016:770—778.
[12]? KIM J,KIM J,THU H L T,et al. Long short term memory recurrent neural network classifier for intrusion detection [C]// IEEE International Conference on Platform Technology and Service. Washington D C:IEEE Computer Society,2016:1—5.