曹 軻,朱金奇,馬春梅,杜 恬,鄒馨雨
(天津師范大學(xué)計(jì)算機(jī)與信息工程學(xué)院,天津300387)
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,網(wǎng)絡(luò)滲透、網(wǎng)絡(luò)入侵和網(wǎng)絡(luò)病毒等網(wǎng)絡(luò)安全問(wèn)題的出現(xiàn)愈加頻繁,給網(wǎng)絡(luò)的正常使用帶來(lái)極大隱患.因此,網(wǎng)絡(luò)安全成為人們關(guān)注的焦點(diǎn)[1].目前,入侵檢測(cè)是確保網(wǎng)絡(luò)信息安全的主要手段,其目的是識(shí)別網(wǎng)絡(luò)數(shù)據(jù)流中的惡意流量和攔截網(wǎng)絡(luò)攻擊.然而,由于因特網(wǎng)業(yè)務(wù)量的爆炸式增長(zhǎng),網(wǎng)絡(luò)流量類型日益復(fù)雜,尤其在5G網(wǎng)絡(luò)大規(guī)模應(yīng)用后,網(wǎng)絡(luò)流量類型更加多樣,給入侵檢測(cè)技術(shù)帶來(lái)了巨大挑戰(zhàn)[2-3].如何高效識(shí)別惡意流量,并準(zhǔn)確區(qū)分不同類型的惡意流量,是衡量入侵檢測(cè)系統(tǒng)性能的關(guān)鍵.
現(xiàn)有的入侵檢測(cè)系統(tǒng)可分為兩類:傳統(tǒng)方法或基于機(jī)器學(xué)習(xí)的方法[4-9]和基于深度學(xué)習(xí)的方法[10-15].早期的入侵檢測(cè)研究多使用模式匹配算法,文獻(xiàn)[7]對(duì)入侵檢測(cè)中的模式匹配算法進(jìn)行了總結(jié).模式匹配方法存在低準(zhǔn)確率、高誤報(bào)率的缺陷.隨后機(jī)器學(xué)習(xí)方法被用于入侵檢測(cè).文獻(xiàn)[8]提出基于支持向量機(jī)(SVM)的特征選擇和分類方法,并在NSL-KDD cup 99數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).文獻(xiàn)[9]在最近鄰結(jié)點(diǎn)算法KNN分類器的基礎(chǔ)上結(jié)合k-均值聚類設(shè)計(jì)入侵檢測(cè)系統(tǒng),使用NSL-KDD數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),結(jié)果表明所提方法大大提高了KNN分類器的性能.但上述方法需要進(jìn)行大量的數(shù)據(jù)預(yù)處理和人為特征選取,所以基于機(jī)器學(xué)習(xí)的入侵檢測(cè)模型仍有很多不足.隨著人工智能的發(fā)展,深度學(xué)習(xí)算法在圖像分類、機(jī)器翻譯和人體行為識(shí)別[16]等任務(wù)中表現(xiàn)出較好的性能,一些基于深度學(xué)習(xí)理論的入侵檢測(cè)方法也被提出.文獻(xiàn)[10]將循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural networks,RNN)應(yīng)用于入侵檢測(cè),并使用RNN的變體構(gòu)建入侵檢測(cè)模型.文獻(xiàn)[11]建立了長(zhǎng)短時(shí)記憶(long-short term memory,LSTM)網(wǎng)絡(luò)[17]對(duì)入侵流進(jìn)行分類.但上述研究缺少對(duì)數(shù)據(jù)流深層關(guān)鍵特征的提取,僅單純進(jìn)行了數(shù)據(jù)流特征的學(xué)習(xí).文獻(xiàn)[12]搭建卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)進(jìn)行入侵檢測(cè),并使用UNSW-NB15數(shù)據(jù)集[18]進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,除攻擊類、模糊類和通用類數(shù)據(jù)流外,其他類型攻擊流均無(wú)法被檢測(cè)出來(lái).因此,CNN雖然可以提取數(shù)據(jù)流的深層特征,但對(duì)數(shù)據(jù)流的分類檢測(cè)能力不強(qiáng).文獻(xiàn)[13]基于雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(BLSTM)設(shè)計(jì)入侵檢測(cè)模型,并在NSL-KDD數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),但其實(shí)驗(yàn)所用數(shù)據(jù)集不完全具備最新的網(wǎng)絡(luò)入侵流特征.文獻(xiàn)[14]從UNSW-NB15數(shù)據(jù)集中選取樣本,建立雙向RNN網(wǎng)絡(luò),選擇5個(gè)特征進(jìn)行數(shù)據(jù)流分類,該工作只選擇了部分?jǐn)?shù)據(jù)集并且選取的入侵流特征不全,因此其檢測(cè)能力不具有代表性.文獻(xiàn)[15]構(gòu)建稀疏自編碼器進(jìn)行數(shù)據(jù)降維,搭建RNN模型進(jìn)行特征提取,使用時(shí)序生成器處理數(shù)據(jù),得到了較高的入侵流識(shí)別準(zhǔn)確率,該模型的數(shù)據(jù)預(yù)處理、模型預(yù)訓(xùn)練以及特征選擇工序比較復(fù)雜,且自編碼器對(duì)數(shù)據(jù)的處理是有損的,只能處理與訓(xùn)練樣本類似的數(shù)據(jù),在處理海量且復(fù)雜多樣的入侵流時(shí)存在不足.
本文聯(lián)合多重卷積、注意力機(jī)制(attention mechanism)[19]和基于CuDNN(深度神經(jīng)網(wǎng)絡(luò)的GPU加速庫(kù))加速的LSTM網(wǎng)絡(luò),建立了一種入侵檢測(cè)模型CAL(Convolution-Attention-LSTM).該模型結(jié)合網(wǎng)絡(luò)流的結(jié)構(gòu)特點(diǎn)與網(wǎng)絡(luò)攻擊突發(fā)性的特點(diǎn),在多重卷積后加入注意力層進(jìn)行數(shù)據(jù)流深層關(guān)鍵特征的自動(dòng)提??;通過(guò)池化計(jì)算壓縮特征,加速模型收斂,以提高模型泛化能力,防止過(guò)擬合;使用LSTM充分學(xué)習(xí)數(shù)據(jù)的上下文特征和時(shí)序信息,以提升相關(guān)入侵流的檢測(cè)能力.將CAL模型在完整的UNSW-NB15數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),并與已有的檢測(cè)模型進(jìn)行對(duì)比,結(jié)果表明,CAL模型在入侵流檢測(cè)準(zhǔn)確率和入侵流類型檢測(cè)分類方面均優(yōu)于已有模型.
本文建立的入侵檢測(cè)模型CAL結(jié)構(gòu)如圖1所示.模型由輸入層、多重卷積層、注意力層、池化層、基于CuDNN的LSTM層和多重全連接層等部分組成.輸入層以網(wǎng)絡(luò)流數(shù)據(jù)作為模型的輸入;多重卷積層使用3層多卷積核的卷積神經(jīng)網(wǎng)絡(luò)對(duì)數(shù)據(jù)進(jìn)行特征提取,得到數(shù)據(jù)流的深層特征;注意力層得到卷積層提取的深層特征后,運(yùn)用注意力機(jī)制計(jì)算數(shù)據(jù)的注意力權(quán)重,加權(quán)平均細(xì)化數(shù)據(jù)特征,并從中提取出具有判別性的關(guān)鍵特征;池化層通過(guò)池化計(jì)算來(lái)壓縮從注意力層得到的數(shù)據(jù),以提高下層網(wǎng)絡(luò)的處理效率,加速模型收斂;為進(jìn)一步提高模型的特征學(xué)習(xí)能力和處理效率,在池化層后加入基于CuDNN加速的LSTM層學(xué)習(xí)數(shù)據(jù)內(nèi)的上下文和時(shí)序特征;最后將處理后的向量特征輸入多重全連接層進(jìn)行特征融合,以softmax邏輯回歸層進(jìn)行最終分類,輸出分類結(jié)果.
圖1 CAL模型結(jié)構(gòu)Fig.1 Structure of CAL model
由于網(wǎng)絡(luò)流特征較為復(fù)雜,大都以浮點(diǎn)數(shù)為主,而網(wǎng)絡(luò)協(xié)議、狀態(tài)和服務(wù)這3個(gè)特征的值是英文表達(dá).為便于處理,將網(wǎng)絡(luò)協(xié)議、狀態(tài)和服務(wù)這3個(gè)特征的所有特征值映射到0至200范圍的整數(shù)值上,然后對(duì)這3個(gè)以整數(shù)值表示的特征和其他以浮點(diǎn)數(shù)表示的特征進(jìn)行數(shù)組化表示,以符合神經(jīng)網(wǎng)絡(luò)的輸入標(biāo)準(zhǔn).同時(shí),為避免數(shù)據(jù)過(guò)大而導(dǎo)致的數(shù)據(jù)溢出或權(quán)重不平衡,將數(shù)據(jù)規(guī)范化處理到0至1范圍內(nèi),這樣有利于消除原始數(shù)據(jù)對(duì)模型訓(xùn)練的影響.
卷積層包含連續(xù)的3層卷積,第1層卷積負(fù)責(zé)提取一些低級(jí)的邊緣特征,第2和第3層卷積利用低級(jí)的特征進(jìn)行迭代提取,獲得數(shù)據(jù)流全局的更深層更復(fù)雜的特征.第1層卷積使用雙曲正切激活函數(shù),第2和第3層使用指數(shù)線性單元激活函數(shù),具體如下:
式(1)和式(2)分別為第1層卷積和第2、3層卷積的的計(jì)算過(guò)程,其中:xm為第m層卷積的輸出;bm為偏置參數(shù);rm為數(shù)據(jù)特征值;wm為卷積核;“*”表示卷積運(yùn)算.
為獲得對(duì)入侵流具有判別性的關(guān)鍵特征,提高檢測(cè)精度,本文引入注意力層以使模型可以動(dòng)態(tài)地關(guān)注有助于執(zhí)行當(dāng)下決策的數(shù)據(jù)特征.注意力層負(fù)責(zé)計(jì)算多個(gè)向量或向量組的加權(quán)平均.注意力機(jī)制對(duì)每個(gè)從卷積層輸出的數(shù)據(jù)流向量組計(jì)算注意力分布,得到注意力權(quán)重,最后加權(quán)得到數(shù)據(jù)流最終的向量表示.注意力權(quán)重系數(shù)αi為
其中:xiT為網(wǎng)絡(luò)流深層特征的特征向量;xw為上下文相關(guān)的選擇向量,用來(lái)評(píng)估xiT的重要性.加權(quán)得到的向量特征s為
池化計(jì)算用來(lái)壓縮數(shù)據(jù)和減少參數(shù)數(shù)量,以減小計(jì)算量,提高下層網(wǎng)絡(luò)的處理效率,同時(shí)防止過(guò)擬合,提高模型整體的泛化能力和收斂速度.池化層的操作與卷積層基本相同,下采樣的卷積核對(duì)輸入的向量取對(duì)應(yīng)位置的最大值,其計(jì)算過(guò)程為
其中:Hout和Wout為輸出向量的高度和寬度;T為濾波器每次掃描的步長(zhǎng);hin和hfilter分別為輸入向量和濾波器的高度;win和wfilter分別為輸入向量和濾波器的寬度.
為進(jìn)一步提高模型對(duì)網(wǎng)絡(luò)流的分類能力,引入基于CuDNN的LSTM網(wǎng)絡(luò)來(lái)學(xué)習(xí)數(shù)據(jù)流的上下文特征和時(shí)序信息.當(dāng)信息進(jìn)入LSTM層后,神經(jīng)元判斷它對(duì)決策是否有用,無(wú)用信息則會(huì)被遺忘門(mén)遺忘,門(mén)控循環(huán)單元通過(guò)不同的時(shí)間信息計(jì)算隱藏單元在時(shí)間步長(zhǎng)t的激活值[20].LSTM內(nèi)部的計(jì)算流程如圖2所示,其神經(jīng)元的計(jì)算過(guò)程為
圖2 LSTM計(jì)算流程Fig.2 Computing flowchart of LSTM
其中:xt為當(dāng)前時(shí)刻上層神經(jīng)網(wǎng)絡(luò)輸入的特征;Wi、Wf、Wo、Ri、Rf和Ro為權(quán)重矩陣;bi、bf和bo為偏置向量;σ和tanh為激活函數(shù);ht和ht-1分別為當(dāng)前時(shí)刻和上一時(shí)刻的輸出;it、ft和ot分別為輸入門(mén)、遺忘門(mén)和輸出門(mén)的輸出;ct為細(xì)胞狀態(tài);⊙表示矩陣的Hadamard積.
作為一種非競(jìng)爭(zhēng)性的NMDA受體拮抗劑,有效劑量的氯胺酮可以抑制NMDA受體活性,對(duì)電針刺激不反應(yīng)的Nep模型進(jìn)行逆轉(zhuǎn),并聯(lián)合脊髓電針對(duì)疼痛治療,可以進(jìn)一步將療效增強(qiáng)。最新研究也顯示[4],將低于1 mg/kg的氯胺酮應(yīng)用在缺血性疼痛與癌痛治療中,容易取得較為明顯的療效,可以減少阿片類鎮(zhèn)痛藥物的用藥,從而將不良反應(yīng)減少,達(dá)到減輕患者痛苦。其他非選擇性NMDA受體拮抗劑,包括美金剛、去甲右美沙芬等燈光,這些對(duì)于NeP患者也可以發(fā)揮顯著的鎮(zhèn)痛效果。
UNSW-NB15數(shù)據(jù)集樣本數(shù)量大,特征復(fù)雜,所含攻擊類型多,是入侵檢測(cè)的基準(zhǔn)數(shù)據(jù)集之一.該數(shù)據(jù)集涵蓋1種正常類和9種攻擊類共10種網(wǎng)絡(luò)流類型,9種攻擊類分別為分析類(Analysis)、后門(mén)類(Backdoor)、拒絕服務(wù)類(DoS)、攻擊類(Exploits)、模糊類(Fuzzers)、通用類(Generic)、偵察類(Reconnaissance)、外殼代碼類(Shellcode)和蠕蟲(chóng)類(Worms).UNSWNB15數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,共257 670條數(shù)據(jù),訓(xùn)練集共175 340條數(shù)據(jù),測(cè)試集共82 330條數(shù)據(jù),數(shù)據(jù)集中的記錄沒(méi)有冗余.每條數(shù)據(jù)具有44個(gè)特征,如表1所示,特征1~30是從數(shù)據(jù)包中收集的綜合信息,31~37是網(wǎng)絡(luò)連接特征,38~42是通用特征,43為攻擊類型,44代表是否為攻擊流的標(biāo)簽信息.本文使用UNSW-NB15的訓(xùn)練集訓(xùn)練模型,使用其測(cè)試集評(píng)估模型性能.
表1 UNSW-NB15數(shù)據(jù)集特征列表Tab.1 List of features for UNSW-NB15 dataset
使用準(zhǔn)確率(accuracy,ACC)、檢測(cè)率(detection rate,DR)、虛警率(false alarm rate,F(xiàn)AR)和假陽(yáng)性率(false positive rate,F(xiàn)PR)[21]等4個(gè)指標(biāo)評(píng)估入侵檢測(cè)模型的性能.表2為用于評(píng)估實(shí)驗(yàn)的混淆矩陣.
表2 混淆矩陣Tab.2 Confusion matrix
ACC、DR、FAR和FPR的計(jì)算公式為
實(shí)驗(yàn)采用基于TensorFlow的深度學(xué)習(xí)框架Keras,使用python編程,python版本為3.6,服務(wù)器顯卡為NVIDIA RTX2080TI,顯存為10 GB.
模型訓(xùn)練包括前向傳播和后向傳播.在前向傳播中,輸入的數(shù)據(jù)順次經(jīng)過(guò)多重卷積層、注意力層、池化層和CuDNN-LSTM層,前向傳播完成后得到網(wǎng)絡(luò)流分類的結(jié)果.模型的反向傳播過(guò)程使用Adam優(yōu)化器優(yōu)化,學(xué)習(xí)率設(shè)置為0.001.由于UNSW-NB15數(shù)據(jù)集中有部分特征數(shù)據(jù)為0,所以本文使用稀疏多分類對(duì)數(shù)損失函數(shù)減小數(shù)據(jù)的稀疏性對(duì)損失評(píng)估的影響.模型利用前向與后向傳播獲得目標(biāo)函數(shù)對(duì)于各網(wǎng)絡(luò)層權(quán)重的導(dǎo)數(shù)后,通過(guò)隨即梯度下降來(lái)最小化目標(biāo)函數(shù),從而完成訓(xùn)練過(guò)程.在數(shù)據(jù)集上進(jìn)行了100次迭代訓(xùn)練,從中選擇準(zhǔn)確率最高的參數(shù)作為模型參數(shù),并在測(cè)試集上進(jìn)行實(shí)驗(yàn).
2.4.1 二分類實(shí)驗(yàn)
二分類實(shí)驗(yàn)是將數(shù)據(jù)流的預(yù)測(cè)結(jié)果分為2類:正常和攻擊.表3為CAL模型在UNSW-NB15測(cè)試集上生成的混淆矩陣,可見(jiàn)大多數(shù)的樣本數(shù)據(jù)位于混淆矩陣的對(duì)角線上.由二分類混淆矩陣的數(shù)據(jù)計(jì)算得正常樣本的FPR為2.33%,攻擊樣本的DR為97.67%.
表3 CAL模型的二分類實(shí)驗(yàn)混淆矩陣Tab.3 Confusion matrix for dichotomous experiment of CAL
圖3為模型在訓(xùn)練集和測(cè)試集上進(jìn)行100次迭代的準(zhǔn)確率,由圖3可見(jiàn),迭代84次時(shí),模型在測(cè)試集上的準(zhǔn)確率達(dá)到90.37%,同時(shí)在訓(xùn)練集上的準(zhǔn)確率達(dá)到94.41%.以上結(jié)果表明CAL模型在二分類實(shí)驗(yàn)中體現(xiàn)了良好的檢測(cè)性能.
2.4.2 多分類實(shí)驗(yàn)
多分類實(shí)驗(yàn)將數(shù)據(jù)流的預(yù)測(cè)結(jié)果細(xì)分為前述的10種數(shù)據(jù)流類型(1種正常類和9種攻擊類).圖4為這10種數(shù)據(jù)流類型的混淆矩陣,由圖4可見(jiàn),Normal、Exploits、Reconnaissance和Generic等類型的大多數(shù)樣本都在矩陣對(duì)角線上,而Analysis、Backdoor和DoS類型因?yàn)闃颖緮?shù)量太少?zèng)]有體現(xiàn)出很好的檢測(cè)率.
圖4 CAL模型的多分類實(shí)驗(yàn)混淆矩陣Fig.4 Confusion matrix for multi-type intrusion experiment of CAL
表4為每個(gè)類型對(duì)應(yīng)的DR和FPR,由表4可見(jiàn),Generic入侵流檢測(cè)率最高,為96.84%,而Analysis入侵流因?yàn)闃颖緮?shù)量太少導(dǎo)致特征并沒(méi)有被很好地學(xué)習(xí),因此未被檢測(cè)出.此外,10種類型都顯示出較低的FPR,其中Backdoor、Generic和Worms入侵流的FPR幾乎為0%,而最高的Exploits為10.18%.
表4 CAL模型多分類實(shí)驗(yàn)的DR和FPRTab.4 DR and FPR of multi-type intrusion experiment of CAL
圖5為模型在訓(xùn)練集和測(cè)試集上進(jìn)行100次迭代的準(zhǔn)確率,由圖5可見(jiàn),迭代59次時(shí),模型在測(cè)試集上的準(zhǔn)確率為78.94%,在訓(xùn)練集上的準(zhǔn)確率為82.90%.多分類實(shí)驗(yàn)相比二分類實(shí)驗(yàn)檢測(cè)難度要高出許多,并且其中一些類型因?yàn)闃颖緮?shù)量太少導(dǎo)致檢測(cè)失效,所以模型檢測(cè)性能有所波動(dòng).
圖5 CAL模型多分類實(shí)驗(yàn)的準(zhǔn)確率Fig.5 ACC of multi-type intrusion experiment of CAL
2.4.3 與其他方法的比較
將本文所提入侵檢測(cè)模型CAL與其他方法進(jìn)行實(shí)驗(yàn)比較,包括HNGFA[22]、SVM[23]、LR(logistic regression)、DT(decision tree)、NB(naive Bayes)、RF(random forest)[24]和LSTM模型,在UNSW-NB15測(cè)試集上進(jìn)行實(shí)驗(yàn).
表5給出了二分類實(shí)驗(yàn)中不同模型的ACC和FAR.由表5可見(jiàn),CAL模型的性能均為最優(yōu),CAL模型的ACC僅略高于HNGFA模型,但CAL模型的FAR為10.46%,顯著低于HNGFA的13.03%,說(shuō)明CAL模型具有優(yōu)勢(shì).
表5 不同模型的二分類實(shí)驗(yàn)結(jié)果Tab.5 Results of dichotomous experiment of different models
表6給出了多分類實(shí)驗(yàn)中不同模型的ACC和FPR.由表6可見(jiàn),CAL模型在多分類實(shí)驗(yàn)中的ACC和FPR均優(yōu)于其他方法.與其他方法相比,CAL模型在處理復(fù)雜困難的數(shù)據(jù)流分類時(shí),因?yàn)椴捎昧司矸e層和注意力層進(jìn)行特征提取,并且引入LSTM層學(xué)習(xí)數(shù)據(jù)的上下文和時(shí)序特征,使得模型對(duì)數(shù)據(jù)流關(guān)鍵特征的提取能力更強(qiáng),因此性能表現(xiàn)優(yōu)于其他方法.
表6 不同模型的多分類實(shí)驗(yàn)結(jié)果Tab.6 Results of multi-type intrusion experiment of different models
針對(duì)目前網(wǎng)絡(luò)流類型的多樣性和網(wǎng)絡(luò)攻擊的突發(fā)性,提出入侵檢測(cè)模型CAL,該模型能夠提取數(shù)據(jù)流深層的關(guān)鍵特征,在完整的UNSW-NB15數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果表明,CAL模型的識(shí)別準(zhǔn)確率為90.37%,性能表現(xiàn)優(yōu)于其他已有方法,并能以較高的準(zhǔn)確率識(shí)別各種類型的入侵流.此外,CAL模型的數(shù)據(jù)預(yù)處理、模型預(yù)訓(xùn)練以及特征工程比較簡(jiǎn)單,適合在復(fù)雜多變的網(wǎng)絡(luò)環(huán)境中進(jìn)行入侵檢測(cè).