黃嶼璁 張 潮 呂 鑫,3 曾 濤 王鑫元 丁辰龍
1(河海大學(xué)計(jì)算機(jī)與信息學(xué)院 南京 211100)2(水利部信息中心 北京 100053)3(河海大學(xué)水利部水利大數(shù)據(jù)技術(shù)重點(diǎn)實(shí)驗(yàn)室 南京 211100)(huangyc89757@163.com)
互聯(lián)網(wǎng)在政治、金融、文化、通信等領(lǐng)域起著至關(guān)重要的作用,是我國(guó)關(guān)鍵信息基礎(chǔ)設(shè)施之一.隨著智能終端設(shè)備的普及與互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)逐漸成為人們工作與日常生活不可缺失的一種工具.然而,在當(dāng)前日益復(fù)雜的網(wǎng)絡(luò)環(huán)境下,網(wǎng)絡(luò)攻擊事件出現(xiàn)的頻率逐年增加.根據(jù)相關(guān)報(bào)告顯示,僅2021年1月我國(guó)境內(nèi)感染木馬或僵尸網(wǎng)絡(luò)惡意程序的終端就有119萬(wàn)余個(gè),遭到篡改、植入后門、仿冒的網(wǎng)站數(shù)量在22 000個(gè)以上.國(guó)家信息安全漏洞共享平臺(tái)(CNVD)收集整理的信息系統(tǒng)安全漏洞高達(dá)1 660個(gè),其中570個(gè)為高危漏洞.我國(guó)網(wǎng)絡(luò)安全形勢(shì)日益嚴(yán)峻,如何采取有效措施來(lái)應(yīng)對(duì)層出不窮的網(wǎng)絡(luò)攻擊是我國(guó)互聯(lián)網(wǎng)發(fā)展過(guò)程中必須解決的問(wèn)題.
入侵檢測(cè)系統(tǒng)(intrusion detection system, IDS)最早于1980年提出,是一種網(wǎng)絡(luò)安全防護(hù)技術(shù),主要通過(guò)實(shí)時(shí)監(jiān)視系統(tǒng)在網(wǎng)絡(luò)傳輸過(guò)程中識(shí)別入侵者的異常行為與企圖,并采取相應(yīng)安全措施進(jìn)行防護(hù).根據(jù)信息來(lái)源不同可分為基于主機(jī)的與基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng),后者為本文主要研究對(duì)象.
傳統(tǒng)入侵檢測(cè)系統(tǒng)通常將數(shù)學(xué)統(tǒng)計(jì)方法與機(jī)器學(xué)習(xí)相結(jié)合來(lái)檢測(cè)異常數(shù)據(jù).機(jī)器學(xué)習(xí)能夠從大量數(shù)據(jù)集中自動(dòng)獲取有用信息,與入侵檢測(cè)系統(tǒng)結(jié)合能大大提升檢測(cè)效率,因此在機(jī)器學(xué)習(xí)快速發(fā)展時(shí)期大量研究將該技術(shù)用于入侵檢測(cè)[1],如k近鄰、支持向量機(jī)、樸素貝葉斯等有監(jiān)督機(jī)器學(xué)習(xí)方法以及k-means、DBSCAN、主成分分析等無(wú)監(jiān)督機(jī)器學(xué)習(xí)方法.這些方法有效降低了入侵檢測(cè)系統(tǒng)的異常數(shù)據(jù)誤報(bào)率,提升了檢測(cè)精度.
隨著網(wǎng)絡(luò)數(shù)據(jù)量的急劇增加與攻擊手段的不斷升級(jí),在應(yīng)對(duì)零日漏洞、加密攻擊、內(nèi)部威脅等新型攻擊行為時(shí)單靠機(jī)器學(xué)習(xí)技術(shù)并不能達(dá)到理想效果.機(jī)器學(xué)習(xí)中數(shù)據(jù)僅需通過(guò)1個(gè)隱藏層進(jìn)行訓(xùn)練,因此機(jī)器學(xué)習(xí)模型也被稱為淺層模型[2].淺層模型的搭建相對(duì)比較簡(jiǎn)單,在處理大量無(wú)標(biāo)簽數(shù)據(jù)時(shí)往往出現(xiàn)精度低甚至無(wú)法正常檢測(cè)的情況.為了解決這些問(wèn)題,研究人員開(kāi)始將研究重心轉(zhuǎn)移至深度學(xué)習(xí),使用含有多個(gè)隱藏層的深度模型對(duì)入侵檢測(cè)系統(tǒng)進(jìn)行優(yōu)化.
深度學(xué)習(xí)是機(jī)器學(xué)習(xí)領(lǐng)域的一個(gè)分支.與傳統(tǒng)機(jī)器學(xué)習(xí)技術(shù)相比,深度學(xué)習(xí)的主要目標(biāo)是學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律,在模型構(gòu)建與特征提取方面效率更高,在處理大規(guī)模數(shù)據(jù)時(shí)有更高的準(zhǔn)確率.近年來(lái),隨著深度學(xué)習(xí)技術(shù)的成熟與火熱,越來(lái)越多的學(xué)者將深度學(xué)習(xí)應(yīng)用在網(wǎng)絡(luò)異常流量檢測(cè)中,開(kāi)發(fā)出各種與CNN,RNN,AE,DBN等深度學(xué)習(xí)模型相結(jié)合的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng),在檢測(cè)海量異常數(shù)據(jù)與新型網(wǎng)絡(luò)攻擊等方面給出了不俗的表現(xiàn)[3].
本文首先介紹網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中常用的幾種深度學(xué)習(xí)模型,然后對(duì)深度學(xué)習(xí)模型中使用的數(shù)據(jù)預(yù)處理技術(shù)、數(shù)據(jù)集及評(píng)價(jià)指標(biāo)進(jìn)行介紹,接著從實(shí)際應(yīng)用的角度介紹深度學(xué)習(xí)模型在網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中的具體應(yīng)用,再討論當(dāng)前所面臨的問(wèn)題及未來(lái)發(fā)展,最后總結(jié)全文.
本節(jié)對(duì)當(dāng)前網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中常用的幾種深度學(xué)習(xí)模型進(jìn)行詳細(xì)闡述,表1列舉了各深度學(xué)習(xí)模型的特點(diǎn)及常用領(lǐng)域.
表1 深度學(xué)習(xí)模型特點(diǎn)及常用領(lǐng)域
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network, CNN)由多層感知機(jī)變化而來(lái),是一種包含卷積計(jì)算的深度前饋神經(jīng)網(wǎng)絡(luò).結(jié)構(gòu)靈感來(lái)自人類大腦中的神經(jīng)元,主要包括卷積層、池化層、全連接層等,其中卷積層與池化層為核心模塊.卷積層的作用是通過(guò)卷積操作提取輸入數(shù)據(jù)中更高層次的特征,池化層的作用則是對(duì)卷積層輸出的圖數(shù)據(jù)進(jìn)行特征選擇與信息過(guò)濾,從而減少數(shù)據(jù)處理量.不同結(jié)構(gòu)的CNN通過(guò)卷積層與池化層的差異來(lái)區(qū)分.CNN結(jié)構(gòu)如圖1所示:
圖1 CNN結(jié)構(gòu)示例
CNN具有參數(shù)共享、稀疏交互與等效表示等優(yōu)點(diǎn).與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)不同的是,CNN在網(wǎng)絡(luò)中使用的是局部連接,且相鄰神經(jīng)元之間進(jìn)行權(quán)重共享.這一特點(diǎn)使得CNN的結(jié)構(gòu)比全連接神經(jīng)網(wǎng)絡(luò)簡(jiǎn)單很多,整個(gè)計(jì)算過(guò)程所產(chǎn)生的參數(shù)也大大減少,從而大幅降低計(jì)算復(fù)雜度與訓(xùn)練時(shí)間.此外, CNN有著很強(qiáng)的泛用性,能夠用于多種分類任務(wù),特別在自然語(yǔ)言處理[4]、模式識(shí)別、目標(biāo)檢測(cè)等方面具有良好的效果.利用CNN建立模式分類器能夠?qū)叶葓D像進(jìn)行識(shí)別與分類.在入侵檢測(cè)過(guò)程中需要先將流量數(shù)據(jù)轉(zhuǎn)換為灰度圖的形式,再使用CNN提取圖片數(shù)據(jù)的空間特征.
循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network, RNN)是一種遞歸式的神經(jīng)網(wǎng)絡(luò),其輸入值為序列數(shù)據(jù).RNN在每條序列的演進(jìn)方向上進(jìn)行遞歸操作,且所有節(jié)點(diǎn)均以鏈?zhǔn)浇Y(jié)構(gòu)進(jìn)行連接,如圖2所示.與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比,RNN在隱藏層的神經(jīng)元中添加了自連接的權(quán)重值,從而將每次訓(xùn)練輸出值的狀態(tài)信息發(fā)送至下一次訓(xùn)練,實(shí)現(xiàn)了保存前一序列信息的功能,有效解決了序列數(shù)據(jù)預(yù)測(cè)等一般神經(jīng)網(wǎng)絡(luò)無(wú)法處理的問(wèn)題[5].
圖2 RNN結(jié)構(gòu)示例
由于RNN具有在隱藏層的節(jié)點(diǎn)間進(jìn)行信息傳遞的特性,因此在自然語(yǔ)言處理、語(yǔ)音處理、上下文感知等需要處理序列信息的領(lǐng)域有著廣泛的應(yīng)用.網(wǎng)絡(luò)流量數(shù)據(jù)中也包含許多與時(shí)間序列相關(guān)的特征,因此也有大量研究將RNN與入侵檢測(cè)系統(tǒng)相結(jié)合.
然而,RNN在解決一些長(zhǎng)時(shí)間依賴問(wèn)題時(shí)往往會(huì)遇到梯度消失、梯度爆炸等情況,為避免這些情況,有學(xué)者提出了長(zhǎng)短期記憶網(wǎng)絡(luò)(long short-term memory network, LSTM).LSTM是一種基于RNN的人工神經(jīng)網(wǎng)絡(luò),具有更深層次的隱藏神經(jīng)元結(jié)構(gòu),并通過(guò)設(shè)計(jì)“門”結(jié)構(gòu)實(shí)現(xiàn)信息的保留和選擇功能,且能夠在任意時(shí)間間隔內(nèi)對(duì)先前的輸入進(jìn)行保留.因此,LSTM對(duì)時(shí)間序列中間隔和延遲長(zhǎng)的事件有較強(qiáng)的處理能力.LSTM主要用于文本生成、機(jī)器翻譯、語(yǔ)音識(shí)別等領(lǐng)域.
自動(dòng)編碼器(auto-encoder, AE)是一類用于學(xué)習(xí)與重構(gòu)輸入數(shù)據(jù)的無(wú)監(jiān)督神經(jīng)網(wǎng)絡(luò)模型,由編碼器與解碼器組成,包含輸入層、編碼層與解碼層.編碼器以非線性方式將輸入數(shù)據(jù)映射到隱藏空間,學(xué)習(xí)輸入數(shù)據(jù)的隱含特征;解碼器將編碼數(shù)據(jù)映射回原始輸入空間,用學(xué)習(xí)到的新特征重構(gòu)出原始輸入數(shù)據(jù).AE通過(guò)編碼與解碼過(guò)程,使得高維度的輸入層神經(jīng)元能夠被較低維度的神經(jīng)元所替代,從而達(dá)到特征降維與提取的目的.
AE具有高效的數(shù)據(jù)編碼與解碼能力,通常用于數(shù)據(jù)降維、壓縮、融合等工作,在生物信息學(xué)與網(wǎng)絡(luò)安全領(lǐng)域應(yīng)用較多.但隨著隱藏層的增加,AE會(huì)出現(xiàn)梯度消失問(wèn)題.后續(xù)提出的稀疏自編碼器(sparse auto-encoder, SAE),變分自編碼器(variational auto-encoder, VAE)[6]等高級(jí)AE模型對(duì)這一問(wèn)題進(jìn)行了改善.此外,AE沒(méi)有分類功能,通常需要與其他分類模型(如CNN)結(jié)合使用.
在當(dāng)今網(wǎng)絡(luò)環(huán)境中,每日產(chǎn)生的數(shù)據(jù)量飛速增長(zhǎng),對(duì)大規(guī)模流量數(shù)據(jù)的處理成為網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)面臨的挑戰(zhàn)之一.在基于深度學(xué)習(xí)的入侵檢測(cè)領(lǐng)域中,由于AE能夠從輸入數(shù)據(jù)中提取出緊湊且區(qū)分度較高的低維表示,因此AE被廣泛用于入侵檢測(cè)數(shù)據(jù)預(yù)處理過(guò)程中的降維任務(wù).
受限玻爾茲曼機(jī)(restricted Boltzmann machine, RBM)是一類具有2層結(jié)構(gòu)(分別為可視層與隱藏層)的隨機(jī)生成神經(jīng)網(wǎng)絡(luò)模型.可視層和隱藏層采用對(duì)稱的全連接,層內(nèi)的神經(jīng)元之間沒(méi)有連接.RBM能夠在無(wú)監(jiān)督條件下從原始數(shù)據(jù)中學(xué)習(xí)到特征更深層次、更復(fù)雜的信息,主要用于特征提取與去噪.深度玻爾茲曼機(jī)(deep Boltzmann machine, DBM)是一種由多個(gè)RBM串聯(lián)堆疊而成的深度神經(jīng)網(wǎng)絡(luò),與單個(gè)RBM相比能夠從大量無(wú)標(biāo)簽數(shù)據(jù)中學(xué)習(xí)出高階特征,且魯棒性也得到增強(qiáng).
RBM具有很強(qiáng)的無(wú)監(jiān)督學(xué)習(xí)能力,主要應(yīng)用領(lǐng)域?yàn)閿?shù)據(jù)編碼、新聞聚類、圖像分割等[7],在入侵檢測(cè)中通常出現(xiàn)在深度信念網(wǎng)絡(luò)中.
深度信念網(wǎng)絡(luò)(deep belief network, DBN)也是一種由多層RBM組成的深度神經(jīng)網(wǎng)絡(luò),包含1個(gè)可見(jiàn)層與1個(gè)隱藏層,可以從復(fù)雜的高維數(shù)據(jù)中學(xué)習(xí)特征.與DBM不同的是,DBN是一種有向圖結(jié)構(gòu),在通過(guò)疊加RBM進(jìn)行逐層預(yù)訓(xùn)練時(shí),某層的分布只由其上一層決定.DBM是一種無(wú)向圖結(jié)構(gòu),某層的分布由其上下2層共同決定.2種模型的結(jié)構(gòu)對(duì)比如圖3所示:
圖3 DBN與DBM結(jié)構(gòu)對(duì)比
DBN使用逐層貪婪學(xué)習(xí)算法優(yōu)化網(wǎng)絡(luò)各層的連接權(quán)重,具有快速學(xué)習(xí)的優(yōu)點(diǎn),并利用RBM對(duì)深層網(wǎng)絡(luò)作逐層無(wú)監(jiān)督訓(xùn)練,能有效避免陷入局部最優(yōu)[8].此外,DBN既可以作為一個(gè)分類模型用于監(jiān)督學(xué)習(xí),又可以作為一個(gè)生成模型用于無(wú)監(jiān)督學(xué)習(xí),靈活的特點(diǎn)使其具有很強(qiáng)的可擴(kuò)展性,能與各種深度模型及算法進(jìn)行結(jié)合.DBN主要用在語(yǔ)音識(shí)別、自然語(yǔ)言處理、網(wǎng)絡(luò)安全等領(lǐng)域.
與上述幾種深度學(xué)習(xí)模型不同,生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network, GAN)作為一種混合式深度學(xué)習(xí)模型,兼顧了數(shù)據(jù)的生成與判別功能.GAN借鑒了博弈論中的二人零和博弈思想,結(jié)構(gòu)上包含生成器與判別器2個(gè)神經(jīng)網(wǎng)絡(luò).生成器不斷生成接近真實(shí)結(jié)果的樣本用以欺騙判別器,判別器判斷樣本是真實(shí)樣本還是由生成器偽造的假樣本.二者在對(duì)抗過(guò)程中不斷優(yōu)化,最終達(dá)到均衡生成最優(yōu)結(jié)果.GAN的模型結(jié)構(gòu)如圖4所示:
圖4 GAN結(jié)構(gòu)示例
GAN相較于其他深度學(xué)習(xí)生成模型結(jié)構(gòu)要簡(jiǎn)單很多,且具有強(qiáng)大的預(yù)測(cè)能力,可對(duì)數(shù)據(jù)進(jìn)行直接采樣和推斷,不需要對(duì)數(shù)據(jù)預(yù)設(shè)分布.此外,GAN通過(guò)生成器與判別器的對(duì)抗訓(xùn)練方法以及誤差反傳算法等機(jī)制大大提升訓(xùn)練效率.然而,由于GAN未對(duì)數(shù)據(jù)進(jìn)行預(yù)設(shè)分布,很容易產(chǎn)生訓(xùn)練過(guò)程不穩(wěn)定、模型崩潰等問(wèn)題.后續(xù)提出的條件對(duì)抗生成網(wǎng)絡(luò)(conditional GAN, CGAN),深度卷積對(duì)抗生成網(wǎng)絡(luò)(deep convolutional GAN, DCGAN)等基于GAN的模型有效改善了這些問(wèn)題[9].
GAN主要應(yīng)用領(lǐng)域?yàn)閳D像處理,具體任務(wù)包括超分辨率圖像重建、圖像生成、圖像翻譯等.由于GAN能解決數(shù)據(jù)集中帶標(biāo)簽樣本數(shù)量較少的問(wèn)題,不少學(xué)者將此模型用在入侵檢測(cè)任務(wù)中.
用于入侵檢測(cè)的流量數(shù)據(jù)通常包含基本特征、內(nèi)容特征和流量特征,不同特征的數(shù)據(jù)類型不一定相同,數(shù)量級(jí)也可能相差較大.因此數(shù)據(jù)預(yù)處理是網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)使用深度學(xué)習(xí)技術(shù)對(duì)數(shù)據(jù)進(jìn)行檢測(cè)之前必不可少的一項(xiàng)工作.本節(jié)從數(shù)據(jù)收集、特征轉(zhuǎn)化、數(shù)據(jù)降維3個(gè)角度介紹網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中常用的數(shù)據(jù)預(yù)處理技術(shù).
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中的數(shù)據(jù)通常以網(wǎng)絡(luò)流量形式進(jìn)行傳輸.在對(duì)數(shù)據(jù)進(jìn)行處理前需要使用有效手段從網(wǎng)絡(luò)流量包與使用TCP/IP通信堆棧的應(yīng)用程序中收集網(wǎng)絡(luò)流量數(shù)據(jù),收集方式包括完整數(shù)據(jù)包捕獲(full packet CAPture, PCAP)與NetFlow協(xié)議2種[10]:
1) PCAP.PCAP允許收集完整的網(wǎng)絡(luò)流量數(shù)據(jù),包括數(shù)據(jù)包大小、協(xié)議類型、源IP與目標(biāo)IP、源端口號(hào)與目標(biāo)端口號(hào)等信息.其中一些信息可能涉及個(gè)人信息、瀏覽記錄、消息會(huì)話等隱私而被刪除或匿名化處理,從而對(duì)系統(tǒng)檢測(cè)造成一定影響.PCAP包括數(shù)據(jù)捕獲和預(yù)處理2個(gè)階段,捕獲階段通常使用winPCAP,libPCAP,SNORT等應(yīng)用程序,預(yù)處理階段則使用Wireshark,tcpdump,scapy等程序.
2) NetFlow協(xié)議.Netflow協(xié)議是Cisco公司開(kāi)發(fā)的一套協(xié)議,主要用來(lái)對(duì)流量數(shù)據(jù)進(jìn)行采樣與分析.Netflow協(xié)議主要收集數(shù)據(jù)相關(guān)的摘要信息或某些預(yù)定義屬性,包括源地址、目的地址、源端口、目的端口、數(shù)據(jù)流大小、數(shù)據(jù)流經(jīng)過(guò)的接口等.與PCAP相比,Netflow協(xié)議更加節(jié)省內(nèi)存,適用于大規(guī)模數(shù)據(jù)的收集,但由于收集到的內(nèi)容簡(jiǎn)略很多,無(wú)法像PCAP那樣獲取用戶搜索關(guān)鍵字之類的詳細(xì)信息.
網(wǎng)絡(luò)流量數(shù)據(jù)通常由多個(gè)數(shù)值型與非數(shù)值型特征組成,在訓(xùn)練之前對(duì)不同類型的特征數(shù)據(jù)進(jìn)行轉(zhuǎn)化可有效提高模型訓(xùn)練的效率與精度.針對(duì)數(shù)值型數(shù)據(jù)采用的是歸一化或標(biāo)準(zhǔn)化,針對(duì)非數(shù)值型數(shù)據(jù)則采用Ont-Hot編碼.
2.2.1 歸一化與標(biāo)準(zhǔn)化
針對(duì)數(shù)值型特征通過(guò)線性變換的方式消除由于特征量綱不同所帶來(lái)的影響,可在一定程度上提高深度學(xué)習(xí)模型的精度,也能在梯度下降過(guò)程中提高模型收斂的速度.主要有Min-Max歸一化與Z-score標(biāo)準(zhǔn)化2種方法.
Min-Max歸一化基于數(shù)據(jù)集合中的最大值與最小值,通過(guò)線性變換把原始數(shù)據(jù)映射到區(qū)間[0,1]內(nèi),計(jì)算公式如下:
(1)
其中,x是原始數(shù)據(jù),y是變換后的數(shù)據(jù),xmin是所有數(shù)據(jù)中的最小值,xmax是所有數(shù)據(jù)中的最大值.
Z-score標(biāo)準(zhǔn)化是使用所有數(shù)據(jù)的均值與標(biāo)準(zhǔn)差對(duì)原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換,計(jì)算公式如下:
(2)
其中,x是原始數(shù)據(jù),y是變換后的數(shù)據(jù),μ為所有數(shù)據(jù)的均值,σ為所有數(shù)據(jù)的標(biāo)準(zhǔn)差.
2.2.2 One-Hot編碼
對(duì)于非數(shù)值型特征,如會(huì)話狀態(tài)、IP地址、設(shè)備名稱等,通常采用One-Hot編碼的方式進(jìn)行處理[11].One-Hot編碼也稱為“1位有效編碼”,原理是通過(guò)長(zhǎng)度為N的狀態(tài)寄存器對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都由1個(gè)數(shù)字表示在對(duì)應(yīng)的寄存器位上,通常使用0或1來(lái)表示.在任意時(shí)刻僅有1位有效,即寄存器中該位的值為1,其余為0.
以流量數(shù)據(jù)中的“會(huì)話狀態(tài)”為例.假設(shè)會(huì)話狀態(tài)共有3種,One-Hot編碼首先將3種狀態(tài)映射為整數(shù)值1,2,3,再用3位的二進(jìn)制向量來(lái)存儲(chǔ)每種狀態(tài),因此3種狀態(tài)可分別表示為001,010,100.One-Hot編碼解決了模型處理非數(shù)值型數(shù)據(jù)的問(wèn)題,在一定程度上也起到了擴(kuò)充特征的作用.
入侵檢測(cè)數(shù)據(jù)集中存在大量冗余、噪聲數(shù)據(jù)以及不相關(guān)的數(shù)據(jù), 因此在使用深度學(xué)習(xí)模型進(jìn)行檢測(cè)之前需要對(duì)數(shù)據(jù)進(jìn)行降維,從而減小計(jì)算開(kāi)銷, 提升模型分類器的檢測(cè)性能與效率[12].數(shù)據(jù)降維方法主要分為特征選擇與特征提取[13].
1) 特征選擇.特征選擇是指在指定的特征集合中挑選出適用于模型訓(xùn)練的特征構(gòu)成特征子集.在入侵檢測(cè)領(lǐng)域,特征選擇通常包括3種方案:過(guò)濾法、包裹法與嵌入法.過(guò)濾法是按照發(fā)散性或相關(guān)性對(duì)各個(gè)特征進(jìn)行評(píng)分,并與設(shè)定的閾值進(jìn)行比較以完成特征選擇,常用的過(guò)濾法有方差法、互信息法等;包裹法就是選定某種算法,根據(jù)算法效果來(lái)選擇特征集合,常用的包裹法有遺傳算法等;嵌入法是利用正則化的思想,將部分特征屬性的權(quán)重調(diào)整到0,常用的嵌入法有LASSO回歸等.
2) 特征提取.與直接從所有特征中選出子集不同,特征提取主要通過(guò)屬性間的關(guān)系對(duì)不同屬性進(jìn)行組合得到新的屬性.入侵檢測(cè)領(lǐng)域常用的特征提取方法為主成分分析(principal component analysis, PCA)[14].PCA使用一種線性投影的方式,將維度較高的數(shù)據(jù)映射到低維空間,在降低數(shù)據(jù)維度的同時(shí)盡可能地保留較多原始數(shù)據(jù)的特征.此外還有線性鑒別分析(LDA)方法與獨(dú)立成分分析(ICA)方法等也可用來(lái)對(duì)流量數(shù)據(jù)進(jìn)行特征提取.
入侵檢測(cè)系統(tǒng)需要通過(guò)網(wǎng)絡(luò)流量數(shù)據(jù)集與特定評(píng)價(jià)指標(biāo)對(duì)系統(tǒng)性能進(jìn)行評(píng)估.本節(jié)對(duì)基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)中常用的數(shù)據(jù)集與評(píng)價(jià)指標(biāo)進(jìn)行介紹.
隨著入侵檢測(cè)技術(shù)的不斷發(fā)展,越來(lái)越多的相關(guān)數(shù)據(jù)集出現(xiàn)供研究人員使用,常用的主要有KDD99,NSL-KDD,CIC-IDS-2017,UNSW-NB15等,大多數(shù)基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)使用上述數(shù)據(jù)集進(jìn)行測(cè)試.
KDD99主要包括4類網(wǎng)絡(luò)攻擊,分別為拒絕服務(wù)(DoS)攻擊、遠(yuǎn)程到本地(R2L)攻擊、端口掃描(Probe)攻擊和用戶提權(quán)(U2R)攻擊.KDD99是最早用于入侵檢測(cè)模型訓(xùn)練與測(cè)試的公共數(shù)據(jù)集之一,也是目前入侵檢測(cè)領(lǐng)域使用最廣泛的數(shù)據(jù)集之一.然而該數(shù)據(jù)集存在許多缺陷,如部分記錄重復(fù)等,因此KDD99不能完全反映出當(dāng)前網(wǎng)絡(luò)攻擊的特征.
NSL-KDD包含39種攻擊類型.該數(shù)據(jù)集在KDD99的基礎(chǔ)上進(jìn)行研發(fā),通過(guò)刪除KDD99中重復(fù)出現(xiàn)的記錄與部分較難分類的數(shù)據(jù)來(lái)解決KDD99存在的問(wèn)題.雖然NSL-KDD有很多方面的改進(jìn),可幫助研究人員更好地測(cè)試入侵檢測(cè)模型的性能,但該數(shù)據(jù)集仍然具有一定的局限性,無(wú)法反映當(dāng)前真實(shí)網(wǎng)絡(luò)環(huán)境中的流量數(shù)據(jù).
為了解決KDD99與NSL-KDD不能反映真實(shí)網(wǎng)絡(luò)流量數(shù)據(jù)和攻擊的問(wèn)題,有學(xué)者設(shè)計(jì)了UNSW-NB15.該數(shù)據(jù)集由基于數(shù)據(jù)包格式的網(wǎng)絡(luò)流量組成,包括超過(guò)250萬(wàn)條記錄與49個(gè)特征,涉及模糊攻擊、后門攻擊、拒絕服務(wù)攻擊、蠕蟲(chóng)攻擊等9種攻擊類型,適合用于訓(xùn)練和測(cè)試.
CIC-IDS-2017包含81個(gè)網(wǎng)絡(luò)流特征與7種網(wǎng)絡(luò)攻擊,分別為DoS攻擊、SSH暴力攻擊、僵尸網(wǎng)絡(luò)攻擊、DDoS攻擊、Web攻擊、心血漏洞及滲透攻擊.該數(shù)據(jù)集中的數(shù)據(jù)采集自模擬正常流量的小型網(wǎng)絡(luò)環(huán)境,與真實(shí)網(wǎng)絡(luò)數(shù)據(jù)較為接近.
基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)主要采用以下指標(biāo)評(píng)價(jià)系統(tǒng)性能:
1)TPR(真陽(yáng)性率).被正確判斷為惡意樣本的數(shù)據(jù)與所有實(shí)際惡意樣本數(shù)據(jù)的比率,值越高表明系統(tǒng)性能越好.
2)FPR(假陽(yáng)性率).被錯(cuò)誤判斷為惡意樣本的數(shù)據(jù)與所有實(shí)際良性樣本數(shù)據(jù)的比率,值越高表明系統(tǒng)性能越差.
3)Recall(召回率).被正確預(yù)測(cè)為良性樣本的數(shù)據(jù)與所有良性樣本數(shù)據(jù)的比率,值越高表明系統(tǒng)性能越好.
4)Accuracy(準(zhǔn)確率).被正確預(yù)測(cè)為惡意樣本的數(shù)據(jù)與所有樣本數(shù)據(jù)的比率, 值越高表明系統(tǒng)性能越好.
5)Precision(精確率).被正確預(yù)測(cè)為惡意樣本的數(shù)據(jù)與所有預(yù)測(cè)為惡意樣本數(shù)據(jù)的比率, 值越高表明系統(tǒng)性能越好.
6)F-measure(F1值).又稱F1分?jǐn)?shù),Precision與Recall的加權(quán)調(diào)和平均,值越高表明系統(tǒng)性能越好.
本節(jié)從惡意軟件識(shí)別、網(wǎng)絡(luò)流量檢測(cè)、攻擊行為分類等角度,介紹不同深度學(xué)習(xí)模型在入侵檢測(cè)系統(tǒng)中的實(shí)際應(yīng)用情況,并分析各模型所達(dá)到的實(shí)驗(yàn)效果與存在的問(wèn)題.
惡意軟件是信息安全中常見(jiàn)的攻擊方式.隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來(lái)越多的惡意軟件被制作出來(lái),并使用加密、偽裝、匿名等方式混在正常數(shù)據(jù)中,通過(guò)網(wǎng)絡(luò)傳輸?shù)男问角秩胗脩糁鳈C(jī),若不采取有效措施進(jìn)行識(shí)別,很難在軟件造成危害前將其找出.深度學(xué)習(xí)為惡意軟件識(shí)別提供了極大便利,特別是面對(duì)一些新出現(xiàn)的惡意軟件時(shí)依然能保持較高的識(shí)別率.
Shibahara等人[15]提出一種根據(jù)軟件的網(wǎng)絡(luò)行為判斷惡意軟件的方法.該方法的判斷關(guān)鍵集中在惡意軟件通信的2個(gè)特征上:通信目的的變化和常見(jiàn)的潛在功能.該方法應(yīng)用遞歸張量神經(jīng)網(wǎng)絡(luò),通過(guò)使用張量計(jì)算輸入特征的高階成分來(lái)提高RNN的分類能力.在對(duì)29 562個(gè)惡意軟件樣本的評(píng)估中,該方法精確度為97.6%,召回率為96.2%,F(xiàn)1分?jǐn)?shù)為96.9%.然而當(dāng)惡意軟件在分析過(guò)程中進(jìn)入長(zhǎng)時(shí)間的休眠狀態(tài)時(shí),該方法將不再適用,且該方法還受到樣本標(biāo)記的限制,存在一定的局限性.
David等人[16]使用在未標(biāo)記數(shù)據(jù)上訓(xùn)練的DBN生成惡意軟件特征碼,然后使用DBN和去噪自動(dòng)編碼器(DAE)對(duì)惡意軟件進(jìn)行識(shí)別與分類.使用傳統(tǒng)方法生成惡意軟件特征碼是利用惡意軟件的特定內(nèi)容,很容易因?yàn)閻阂廛浖a的修改而檢測(cè)失敗.文獻(xiàn)[16]通過(guò)沙箱獲取日志,使用n-gram模型對(duì)日志進(jìn)行處理,獲取僅出現(xiàn)在惡意軟件中的最常見(jiàn)的2萬(wàn)個(gè)一元語(yǔ)言模型(unigram),并創(chuàng)建1個(gè)2萬(wàn)維特征向量來(lái)識(shí)別是否出現(xiàn)了給定的一元語(yǔ)言模型.然后,利用這些識(shí)別后的一元語(yǔ)言模型對(duì)1個(gè)帶有DAE的8層DBN進(jìn)行預(yù)訓(xùn)練.最終的惡意軟件特征碼是1個(gè)由30個(gè)數(shù)字組成的向量.實(shí)驗(yàn)表明所訓(xùn)練的模型準(zhǔn)確率為98.6%.
基于API調(diào)用序列可以構(gòu)建基于語(yǔ)義感知和機(jī)器學(xué)習(xí)的惡意軟件分類器,用于惡意軟件檢測(cè)或分類.然而目前基于API調(diào)用序列的相關(guān)工作涉及太多特征工程,無(wú)法提供可解釋性.針對(duì)這一問(wèn)題,Wang等人[17]使用RNN與AE將API調(diào)用序列轉(zhuǎn)換為低維特征向量,通過(guò)分類層確定惡意軟件家族類型,實(shí)現(xiàn)了99.1%的分類準(zhǔn)確率.該方法解決了傳統(tǒng)分類模型無(wú)法對(duì)新出現(xiàn)的惡意軟件進(jìn)行分類以及標(biāo)簽解釋性差的問(wèn)題,但只使用了API調(diào)用序列進(jìn)行學(xué)習(xí),沒(méi)有將一些附加信息,如API調(diào)用的參數(shù)、可執(zhí)行文件結(jié)構(gòu)等,與模型進(jìn)行結(jié)合.此外該方法還缺乏監(jiān)督數(shù)據(jù),在解碼器的訓(xùn)練上存在一定的局限性.類似地,Yousefi-Azar等人[18]使用API調(diào)用序列構(gòu)建了一個(gè)基于AE的多任務(wù)惡意軟件分類模型,并測(cè)試了各種分類工具,發(fā)現(xiàn)最好的是SVM分類器,達(dá)到96.3%的精確率.該模型與其他基于API調(diào)用序列方法中的模型相比使用了特殊的訓(xùn)練方式與拓?fù)浣Y(jié)構(gòu),不需要通過(guò)預(yù)處理來(lái)選擇特征,且能通過(guò)更少的特征數(shù)量達(dá)到相同的檢測(cè)精度,使得模型的計(jì)算效率顯著提高.此外該模型還可用于網(wǎng)絡(luò)異常流量的檢測(cè),能使用較少的特征數(shù)量達(dá)到較好的檢測(cè)效果.
域生成算法(domain generation algorithm, DGA)是一種常見(jiàn)的惡意軟件工具,可以為僵尸網(wǎng)絡(luò)生成大量與C&C(command and control)服務(wù)器進(jìn)行通信的域名,這類域名可以逃避域名黑名單的檢測(cè).DGA常用于垃圾郵件、數(shù)據(jù)竊取、分布式拒絕服務(wù)(DDoS)等網(wǎng)絡(luò)攻擊.Anderson等人[19]使用GAN生成當(dāng)前DGA軟件分類器難以識(shí)別的域名,并利用生成器創(chuàng)建合成數(shù)據(jù).文獻(xiàn)[19]對(duì)訓(xùn)練模型進(jìn)行改進(jìn),使用LSTM層作為自動(dòng)編碼器,重新調(diào)整其用途,將編碼器作為鑒別器(將語(yǔ)言轉(zhuǎn)換為數(shù)字格式),解碼器作為生成器(接收數(shù)據(jù)并輸出域名);正則化層被添加為生成器的第1層,邏輯回歸層被添加到鑒別器的最后一層.實(shí)驗(yàn)結(jié)果顯示,該檢測(cè)模型的TPR從68%提高到70%.相較于文獻(xiàn)中用來(lái)對(duì)比的其他方法,文獻(xiàn)[19]提出的方法能有效檢測(cè)DGA的變體,且檢測(cè)更加簡(jiǎn)單與靈活,但在GAN模型的訓(xùn)練策略上還存在改進(jìn)空間,且FPR值容易受到數(shù)據(jù)實(shí)際分布的影響.
Woodbridge等人[20]開(kāi)發(fā)了一種利用LSTM網(wǎng)絡(luò)識(shí)別DGA所生成的惡意域名的方法.DGA檢測(cè)方面的很多工作都無(wú)法用于實(shí)時(shí)檢測(cè)和預(yù)防,其中大部分還使用上下文信息,甚至通過(guò)人工創(chuàng)建特征,耗費(fèi)了大量的時(shí)間與成本.Woodbridge等人僅使用RNN中的域名和GRU(gate recurrent unit)節(jié)點(diǎn)對(duì)域名進(jìn)行分類,將域名中的每個(gè)字符視為特征,并將其依次輸入嵌入層、GRU層、分類層.該模型適用性極強(qiáng),可部署在幾乎任何環(huán)境中,檢測(cè)率高達(dá)90%,F(xiàn)PR僅為0.1%,是文獻(xiàn)中用來(lái)對(duì)比的次優(yōu)方法的1/20.但與文獻(xiàn)中列舉的其他方法一樣,該方法對(duì)類不平衡的情況非常敏感,使得其在檢測(cè)一些冷門域名時(shí)存在限制.與Woodbridge等人提出的方法類似,Zeng等人[21]試圖僅使用域名來(lái)檢測(cè)和識(shí)別DGA生成的域名,通過(guò)基于ImageNet數(shù)據(jù)的多個(gè)預(yù)先訓(xùn)練的CNN對(duì)DGA與非DGA進(jìn)行識(shí)別與分類.該方法在嵌入層之后對(duì)數(shù)據(jù)進(jìn)行重塑,并將圖像分類器的輸出視為要輸入決策樹(shù)分類器的特征.與文獻(xiàn)中列舉的其他方法相比能處理大規(guī)模數(shù)據(jù),且計(jì)算速度更快,實(shí)現(xiàn)了99.86%的TPR和1.13%的FPR.Mac等人[22]采用了和文獻(xiàn)[21]類似的方法,但使用了結(jié)合遞歸SVM的LSTM(LSTM-SVM)和雙向LSTM,在相關(guān)數(shù)據(jù)集上分別實(shí)現(xiàn)了0.996 9和0.996 4的AUC,均優(yōu)于原始LSTM.除了LSTM-SVM和雙向LSTM,Mac等人還將CNN層置于LSTM層之前,并在類似數(shù)據(jù)集上實(shí)現(xiàn)了0.995 9的AUC.但這些改進(jìn)的LSTM計(jì)算成本要高于原始LSTM,計(jì)算時(shí)間更慢,雙向LSTM甚至達(dá)到原始模型的3倍.
網(wǎng)絡(luò)流量檢測(cè)是網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的關(guān)鍵應(yīng)用,也是網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域的研究重點(diǎn).網(wǎng)絡(luò)流量檢測(cè)重點(diǎn)在于對(duì)大量通過(guò)網(wǎng)絡(luò)傳輸?shù)街鳈C(jī)的流量數(shù)據(jù)進(jìn)行實(shí)時(shí)檢測(cè),及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)攻擊行為并采取相應(yīng)措施進(jìn)行防御.
Nasr等人[23]提出一種基于CNN的入侵檢測(cè)系統(tǒng)DeepCorr.與傳統(tǒng)入侵檢測(cè)系統(tǒng)相比,該系統(tǒng)將通用的統(tǒng)計(jì)相關(guān)算法轉(zhuǎn)換成深度學(xué)習(xí)算法,能捕捉到噪聲動(dòng)態(tài)變化的復(fù)雜性質(zhì),實(shí)現(xiàn)更高的檢測(cè)準(zhǔn)確率.DeepCorr由2層卷積層與3層全連接神經(jīng)網(wǎng)絡(luò)組成.實(shí)驗(yàn)表明,DeepCorr在學(xué)習(xí)率為0.000 1的條件下可實(shí)現(xiàn)0.8的TPR,相較于文獻(xiàn)中用來(lái)對(duì)比的其他系統(tǒng)有很大的改進(jìn).此外,DeepCorr對(duì)于長(zhǎng)度較短的流量數(shù)據(jù)有很強(qiáng)的檢測(cè)能力,實(shí)驗(yàn)中僅使用了900個(gè)數(shù)據(jù)包就達(dá)到96%的準(zhǔn)確率,遠(yuǎn)遠(yuǎn)高于文獻(xiàn)中用來(lái)對(duì)比的其他系統(tǒng),但計(jì)算復(fù)雜度相應(yīng)也有所增高,檢測(cè)所需時(shí)間是其他對(duì)比系統(tǒng)的2倍以上.Jiang等人[24]提出一種基于特征級(jí)深度神經(jīng)網(wǎng)絡(luò)的在線檢測(cè)方法,用來(lái)檢測(cè)惡意URL與DNS.該方法首先將URL與DNS字符串映射為向量形式,然后通過(guò)CNN提取出惡意特征并對(duì)分類模型進(jìn)行訓(xùn)練,是一種針對(duì)短文本檢測(cè)的通用檢測(cè)方法,適用于多種場(chǎng)合,具有很強(qiáng)的可擴(kuò)展性.此外,該方法可對(duì)模型定期進(jìn)行更新,用以檢測(cè)新出現(xiàn)的惡意URL或DNS.目前該方法僅在虛擬環(huán)境中進(jìn)行測(cè)試,未來(lái)還需部署到現(xiàn)實(shí)場(chǎng)景中進(jìn)一步評(píng)估與微調(diào).Khan等人[25]將CNN與softmax算法相結(jié)合,通過(guò)改變CNN中卷積層內(nèi)核的數(shù)量增強(qiáng)模型學(xué)習(xí)特征的能力,有效提高了檢測(cè)準(zhǔn)確率.該方法選取KDD99的10%的數(shù)據(jù)進(jìn)行實(shí)驗(yàn),改進(jìn)后的CNN的準(zhǔn)確率高達(dá)99.23%.然而該方法的實(shí)驗(yàn)對(duì)比對(duì)象只有原始的SVM與DBN模型,沒(méi)有與其他改進(jìn)后的模型進(jìn)行對(duì)比,并且只在準(zhǔn)確率方面比另外2種模型高1%左右,其他方面的指標(biāo)沒(méi)有進(jìn)行對(duì)照.Andresini等人[26]基于CNN提出一種入侵檢測(cè)模型,解決了傳統(tǒng)機(jī)器學(xué)習(xí)方法不能有效檢測(cè)不可預(yù)見(jiàn)攻擊的問(wèn)題.該模型首先使用自編碼器提取數(shù)據(jù)特征,然后對(duì)提取特征執(zhí)行最近鄰搜索與聚類算法導(dǎo)出適用于CNN的灰度圖像,再利用該圖像對(duì)CNN進(jìn)行訓(xùn)練.文獻(xiàn)[26]提出的數(shù)據(jù)映射方法能很好地幫助構(gòu)建圖像數(shù)據(jù),從而發(fā)現(xiàn)相鄰流量數(shù)據(jù)中產(chǎn)生的潛在數(shù)據(jù)模式.實(shí)驗(yàn)證明,該模型在KDD99,USW-NB15和CICIDS2017等上均有較高的準(zhǔn)確率.未來(lái)可探索將RGB映射與相鄰搜索結(jié)合以增強(qiáng)網(wǎng)絡(luò)流量的成像表示,并研究在數(shù)據(jù)集不平衡的情況下聚類算法的參數(shù)設(shè)置.Shibahara等人[27]提出一種從代理日志中檢測(cè)惡意URL的系統(tǒng),并提出一種改進(jìn)的CNN——事件去噪卷積神經(jīng)網(wǎng)絡(luò)(EDCNN).EDCNN對(duì)原始的CNN結(jié)構(gòu)進(jìn)行了擴(kuò)展,主要功能是減少良性URL所受到的負(fù)面影響.文獻(xiàn)[27]將2種現(xiàn)有方法與EDCNN進(jìn)行了比較,并使用2種類型的特征提高EDCNN的檢測(cè)性能.實(shí)驗(yàn)結(jié)果顯示,在特定情況下EDCNN相較CNN降低了47%的錯(cuò)誤警報(bào),從而降低了惡意軟件感染的檢測(cè)成本(從27.6%降低至14.8%).但是EDCNN在進(jìn)行分類時(shí)沒(méi)有考慮URL對(duì)應(yīng)的內(nèi)容,如果網(wǎng)站中的惡意內(nèi)容被人刪除,EDCNN依然會(huì)將該URL識(shí)別為惡意網(wǎng)站,從而必須通過(guò)手動(dòng)檢查的方式才能避免這類誤報(bào)情況.
Suda等人[28]針對(duì)車載網(wǎng)絡(luò)提出一種入侵檢測(cè)方法,該方法利用RNN可對(duì)數(shù)據(jù)包的時(shí)間序列特征進(jìn)行提取.該方法能夠檢測(cè)各種類型的攻擊,如ID修改攻擊、數(shù)據(jù)字段修改攻擊以及洪水攻擊等.此外,與傳統(tǒng)基于閾值的方法相比,該方法可在不需要閾值的情況下檢測(cè)各種網(wǎng)絡(luò)攻擊,且能獲得更高的檢測(cè)精度.未來(lái)可考慮更多不同的攻擊模式和硬件配置進(jìn)行性能評(píng)估,并可對(duì)RNN模型本身結(jié)構(gòu)進(jìn)行優(yōu)化.燕昺昊等人[29]為了解決傳統(tǒng)入侵檢測(cè)模型只檢測(cè)網(wǎng)絡(luò)入侵行為的靜態(tài)特征、無(wú)法有效檢測(cè)低頻攻擊樣本的問(wèn)題,提出一種深度循環(huán)神經(jīng)網(wǎng)絡(luò)(DRNN)和區(qū)域自適應(yīng)合成過(guò)采樣算法(RA-SMOTE)相結(jié)合的入侵檢測(cè)模型DRRS.文獻(xiàn)[29]首先利用RA-SMOTE算法優(yōu)化了數(shù)據(jù)集中數(shù)據(jù)分布不平衡的狀況,再利用DRNN完成對(duì)新樣本集的學(xué)習(xí)與檢測(cè),除了提升低頻攻擊的檢測(cè)率外,還依靠RNN的結(jié)構(gòu)特性充分挖掘并利用了樣本之間的時(shí)序相關(guān)性,提升了模型的檢測(cè)性能與數(shù)據(jù)刻畫(huà)能力.在NSL-KDD上,DRRS的各項(xiàng)指標(biāo)均優(yōu)于已有的入侵檢測(cè)模型.Hou等人[30]構(gòu)建了一種基于分層LSTM的入侵檢測(cè)系統(tǒng)HLSTM,能夠跨越多個(gè)時(shí)間層次在復(fù)雜網(wǎng)絡(luò)流量序列上進(jìn)行學(xué)習(xí).在KDDTest+與KDDTest-21上,HLSTM的檢測(cè)準(zhǔn)確率分別為83.85%與69.73%,均高于用來(lái)比對(duì)的其他方法.此外,HLSTM對(duì)于低頻率的網(wǎng)絡(luò)攻擊具有較高的分類精度與較低的誤報(bào)率.然而HLSTM在檢測(cè)R2L與U2R攻擊時(shí)表現(xiàn)不是很好,使用的數(shù)據(jù)集中這2類攻擊的樣本數(shù)量也較少.針對(duì)物聯(lián)網(wǎng)中的網(wǎng)絡(luò)攻擊,Roy等人[31]提出一種使用雙向長(zhǎng)短時(shí)記憶遞歸神經(jīng)網(wǎng)絡(luò)(BLSTM RNN)的入侵檢測(cè)方法,主要研究了該方法在物聯(lián)網(wǎng)正常模式與攻擊模式二分類問(wèn)題中的性能.該方法能夠在訓(xùn)練階段從數(shù)據(jù)集中學(xué)習(xí)詳細(xì)的特征,從而達(dá)到較高的攻擊流量檢測(cè)準(zhǔn)確率.實(shí)驗(yàn)使用UNSW-NB15的簡(jiǎn)化版本進(jìn)行訓(xùn)練,檢測(cè)準(zhǔn)確率超過(guò)95%,精確率甚至達(dá)到100%,并且召回率、F1分?jǐn)?shù)與FAR等評(píng)價(jià)指標(biāo)均表現(xiàn)良好.該方法在檢測(cè)參數(shù)方面還存在改進(jìn)空間,需要更多的大型數(shù)據(jù)集來(lái)幫助進(jìn)行模型參數(shù)調(diào)整,以平衡檢測(cè)精度與參數(shù)之間的關(guān)系.Alkadi等人[32]將入侵檢測(cè)系統(tǒng)與區(qū)塊鏈技術(shù)相結(jié)合,提出一種深度區(qū)塊鏈框架DBF,旨在提供物聯(lián)網(wǎng)網(wǎng)絡(luò)中基于安全的分布式入侵檢測(cè)和基于隱私的智能合約區(qū)塊鏈,在保護(hù)數(shù)據(jù)隱私的同時(shí)對(duì)惡意攻擊進(jìn)行識(shí)別.該框架也使用雙向LSTM方法對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行檢測(cè),并通過(guò)UNSW-NB15與BoT-IoT對(duì)模型性能進(jìn)行評(píng)估.結(jié)果表明,使用雙向LSTM的DBF在準(zhǔn)確性和安全性上優(yōu)于文獻(xiàn)中用來(lái)對(duì)比的其他框架,并且在該框架中的數(shù)據(jù)交換變得簡(jiǎn)單、透明,能顯著降低日常開(kāi)支.然而深度學(xué)習(xí)與區(qū)塊鏈技術(shù)的結(jié)合可能會(huì)受到通信復(fù)雜度、流量開(kāi)銷等因素的限制,一定程度上導(dǎo)致傳輸過(guò)程中存在丟包問(wèn)題,對(duì)結(jié)果精度造成影響.未來(lái)還需要在更多數(shù)據(jù)集上進(jìn)行測(cè)試,以評(píng)估框架的可擴(kuò)展性與實(shí)用性.Mahdavisharif等人[33]采用大數(shù)據(jù)感知的深度學(xué)習(xí)方法設(shè)計(jì)高效的入侵檢測(cè)系統(tǒng),以檢測(cè)大規(guī)模的網(wǎng)絡(luò)流量數(shù)據(jù).該系統(tǒng)使用一種特定的LSTM結(jié)構(gòu),能夠檢測(cè)傳入流量數(shù)據(jù)包之間的復(fù)雜關(guān)系與長(zhǎng)期依賴關(guān)系,從而減少誤報(bào)數(shù)量,提高入侵檢測(cè)系統(tǒng)的檢測(cè)準(zhǔn)確性.此外,該系統(tǒng)還使用了大數(shù)據(jù)技術(shù)中的并行與分布式計(jì)算方法,有效提高了系統(tǒng)運(yùn)行速度.實(shí)驗(yàn)在NSL-KDD上進(jìn)行測(cè)試,結(jié)果表明該系統(tǒng)在檢測(cè)率、準(zhǔn)確率和訓(xùn)練時(shí)間等評(píng)價(jià)指標(biāo)上均優(yōu)于實(shí)驗(yàn)中用來(lái)對(duì)比的其他方法.為了進(jìn)一步降低計(jì)算復(fù)雜度,Mahdavisharif等人打算使用GRU算法代替LSTM,并收集真實(shí)的網(wǎng)絡(luò)流量數(shù)據(jù)進(jìn)行訓(xùn)練,使得實(shí)驗(yàn)結(jié)果更加準(zhǔn)確與可靠.
在深度學(xué)習(xí)模型中,AE非常適合從高維數(shù)據(jù)中提取特征,因此在入侵檢測(cè)系統(tǒng)中有著廣泛的應(yīng)用.Farahnakian等人[34]將4個(gè)AE進(jìn)行連接,將當(dāng)前層AE的輸出作為下一層AE的輸入,并在輸入前對(duì)當(dāng)前層的AE進(jìn)行訓(xùn)練,以此建立了一個(gè)深度AE的入侵檢測(cè)模型.為了避免過(guò)度擬合和局部最優(yōu)的情況,文獻(xiàn)[34]使用貪婪的無(wú)監(jiān)督分層方式對(duì)模型進(jìn)行訓(xùn)練.實(shí)驗(yàn)結(jié)果表明,該模型在10%的KDD99上實(shí)現(xiàn)了94.71%的檢測(cè)準(zhǔn)確率.未來(lái)可在該方法的基礎(chǔ)上進(jìn)一步探討如何對(duì)AE添加稀疏約束,以及如何設(shè)計(jì)稀疏AE來(lái)進(jìn)一步提高入侵檢測(cè)的有效性.為了解決傳統(tǒng)入侵檢測(cè)技術(shù)中存在的缺乏標(biāo)記數(shù)據(jù)集、開(kāi)銷大及準(zhǔn)確率低等問(wèn)題,Li等人[35]提出一種基于隨機(jī)森林算法的AE入侵檢測(cè)系統(tǒng).該系統(tǒng)通過(guò)特征選擇和特征分組構(gòu)造訓(xùn)練集,使用淺層AE神經(jīng)網(wǎng)絡(luò)進(jìn)行攻擊檢測(cè),降低了計(jì)算復(fù)雜度,并且借助AE特性解決了傳統(tǒng)方法中存在的樣本不均衡問(wèn)題,有效提高了檢測(cè)精度.實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能在較短時(shí)間內(nèi)準(zhǔn)確檢測(cè)出大部分攻擊.隨著網(wǎng)絡(luò)攻擊的隱蔽性越來(lái)越強(qiáng),惡意流量加密為入侵檢測(cè)帶來(lái)不少困難.該系統(tǒng)存在的問(wèn)題是提取的特征數(shù)量不足,在面對(duì)加密后的惡意攻擊時(shí)無(wú)法保證相同精度.Zavrak等人[36]提出一種使用變分編碼器(VAE)的入侵檢測(cè)模型,用來(lái)處理小規(guī)模的流量數(shù)據(jù)與識(shí)別未知攻擊.該模型采用半監(jiān)督的學(xué)習(xí)策略,對(duì)比模型有原始的AE以及OCSVM.實(shí)驗(yàn)證明該模型檢測(cè)率在大多數(shù)情況下比AE和OCSVM高,但誤報(bào)率較高,需要有監(jiān)督學(xué)習(xí)方法的支撐.為了提高檢測(cè)率,可以考慮在特定時(shí)間間隔對(duì)流量數(shù)據(jù)進(jìn)行收集,從而更好地模擬出某些攻擊特征.Yu等人[37]開(kāi)發(fā)了一種網(wǎng)絡(luò)入侵檢測(cè)方法,從大量未標(biāo)記的原始網(wǎng)絡(luò)流量數(shù)據(jù)中自動(dòng)有效地學(xué)習(xí)有用特征.該方法使用空洞卷積自動(dòng)編碼器(DCAE)識(shí)別正常和惡意流量,首先使用數(shù)據(jù)預(yù)處理模塊將原始網(wǎng)絡(luò)流量數(shù)據(jù)轉(zhuǎn)換為二維數(shù)字向量,然后使用未標(biāo)記的數(shù)據(jù)訓(xùn)練DCAE.在分類任務(wù)實(shí)驗(yàn)中,文獻(xiàn)[37]所提出的方法在二分類任務(wù)中表現(xiàn)最好,準(zhǔn)確率高達(dá)99.59%,在六分類任務(wù)中也高于文獻(xiàn)中列舉的其他基于深度學(xué)習(xí)的方法.實(shí)驗(yàn)還表明,添加多個(gè)隱藏層并不能顯著提高性能,在1個(gè)卷積層、1個(gè)全連接層(帶有ReLU)以及1個(gè)分類層的情況下,模型性能最好,這可能是因?yàn)榈?個(gè)卷積層的隱藏單元數(shù)足以學(xué)習(xí)全部有用特征.模型的局限性在于訓(xùn)練過(guò)程需要較長(zhǎng)時(shí)間,這可通過(guò)深度學(xué)習(xí)領(lǐng)域廣泛使用的GPU并行化技術(shù)來(lái)解決.
Gao等人[38]首次將DBN用于入侵檢測(cè),提出一種基于DBN的入侵檢測(cè)模型.為了證明DBN在網(wǎng)絡(luò)攻擊檢測(cè)中的適用性,實(shí)驗(yàn)選用KDD99,對(duì)比模型有基于機(jī)器學(xué)習(xí)的人工神經(jīng)網(wǎng)絡(luò)(ANN)與SVM.實(shí)驗(yàn)表明,DBN在不同隱藏層的情況下檢測(cè)率均高于SVM與ANN,且具有4個(gè)隱藏層的DBN表現(xiàn)最好,準(zhǔn)確率為93.49%,TPR為92.33%.由于文章發(fā)表時(shí)間較早,實(shí)驗(yàn)僅僅對(duì)比了基于機(jī)器學(xué)習(xí)的經(jīng)典模型.Alrawashdeh等人[39]也對(duì)1個(gè)四隱藏層DBN進(jìn)行了類似實(shí)驗(yàn),并使用softmax邏輯回歸模型對(duì)深度網(wǎng)絡(luò)進(jìn)行微調(diào),在10%的KDD99上實(shí)現(xiàn)了97.9%的準(zhǔn)確率,無(wú)論是檢測(cè)速度還是檢測(cè)精度都優(yōu)于文獻(xiàn)中用來(lái)對(duì)比的幾種基于深度學(xué)習(xí)的方法.通過(guò)對(duì)訓(xùn)練過(guò)程進(jìn)行改進(jìn),該模型的FN值降到2.47%.然而該模型的訓(xùn)練與測(cè)試時(shí)間較長(zhǎng),計(jì)算過(guò)程相對(duì)復(fù)雜,且實(shí)驗(yàn)用的數(shù)據(jù)集較小,所包含的攻擊類別有限.Chawla[40]專門針對(duì)物聯(lián)網(wǎng)中存在的安全問(wèn)題提出一種入侵檢測(cè)系統(tǒng).該系統(tǒng)使用含有3個(gè)隱藏層的DBN作為入侵檢測(cè)模型,降低了物聯(lián)網(wǎng)網(wǎng)絡(luò)的異質(zhì)性與動(dòng)態(tài)性所導(dǎo)致的安全風(fēng)險(xiǎn),大大減少了所需的計(jì)算資源.該系統(tǒng)在1次實(shí)驗(yàn)中收集了所有需要用到的數(shù)據(jù),包含來(lái)自IPv6報(bào)頭的信息以及有關(guān)數(shù)據(jù)包的元數(shù)據(jù),其中惡意數(shù)據(jù)由12種不同的攻擊類型表示.實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)檢測(cè)模型的TPR為95.4%,準(zhǔn)確率為95.03%.
深度學(xué)習(xí)分類模型的訓(xùn)練需要大量標(biāo)記數(shù)據(jù),收集這些數(shù)據(jù)通常需要耗費(fèi)大量時(shí)間與金錢.針對(duì)該問(wèn)題,Singla等人[41]基于GAN提出一種使用對(duì)抗域自適應(yīng)方法進(jìn)行訓(xùn)練的入侵檢測(cè)模型.該模型通過(guò)將域自適應(yīng)學(xué)習(xí)和GAN相結(jié)合,降低了模型訓(xùn)練所需的數(shù)據(jù)量,使得模型可以通過(guò)少量樣本數(shù)據(jù)訓(xùn)練達(dá)到較高精度,同時(shí)減少了訓(xùn)練時(shí)間.無(wú)論原數(shù)據(jù)集與目標(biāo)數(shù)據(jù)集特征相似與否,使用文獻(xiàn)[41]所提出的方法訓(xùn)練的模型均優(yōu)于文獻(xiàn)中列舉的結(jié)合其他方法的模型.通過(guò)實(shí)驗(yàn)可以看出,在目標(biāo)數(shù)據(jù)集與原數(shù)據(jù)集特征相似的情況下,該方法的準(zhǔn)確率分別比文獻(xiàn)中用來(lái)對(duì)比的2種方法高7.66%和6.73%,在特征不相似的情況下則分別高17.9%和5.78%.未來(lái)還需要對(duì)該方法在多類別分類及隱私保護(hù)等問(wèn)題上的適用性作進(jìn)一步研究.Liu等人[42]針對(duì)入侵檢測(cè)數(shù)據(jù)集的不平衡性和高維性特點(diǎn)提出了一種基于GAN和特征選擇的過(guò)采樣技術(shù),用來(lái)對(duì)數(shù)據(jù)集進(jìn)行處理:一方面采用基于梯度懲罰的Wasserstein-GAN對(duì)高維攻擊分別進(jìn)行建模,以生成額外的樣本數(shù)據(jù);另一方面使用方差分析法選擇代表整個(gè)數(shù)據(jù)集的特征子集,從而得到低維且平衡的數(shù)據(jù)集,放入模型進(jìn)行訓(xùn)練.實(shí)驗(yàn)分別在NSL-KDD,UNSW-NB15,CICIDS-2017上進(jìn)行,驗(yàn)證了該技術(shù)能夠使入侵檢測(cè)模型的檢測(cè)性能顯著提升,但文獻(xiàn)[42]沒(méi)有對(duì)不同特征所分配的權(quán)重進(jìn)行研究,沒(méi)有反映出每個(gè)特征在分類中的重要性.
在網(wǎng)絡(luò)流量檢測(cè)的基礎(chǔ)上,對(duì)各種攻擊行為進(jìn)行分類能有效提升入侵檢測(cè)系統(tǒng)的檢測(cè)精度與效率.常見(jiàn)的網(wǎng)絡(luò)攻擊包括拒絕服務(wù)(DoS)、分布式拒絕服務(wù)(DDoS)、用戶提權(quán)(U2R)、遠(yuǎn)程用戶(R2L)、注入(injection)及探針(probe)攻擊等[43].使用深度學(xué)習(xí)模型能夠在對(duì)現(xiàn)有網(wǎng)絡(luò)攻擊精準(zhǔn)分類的同時(shí)發(fā)現(xiàn)新的攻擊類型,與其他攻擊行為進(jìn)行細(xì)致區(qū)分.
機(jī)器學(xué)習(xí)方法在處理海量、不具備獨(dú)立同分布的流量數(shù)據(jù)時(shí)開(kāi)銷大、精度低.為了解決這些問(wèn)題,張小莉等人[44]將PCA算法與改進(jìn)的深度卷積神經(jīng)網(wǎng)絡(luò)分類模型(LCNN)相結(jié)合,提出一種流量分類模型.其中,PCA算法用來(lái)對(duì)數(shù)據(jù)進(jìn)行降維分析,發(fā)現(xiàn)關(guān)鍵特征;LCNN則采用自主特征學(xué)習(xí)方式提升分類精度.實(shí)驗(yàn)使用3種帶標(biāo)簽的數(shù)據(jù)集對(duì)模型進(jìn)行測(cè)試,檢測(cè)精度最高可達(dá)96.58%,比實(shí)驗(yàn)中列舉的其他模型提升了5%~8%.此外,該模型還具有很強(qiáng)的泛化能力,可與其他算法結(jié)合進(jìn)一步提升模型性能.該模型存在的主要問(wèn)題是特征屬性較少,在處理一些復(fù)雜數(shù)據(jù)時(shí)不太適用.Yin等人[45]將RNN與入侵檢測(cè)系統(tǒng)相結(jié)合,提出RNN-IDS模型,并通過(guò)多個(gè)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn).RNN-IDS模型不僅具有很強(qiáng)的入侵檢測(cè)建模能力,而且在多類別分類中也具有較高的準(zhǔn)確性,特別是在NSL-KDD的多分類任務(wù)中具有較低的FPR與較高的檢測(cè)率.該模型與傳統(tǒng)機(jī)器學(xué)習(xí)模型相比能實(shí)現(xiàn)更高的精度,但訓(xùn)練時(shí)間更長(zhǎng),且由于RNN存在梯度爆炸與梯度消失的問(wèn)題,可以考慮使用GPU加速來(lái)減少訓(xùn)練時(shí)間.為了充分提取用戶行為的特征信息,Xiao等人[46]提出一種基于AE與CNN的網(wǎng)絡(luò)入侵檢測(cè)模型.該模型通過(guò)AE對(duì)處理后的數(shù)據(jù)集進(jìn)行降維,將降維后的數(shù)據(jù)轉(zhuǎn)換為灰度圖像輸入CNN,通過(guò)CNN提取和分析數(shù)據(jù)特征進(jìn)行分類.實(shí)驗(yàn)結(jié)果表明,模型的準(zhǔn)確率、檢測(cè)率與FAR分別可達(dá)94.0%,93.0%及0.5%,比大部分機(jī)器學(xué)習(xí)模型以及DNN,RNN等基礎(chǔ)深度學(xué)習(xí)模型性能更好.但該模型在處理少數(shù)攻擊類別(如U2L,R2L)時(shí)檢測(cè)率較低,且特征學(xué)習(xí)較為困難,未來(lái)使用GAN生成新的樣本數(shù)據(jù)能有效幫助識(shí)別更多攻擊類別的特征.Kannari等人[47]針對(duì)網(wǎng)絡(luò)流量數(shù)據(jù)維度高和數(shù)據(jù)不均衡的問(wèn)題,提出一種基于swish-PReLU激活函數(shù)的稀疏AE,對(duì)NSL-KDD,CIC-IDS2017和AWID中的正常流量和攻擊流量進(jìn)行分類,其中在NSL-KDD中的準(zhǔn)確率可達(dá)99.95%,檢測(cè)率可達(dá)99.82%.在與文獻(xiàn)[47]中列舉的幾個(gè)改進(jìn)模型的對(duì)比實(shí)驗(yàn)中,該模型在分類精度與檢測(cè)率等方面也有不錯(cuò)的表現(xiàn).然而該模型并沒(méi)有解決AE中過(guò)度擬合與數(shù)據(jù)稀疏的問(wèn)題.
Aldwairi等人[48]考慮到建立一種能夠?qū)W習(xí)和適應(yīng)新型網(wǎng)絡(luò)攻擊的入侵檢測(cè)系統(tǒng)的重要性,嘗試使用RBM來(lái)區(qū)分正常和異常網(wǎng)絡(luò)流量數(shù)據(jù).實(shí)驗(yàn)使用訓(xùn)練算法CD與PCD對(duì)RBM性能進(jìn)行評(píng)估,準(zhǔn)確率分別為88.6%與89.0%,TPR分別為88.4%與84.2%.實(shí)驗(yàn)結(jié)果表明,RBM經(jīng)過(guò)訓(xùn)練后能夠正確區(qū)分正常和異常網(wǎng)絡(luò)流量數(shù)據(jù),并且可以識(shí)別新的攻擊行為,但計(jì)算復(fù)雜度較高,準(zhǔn)確率還有待提高,且文中只探討了雙層RBM,沒(méi)有進(jìn)行更深入的研究.Elsaeidy等人[49]對(duì)RBM的改進(jìn)模型DRBM進(jìn)行研究,提出一種基于DRBM的智能城市入侵檢測(cè)框架.該框架使用經(jīng)過(guò)訓(xùn)練的DRBM模型從網(wǎng)絡(luò)流量中提取高層特征,結(jié)合前饋神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林等模型利用提取到的特征檢測(cè)不同類型的DDoS攻擊.實(shí)驗(yàn)結(jié)果表明,該框架中的DRBM具有高精度的跟蹤檢測(cè)能力,性能優(yōu)于傳統(tǒng)前饋神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林、SVM等模型.DRBM存在的問(wèn)題是檢測(cè)結(jié)果會(huì)受到RBM層數(shù)以及集群數(shù)量的影響,當(dāng)RBM層數(shù)與集群數(shù)量增加時(shí),模型的攻擊檢測(cè)性能會(huì)降低.Thamilarasu等人[50]開(kāi)發(fā)了一種適合物聯(lián)網(wǎng)環(huán)境的智能入侵檢測(cè)系統(tǒng),提出用DBN構(gòu)建用于網(wǎng)絡(luò)攻擊檢測(cè)與分類的前饋深度神經(jīng)網(wǎng)絡(luò),并對(duì)蟲(chóng)洞攻擊、黑洞攻擊、DDoS攻擊等攻擊類型進(jìn)行測(cè)試,其中DDoS攻擊的檢測(cè)準(zhǔn)確率高達(dá)96%、召回率高達(dá)98.7%.此外,所有攻擊場(chǎng)景的F1分?jǐn)?shù)都較高,表明系統(tǒng)具有較好的整體檢測(cè)性能.但是該實(shí)驗(yàn)的對(duì)比方法只有1個(gè),不能很好地體現(xiàn)該方法的優(yōu)勢(shì),并且也沒(méi)有針對(duì)物聯(lián)網(wǎng)中一些特有的攻擊類型進(jìn)行檢測(cè).
Lin等人[51]認(rèn)為現(xiàn)有入侵檢測(cè)系統(tǒng)的魯棒性不強(qiáng),提出一種基于Wasserstein-GAN的入侵檢測(cè)系統(tǒng).該系統(tǒng)中生成器的作用是將惡意樣本轉(zhuǎn)換為對(duì)抗性惡意樣本,判別器對(duì)所有流量樣本進(jìn)行分類.為了保證入侵的有效性,實(shí)驗(yàn)只對(duì)樣本的部分非功能性特征進(jìn)行了更改.在NSL-KDD上,該系統(tǒng)能對(duì)多種類型攻擊進(jìn)行檢測(cè)與分類,檢測(cè)率高于對(duì)比的系統(tǒng).此外,通過(guò)改變未修改特征的數(shù)量,驗(yàn)證了該系統(tǒng)具有很強(qiáng)的魯棒性.未來(lái)可對(duì)系統(tǒng)進(jìn)行改進(jìn),加入更多新類型的攻擊數(shù)據(jù),進(jìn)一步提高系統(tǒng)魯棒性.Liao等人[52]針對(duì)現(xiàn)有入侵檢測(cè)方法缺少用于訓(xùn)練的標(biāo)記數(shù)據(jù)以及檢測(cè)精度低的問(wèn)題,提出一種基于GAN的網(wǎng)絡(luò)入侵檢測(cè)方法,分別選用LSTM網(wǎng)絡(luò)和ANN作為生成器和判別器,將GAN標(biāo)準(zhǔn)模型進(jìn)一步轉(zhuǎn)化為監(jiān)督學(xué)習(xí)模型.在相同的測(cè)試集樣本下,采用該方法的分類模型相較文獻(xiàn)中的對(duì)比方法有更好的網(wǎng)絡(luò)入侵檢測(cè)性能,精確度達(dá)到82.3%.但由于對(duì)比方法的分類模型基本都來(lái)自于機(jī)器學(xué)習(xí),該方法在部分評(píng)價(jià)指標(biāo)上的值要低于對(duì)比方法.
近年來(lái),基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)研究取得了不少成果,從實(shí)驗(yàn)結(jié)果來(lái)看,相較傳統(tǒng)機(jī)器學(xué)習(xí)方法有更好的性能表現(xiàn).然而深度學(xué)習(xí)技術(shù)目前仍處于實(shí)驗(yàn)階段,沒(méi)有廣泛應(yīng)用于商用入侵檢測(cè)系統(tǒng).本節(jié)著眼于當(dāng)前基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)所存在的缺陷,介紹網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)需要解決的若干主要問(wèn)題,并對(duì)未來(lái)發(fā)展趨勢(shì)進(jìn)行展望.
深度學(xué)習(xí)中數(shù)據(jù)集的好壞會(huì)直接影響模型的訓(xùn)練過(guò)程與檢測(cè)結(jié)果.在對(duì)模型進(jìn)行訓(xùn)練時(shí),往往需要足夠多的樣本來(lái)調(diào)整神經(jīng)網(wǎng)絡(luò)的各個(gè)參數(shù).當(dāng)前用于入侵檢測(cè)的訓(xùn)練集中通常包含大量正常流量樣本,惡意流量樣本數(shù)量則較少.訓(xùn)練數(shù)據(jù)不平衡會(huì)導(dǎo)致訓(xùn)練后的模型存在嚴(yán)重的偏向性,即模型會(huì)將注意力過(guò)多地集中于正常流量數(shù)據(jù)上,使得異常流量數(shù)據(jù)的識(shí)別率大大下降.目前有關(guān)入侵檢測(cè)數(shù)據(jù)不平衡問(wèn)題的研究工作還較少,未來(lái)可以考慮將AE,CNN等多種深度學(xué)習(xí)模型相結(jié)合,利用模型各自的優(yōu)勢(shì)彌補(bǔ)數(shù)據(jù)不平衡所帶來(lái)的影響.
目前大部分入侵檢測(cè)系統(tǒng)都是使用已有的公開(kāi)數(shù)據(jù)集,在離線狀態(tài)下進(jìn)行研究,沒(méi)有在真實(shí)的網(wǎng)絡(luò)環(huán)境中進(jìn)行實(shí)際應(yīng)用[53].然而網(wǎng)絡(luò)流量數(shù)據(jù)的行為特征會(huì)隨著時(shí)間和空間的改變而發(fā)生改變,特別是在網(wǎng)絡(luò)安全形勢(shì)日益嚴(yán)峻的今天,各種新的網(wǎng)絡(luò)攻擊行為不斷出現(xiàn),惡意網(wǎng)絡(luò)流量檢測(cè)變得尤為重要.如何將訓(xùn)練的模型應(yīng)用于實(shí)時(shí)檢測(cè)以應(yīng)對(duì)各種新型網(wǎng)絡(luò)攻擊是入侵檢測(cè)系統(tǒng)未來(lái)研究的重點(diǎn),如何對(duì)各深度模型結(jié)構(gòu)進(jìn)行優(yōu)化和改進(jìn)以適應(yīng)日新月異的網(wǎng)絡(luò)環(huán)境是未來(lái)發(fā)展的關(guān)鍵.
在處理海量高維數(shù)據(jù)時(shí)深度學(xué)習(xí)能實(shí)現(xiàn)較高的準(zhǔn)確率,但目前大多數(shù)深度學(xué)習(xí)模型涉及深層次的結(jié)構(gòu),訓(xùn)練所需的參數(shù)較多,從而導(dǎo)致訓(xùn)練時(shí)間過(guò)長(zhǎng),嚴(yán)重影響模型的檢測(cè)效率.當(dāng)前大多數(shù)研究都將重心放在系統(tǒng)檢測(cè)的準(zhǔn)確性上,很少將訓(xùn)練時(shí)間作為考慮因素及評(píng)價(jià)指標(biāo),導(dǎo)致很多模型僅存在于理論中,無(wú)法付諸實(shí)踐.如何在有限的訓(xùn)練時(shí)間內(nèi)保證較高的準(zhǔn)確率,是基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)模型優(yōu)化的重要方向之一,也是網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)能否用于實(shí)際的關(guān)鍵.
目前較為主流的深度學(xué)習(xí)框架有PaddlePaddle,TensorFlow,Keras,Caffe,PyTorch,CNTK等,這些深度學(xué)習(xí)框架為用戶提供了大量可重復(fù)使用的算法與模塊,有效提高了開(kāi)發(fā)效率,但也存在一些安全漏洞,容易遭受網(wǎng)絡(luò)攻擊[54].例如,TensorFlow所依賴的1個(gè)用于科學(xué)計(jì)算的python庫(kù)Numpy出現(xiàn)DoS攻擊漏洞,攻擊者可利用這個(gè)漏洞對(duì)系統(tǒng)進(jìn)行干擾.深度學(xué)習(xí)框架以及它所依賴的組件中的任何安全問(wèn)題都會(huì)威脅框架之上的應(yīng)用系統(tǒng),進(jìn)行基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)研究時(shí)需要格外注意這一問(wèn)題.
深度學(xué)習(xí)技術(shù)有效提高了網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的性能,在處理大規(guī)模流量數(shù)據(jù)時(shí)能實(shí)現(xiàn)較高的準(zhǔn)確率.本文從深度學(xué)習(xí)模型、數(shù)據(jù)預(yù)處理技術(shù)、數(shù)據(jù)集與評(píng)價(jià)指標(biāo)、入侵檢測(cè)應(yīng)用以及問(wèn)題與展望等方面描述了基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)的研究現(xiàn)狀,希望能為相關(guān)領(lǐng)域的研究提供借鑒和思路.