沈 雪,王 遜,黃樹成,王云沼
(1.江蘇科技大學(xué)計(jì)算機(jī)學(xué)院,江蘇鎮(zhèn)江 212003;2.中國(guó)人民解放軍陸軍通信訓(xùn)練基地,北京 100029)
隨著互聯(lián)網(wǎng)和信息技術(shù)的飛速發(fā)展,網(wǎng)絡(luò)安全變得越來(lái)越重要,而入侵檢測(cè)技術(shù)已經(jīng)成為保障網(wǎng)絡(luò)安全的一種重要手段[1],近年來(lái)備受國(guó)內(nèi)外研究者的關(guān)注。
隨著機(jī)器學(xué)習(xí)算法的發(fā)展,很多研究人員將其應(yīng)用到入侵檢測(cè)領(lǐng)域。機(jī)器學(xué)習(xí)能夠?qū)μ卣鬟M(jìn)行學(xué)習(xí)并發(fā)現(xiàn)重要特征,將入侵檢測(cè)轉(zhuǎn)化為對(duì)網(wǎng)絡(luò)中正常行為和異常行為的分類問(wèn)題。常見的傳統(tǒng)機(jī)器學(xué)習(xí)算法包括支持向量機(jī)(SVM)[2]、K 近鄰(KNN)[3]、決策樹(DT)[4]、隨機(jī)森林(RF)[5]等。上述方法在一定程度上提高了入侵檢測(cè)的性能,但基于傳統(tǒng)機(jī)器學(xué)習(xí)的算法不能自主地學(xué)習(xí)特征,需要人為提取特征。
隨著深度學(xué)習(xí)在語(yǔ)音識(shí)別、圖像識(shí)別和自然語(yǔ)言處理等領(lǐng)域的成功應(yīng)用,許多國(guó)內(nèi)外學(xué)者嘗試將深度學(xué)習(xí)技術(shù)應(yīng)用于入侵檢測(cè)。常用的深度學(xué)習(xí)技術(shù)包括自動(dòng)編碼器(AE)[6]、深度玻爾茲曼機(jī)(DBM)[7]、深度信念網(wǎng)絡(luò)(DBN)[8]、卷積神經(jīng)網(wǎng)絡(luò)(CNN)[9]、循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[10]等。深度學(xué)習(xí)算法相比于傳統(tǒng)機(jī)器學(xué)習(xí)算法在檢測(cè)性能上有較大提升,但也存在一些不足。在特征提取上,卷積神經(jīng)網(wǎng)絡(luò)(Convolution Neural Network,CNN)能夠提取到數(shù)據(jù)的局部特征,但缺乏學(xué)習(xí)序列相關(guān)性的能力,而長(zhǎng)短期記憶(Long Short-term Memory,LSTM)只能讀取一個(gè)方向的序列數(shù)據(jù),不能充分考慮之后屬性信息的影響。此外,對(duì)于入侵檢測(cè)研究,目前主要使用二分類方法,即將網(wǎng)絡(luò)行為歸屬到正常行為或者是入侵行為,這在實(shí)際檢測(cè)中,往往會(huì)因?yàn)樾畔⒉蛔忝つ繘Q策而造成誤分類。
針對(duì)上述問(wèn)題,本文提出CNN-BiLSTM 與三支決策(Three-way Decision,TWD)理論相結(jié)合,建立CNN-BiLSTM 和三支決策入侵檢測(cè)模型。利用CNN-BiLSTM 進(jìn)行特征提取,將提取后的特征進(jìn)行三支決策,對(duì)信息不足的網(wǎng)絡(luò)行為進(jìn)行延遲決策,直到獲取到足夠的信息再進(jìn)行判斷,從而得到最終決策結(jié)果。最后,在NSL-KDD、CICIDS2017數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),評(píng)價(jià)算法的綜合性能。
卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的代表算法之一[11],它由3部分組成:輸入層、隱藏層和輸出層,其中隱藏層又包含卷積層、池化層、全連接層。其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。
Fig.1 CNN model structure圖1 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
卷積層用來(lái)提取數(shù)據(jù)特征,公式如下:
池化層用于降低維數(shù)、減少計(jì)算量、加速網(wǎng)絡(luò)收斂,同時(shí)去除數(shù)據(jù)冗余特征,有效減輕網(wǎng)絡(luò)過(guò)擬合程度。為防止數(shù)據(jù)的時(shí)序特征被破壞,本文采用平均值池化對(duì)數(shù)據(jù)進(jìn)行降維操作。
全連接層將前面提取到的所有局部特征進(jìn)行組合。每個(gè)神經(jīng)元都與上一層所有神經(jīng)元連接,采用激活函數(shù)進(jìn)行操作,將結(jié)果傳遞給輸出層。
激活函數(shù)用于計(jì)算各神經(jīng)元的權(quán)重。常用的激活函數(shù)有Sigmoid 函數(shù)、Tanh 函數(shù)和ReLU 系列函數(shù)。
損失函數(shù)用來(lái)評(píng)估模型預(yù)測(cè)值和真實(shí)值的差別程度,損失函數(shù)的值越小,代表預(yù)測(cè)值越接近真實(shí)值。損失函數(shù)公式如下:
其中,yi代表樣本實(shí)際值,x[il]代表樣本預(yù)測(cè)值,n為樣本數(shù)據(jù)量。
CNN 的訓(xùn)練過(guò)程包括前向傳播和反向傳播。通過(guò)前向傳播獲得預(yù)測(cè)值,利用損失函數(shù)計(jì)算出預(yù)測(cè)值與實(shí)際值的誤差,再通過(guò)反向傳播,根據(jù)計(jì)算出來(lái)的誤差損失和權(quán)重更新公式,并進(jìn)行誤差的反向傳遞,進(jìn)而更新網(wǎng)絡(luò)權(quán)重,經(jīng)過(guò)大量迭代得到最終訓(xùn)練模型。
權(quán)重和偏置的更新公式如下:
長(zhǎng)短期記憶LSTM 是循環(huán)神經(jīng)網(wǎng)絡(luò)RNN 的變形,它由3 個(gè)門控單元和一個(gè)記憶細(xì)胞組合而成[12]。LSTM 使用累加而不是累乘的方式計(jì)算細(xì)胞狀態(tài),其導(dǎo)數(shù)也是累加方式,從而有效地解決了RNN 在訓(xùn)練過(guò)程中出現(xiàn)的梯度消失和梯度爆炸問(wèn)題。其網(wǎng)絡(luò)模型結(jié)構(gòu)如圖2所示。
Fig.2 LSTM model structure圖2 LSTM模型結(jié)構(gòu)
其中,ct-1、ht-1表示時(shí)間步t-1的記憶細(xì)胞和隱層狀態(tài),xt是時(shí)間步t的輸入,ft、it、ot分別代表遺忘門、輸入門和輸出門;σ表示Sigmoid 激活函數(shù)是時(shí)間步t的候選記憶細(xì)胞,使用Tanh 激活函數(shù);ct、ht、yt分別表示時(shí)間步t的記憶細(xì)胞、隱層狀態(tài)和輸出。特征提取步驟如下:
Step1:計(jì)算輸入門ft。通過(guò)讀取xt和ht-1,遺忘門ft對(duì)時(shí)間步t的細(xì)胞狀態(tài)進(jìn)行篩選,決定丟棄什么信息。公式如下:
其中,Wxf和Whf是權(quán)重參數(shù),bf是偏差參數(shù)。
Step2:計(jì)算輸入門it和候選記憶細(xì)胞,確定將哪些新信息存放進(jìn)記憶細(xì)胞中。公式如下:
其中,Wxi、Whi、Wxc、Whc是權(quán)重參數(shù),bi、bc是偏差參數(shù)。
Step3:計(jì)算更新的細(xì)胞狀態(tài)ct,得到最終更新的細(xì)胞狀態(tài)ct。公式如下:
Step4:計(jì)算輸出門ot和隱層狀態(tài)ht。公式如下:
其中,Wxo和Who是權(quán)重參數(shù),bo是偏差參數(shù)。
雙向長(zhǎng)短期記憶BiLSTM 由一個(gè)正向LSTM 和一個(gè)反向LSTM 網(wǎng)絡(luò)組成,在LSTM 網(wǎng)絡(luò)單向數(shù)據(jù)流動(dòng)的基礎(chǔ)上,增加了反向的數(shù)據(jù)流向,并且前向隱藏層和后向隱藏層之間沒有聯(lián)系,從而有效地解決了LSTM 只能提取單一方向的序列特征問(wèn)題。其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
Fig.3 BiLSTM model structure圖3 BiLSTM 模型結(jié)構(gòu)
每一級(jí)隱藏層狀態(tài)ht的計(jì)算公式如下:
其中,LSTM代表式(8)—式(13)的運(yùn)算過(guò)程,是前向隱藏層狀態(tài)是后向隱藏層狀態(tài),Wfwd是前向隱藏層的權(quán)重參數(shù),Wbwd是后向隱藏層的權(quán)重參數(shù),bt是隱藏層的偏置參數(shù)。
三支決策理論是Yao 等[13]基于概率粗糙集和決策粗糙集提出的新決策理論,是對(duì)二支決策理論的一種擴(kuò)展。其核心思想是將整體區(qū)域(分類對(duì)象)劃分為3 個(gè)兩兩互不相交的區(qū)域,分別是正域(POS)、負(fù)域(NEG)和邊界域(BND),然后對(duì)不同的區(qū)域采取不同的策略。
將一個(gè)樣本x劃分到3 個(gè)不同的區(qū)域可能存在兩種不同的狀態(tài),即x屬于該域(P)和x不屬于該域(N),并且對(duì)樣本x可以采取3 種不同的決策,即接受決策(Dp)、延遲決策(DB)和拒絕決策(DN)。由于將一個(gè)樣本劃分到正域、負(fù)域和邊界域的代價(jià)不同,因此可以得到6 種不同的分類代價(jià),分別用λPP、λBP、λNP、λPN、λBN、λNN表示,其決策的代價(jià)損失函數(shù)如表1所示。
Table 1 Cost loss function表1 代價(jià)損失函數(shù)
根據(jù)貝葉斯最小風(fēng)險(xiǎn)原則,損失函數(shù)之間的大小關(guān)系滿足:0 ≤λPP≤λBP<λNP,0 ≤λNN≤λBN<λPN。
假設(shè)α、β為兩個(gè)決策閾值。根據(jù)文獻(xiàn)[14]的推導(dǎo)證明,可以得到其計(jì)算公式如下:
在入侵檢測(cè)中,正域表示該網(wǎng)絡(luò)行為屬于入侵行為,負(fù)域表示該網(wǎng)絡(luò)行為屬于正常行為,邊界域表示暫未進(jìn)行決策的行為。假設(shè)X表示入侵概念的區(qū)域,x表示網(wǎng)絡(luò)行為樣本數(shù)據(jù),P(X|[x])表示將一個(gè)網(wǎng)絡(luò)行為劃分到入侵區(qū)域的概率。
可以得到如下3條決策規(guī)則:①如果P(X|[x]) >α,則x∈POS(X)。將該網(wǎng)絡(luò)行為劃分到入侵行為區(qū)域中;②如果α≤P(X|[x]) ≤β,則x∈BND(X)。將該網(wǎng)絡(luò)行為劃分到邊界域中延遲決策,等待進(jìn)一步處理;③如果P(X|[x]) <β,則x∈NEG(X)。將該網(wǎng)絡(luò)行為劃分到正常行為區(qū)域中。
本文構(gòu)建的基于CNN-BiLSTM 和三支決策的入侵檢測(cè)方法,其整體流程主要包括3 個(gè)部分:對(duì)數(shù)據(jù)進(jìn)行預(yù)處理、通過(guò)CNN-BiLSTM 特征提取以及利用三支決策進(jìn)行判斷。算法整體流程如圖4所示。
在使用CNN-BiLSTM 進(jìn)行特征提取時(shí),具體提取步驟如下:
Step1:卷積層對(duì)預(yù)處理后的數(shù)據(jù)進(jìn)行卷積操作,特征提取。
Step2:池化層對(duì)卷積層輸出的數(shù)據(jù)進(jìn)行降維操作。
Fig.4 Algorithm overall flow圖4 算法整體流程
Step3:將CNN 提取到的特征送入BiLSTM 作為其輸入。
Step4:BiLSTM 對(duì)數(shù)據(jù)進(jìn)行長(zhǎng)距離依賴特征提取。
Step5:全連接層將前面提取到的局部特征進(jìn)行整合。
Step6:根據(jù)損失函數(shù)計(jì)算出預(yù)計(jì)值與實(shí)際值的誤差。
Step7:采用梯度下降法進(jìn)行反向傳播誤差,求出損失函數(shù)對(duì)每一個(gè)參數(shù)的梯度并更新網(wǎng)絡(luò)參數(shù),多次迭代后得到最終訓(xùn)練模型。
Step8:在訓(xùn)練模型中輸出提取的數(shù)據(jù)特征,即數(shù)據(jù)的低維表示。
在利用三支決策理論對(duì)網(wǎng)絡(luò)行為進(jìn)行分類時(shí),假設(shè)樣本集為X=(x1,x2,……,xn)。首先,求出樣本xi屬于正域的概率p(POS|xi),其中i=1,2,……,n。然后比較p(POS|xi)的值與決策閾值α、β的大?。喝绻鹥(POS|xi) >α,則將其劃分到正域中;如果p(POS|xi) <β,則將其劃分到負(fù)域中;如果α≤p(POS|xi) ≤β,則將其劃分到邊界域中。對(duì)于被劃分到邊界域中的網(wǎng)絡(luò)數(shù)據(jù),將其重新輸入到CNN-BiLSTM 模型中進(jìn)行特征提取,然后再次劃分。在邊界域內(nèi)不再有樣本存在之前,該決策過(guò)程將一直持續(xù)下去[15]。具體算法步驟如下:
輸入:訓(xùn)練集Tr,測(cè)試集Te
輸出:正域POS,負(fù)域NEG
1.初始化參數(shù):CNN-BiLSTM 特征提取方式G;
決策閾值α,β;
三支分類器f;
正域(POS)=?;負(fù)域(NEG)=?;邊界域(BND)=?
2.while 測(cè)試集Te不為空:
Tr=G(Tr);Te=G(Te);
根據(jù)Tr訓(xùn)練模型f;
由模型f得到Tr中的每個(gè)數(shù)據(jù)屬于正域的概率For eachp∈P,te∈Te:Ifp>α
3.輸出:正域POS,負(fù)域NEG
本文提出的入侵檢測(cè)模型主要分為兩部分,分別是特征提取模塊和三支決策模塊。在特征提取模塊中,基于CNN-BiLSTM 的特征提取模型屬于深度學(xué)習(xí)模型,由于描述深度學(xué)習(xí)時(shí)間復(fù)雜度的變量太多,無(wú)法準(zhǔn)確描述,通常并不計(jì)算深度學(xué)習(xí)模型的時(shí)間復(fù)雜度,假設(shè)這個(gè)模塊的時(shí)間復(fù)雜度為O(M)。在三支決策模塊中,假設(shè)算法的迭代次數(shù)是T,測(cè)試集中的數(shù)據(jù)個(gè)數(shù)為N,則第一次迭代時(shí),數(shù)據(jù)集為測(cè)試集的全部數(shù)據(jù),隨著迭代次數(shù)增加,測(cè)試集中的數(shù)據(jù)越來(lái)越少,當(dāng)測(cè)試集中的數(shù)據(jù)為空時(shí)停止迭代,則此模塊的時(shí)間復(fù)雜度為O(T*N)。因此,可以得到本文入侵檢測(cè)模型時(shí)間復(fù)雜度為O(M)+O(T*N)。
3.1.1 NSL-KDD 數(shù)據(jù)集
NSL-KDD 數(shù)據(jù)集中的每條數(shù)據(jù)包含41 個(gè)特征和1 個(gè)類標(biāo)簽。除正常行為外,各種類型的攻擊行為可以分為4類:DOS、R2L、U2R、PROBING[16]。NSL-KDD 數(shù)據(jù)集的行為類型分布如表2所示。
Table 2 NSL-KDD data set distribution表2 NSL-KDD數(shù)據(jù)集分布
3.1.2 CIC-IDS2017數(shù)據(jù)集
CIC-IDS2017 數(shù)據(jù)集包含良性和最新的常見攻擊[17],每條數(shù)據(jù)由79 個(gè)特征和1 個(gè)類標(biāo)簽組成。其數(shù)據(jù)采集時(shí)間范圍為2017 年7 月3 日(星期一)9 時(shí)至2017 年7 月7 日(星期五)下午5 時(shí),總共5 天。其中,星期一只采集到正常流量,周二到周五采集到攻擊,包括暴力FTP、暴力SSH、DoS、Heartbleed、Web 攻擊、滲透、僵尸網(wǎng)絡(luò)和DDoS。CICIDS2017數(shù)據(jù)集的行為類型分布如表3所示。
Table 3 CIC-IDS2017 data set distribution表3 CIC-IDS2017數(shù)據(jù)集分布
3.2.1 NSL-KDD 數(shù)據(jù)處理
(1)符號(hào)特征數(shù)值化。首先對(duì)非數(shù)值型的特征進(jìn)行標(biāo)簽編碼,再使用One-hot 編碼對(duì)標(biāo)簽編碼后的數(shù)據(jù)進(jìn)行處理。經(jīng)過(guò)處理,可以使得原來(lái)?yè)碛?1 個(gè)特征屬性和1 個(gè)類標(biāo)簽的數(shù)據(jù)集擴(kuò)展成為具有119 個(gè)特征屬性和1 個(gè)類屬性的數(shù)據(jù)集。
(2)數(shù)字特征歸一化。由于CNN-BiLSTM 模型要求輸入的數(shù)據(jù)在0~1 之間,因而要對(duì)特征作歸一化處理,按照如下公式進(jìn)行:
其中,x*是歸一化后的特征,x是待歸一化特征值,xmin是該特征的最小值,xmax是該特征的最大值。
3.2.2 CIC-IDS2017數(shù)據(jù)處理
(1)處理重復(fù)列。該數(shù)據(jù)集包含兩個(gè)重復(fù)的特征,即“Fwd Header Length”,刪除其中一列。
(2)處理缺失值。該數(shù)據(jù)集的缺失值均出現(xiàn)在“Flow Bytes/s”和“Flow Packets/s”特征中,由于缺省值的樣本非常少,因而直接刪除含有缺失值的樣本。
(3)處理數(shù)據(jù)不平衡問(wèn)題。由于“Web Attack Brute Force”“Web Attack Sql Injection”和“Web Attack XSS”3 種入侵類型樣本數(shù)量較少,將其合并成一個(gè)類型并命名為“Web Attack”,并且將“Thursday-WorkingHours-Morning-WebAttacks.pcap_ISCX.csv”、“Tuesday-WorkingHours.pcap_ISCX.csv”和“Friday-WorkingHours-Morning.pcap_ISCX.csv”這3 個(gè)文件合并成一個(gè)文件,可在一定程度上解決數(shù)據(jù)不平衡問(wèn)題。
(4)數(shù)據(jù)歸一化。處理方法同NSL-KDD 數(shù)據(jù)集。
本文使用準(zhǔn)確率(ACC)、誤報(bào)率(FPR)、檢出率(DR)、精確率(PR)、和F1 得分(F1)作為評(píng)估入侵檢測(cè)模型性能的指標(biāo)。計(jì)算公式如下:
其中,TP表示入侵行為被正確歸類到入侵行為,TN表示正常行為被正確歸類到正常行為;FP表示正常行為被錯(cuò)誤歸類到入侵行為,即誤報(bào);FN表示攻擊行為被錯(cuò)誤歸類到正常行為,即漏報(bào)。
3.4.1 NSL-KDD 樣本選取
本文選取5 個(gè)不同的子樣本集進(jìn)行實(shí)驗(yàn),并且將5 次實(shí)驗(yàn)結(jié)果的平均值作為最終結(jié)果進(jìn)行性能分析。選取的樣本數(shù)據(jù)子集的類型分布如表4所示。
Table 4 Five data sample subset data distribution表4 5個(gè)數(shù)據(jù)樣本子集數(shù)據(jù)分布
3.4.2 CIC-IDS2017樣本選取
由于CIC-IDS2017 數(shù)據(jù)集較大,本文選取1/3 的數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),樣本類型分布如表5所示。
Table 5 Sample data set distribution表5 樣本數(shù)據(jù)集分布
3.4.3 參數(shù)設(shè)置
本文選用主成分分析(PCA)、奇異值分解(SVD)、因子分析(FA)和深度神經(jīng)網(wǎng)絡(luò)(DNN)作為CNN-BiLSTM 的比較方法。
主成分分析PCA 的超參數(shù)設(shè)置為:最大數(shù)迭代次數(shù)1 000,最大允許誤差le-4,線性函數(shù)logcosh,成分?jǐn)?shù)量為35。奇異值分解SVD 的超參數(shù)設(shè)置為:隨機(jī)SVD 求解器的迭代次數(shù)5,成分?jǐn)?shù)量為35。因子分析的超參數(shù)設(shè)置為:最大數(shù)迭代次數(shù)1 000,最大允許誤差le-2,迭代次數(shù)3,成分?jǐn)?shù)量為35。DNN 的超參數(shù)設(shè)置為:最大迭代次數(shù)2 000,學(xué)習(xí)率為le-3。CNN-BiLSTM 的超參數(shù)設(shè)置為:卷積核個(gè)數(shù)為2,大小為3,記憶模塊數(shù)為4,各模塊細(xì)胞數(shù)為2,最大數(shù)迭代次數(shù)1 000,最大允許誤差le-4。
3.5.1 實(shí)驗(yàn)1
為了比較CNN-BiLSTM 特征提取算法與其它特征提取方法的性能,在同樣使用三支決策分類器的條件下,分別使用主成分分析(PCA)、奇異值分解(SVD)因子分析(FA)和深度神經(jīng)網(wǎng)絡(luò)(DNN)提取特征并作比較。在NSLKDD 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如表6 所示,其中CNN-BiLSTM-TWD 簡(jiǎn)寫為CBL-TWD。
Table 6 Experimental results of different feature extraction methods表6 不同特征提取方法的實(shí)驗(yàn)結(jié)果比較
從實(shí)驗(yàn)結(jié)果可以看出,CNN-BiLSTM-TWD 在準(zhǔn)確率(ACC)、檢出率(DR)、精確率(PR)和F1 分?jǐn)?shù)上優(yōu)于其他幾種特征提取方法,整體性能較好??梢哉f(shuō)明,本文所提的CNN-BiLSTM 方法具有更優(yōu)的特征提取能力。
3.5.2 實(shí)驗(yàn)2
為了比較三支決策算法和傳統(tǒng)二支分類算法檢測(cè)效果,在同樣使用CNN-BiLSTM 進(jìn)行特征提取下,分別使用支持向量機(jī)(SVM)、K 近鄰(KNN)、隨機(jī)森林(RF)和貝葉斯模型(BYS)對(duì)網(wǎng)絡(luò)行為分類。在NSL-KDD 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如表7所示。
從實(shí)驗(yàn)結(jié)果可以看出,基于三支決策(TWD)的分類算法在準(zhǔn)確率(ACC)、檢出率(DR)、精確率(PR)和F1 分?jǐn)?shù)上優(yōu)于其他幾種分類算法。這表明,使用基于三支決策理論的分類器,其入侵檢測(cè)性能優(yōu)于傳統(tǒng)基于二支決策的分類算法。
Table 7 Comparison of experimental results of different classification models表7 不同分類模型的實(shí)驗(yàn)結(jié)果比較
3.5.3 實(shí)驗(yàn)3
為了將本文算法與其他入侵檢測(cè)算法進(jìn)行比較,選取基于LDA 和極限學(xué)習(xí)機(jī)的入侵檢測(cè)模型(LDA-ELM)[18]、基于半監(jiān)督學(xué)習(xí)的入侵檢測(cè)模型(SSL)[19]、基于層疊非對(duì)稱深度自編碼器的入侵檢測(cè)方法(SNADE)[20]和基于時(shí)空特征的分層入侵檢測(cè)系統(tǒng)(HAST-IDS)[21]。在NSL-KDD數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如表8所示。
Table 8 Comparison 1 of experimental results of different algorithms表8 不同算法的實(shí)驗(yàn)結(jié)果比較1
從實(shí)驗(yàn)結(jié)果可以看出,本文所提的CNN-BiLSTMTWD 入侵檢測(cè)模型雖然在誤報(bào)率和精確率上表現(xiàn)稍顯不足,但在準(zhǔn)確率(ACC)、檢出率(DR)和F1 分?jǐn)?shù)上要優(yōu)于其他檢測(cè)方法。綜上表明,本文提出的基于三支決策的分類算法在綜合性能上優(yōu)于其他對(duì)比模型。
3.5.4 實(shí)驗(yàn)4
實(shí)驗(yàn)4 是在實(shí)驗(yàn)3 的基礎(chǔ)上,保持其他實(shí)驗(yàn)條件不變,將NSL-KDD 數(shù)據(jù)集替換成CIC-IDS2017 數(shù)據(jù)集。實(shí)驗(yàn)結(jié)果如表9所示。
Table 9 Comparison 2 of experimental results of different algorithms表9 不同算法的實(shí)驗(yàn)結(jié)果比較2
從實(shí)驗(yàn)結(jié)果可以看出,基于CNN-BiLSTM-TWD 的入侵檢測(cè)模型在準(zhǔn)確率(ACC)、檢出率(DR)、F1 分?jǐn)?shù)上優(yōu)于其他檢測(cè)方法。綜上表明,本文提出的入侵檢測(cè)模型優(yōu)于其他對(duì)比模型。
實(shí)驗(yàn)3 和實(shí)驗(yàn)4 表明,本文所提方法在兩種數(shù)據(jù)集中都表現(xiàn)出了優(yōu)越的入侵檢測(cè)性能,具有魯棒性。
本文提出一種基于CNN-BiLSTM 和三支決策的入侵檢測(cè)方法,通過(guò)CNN-BiLSTM 模型從樣本中提取特征,再利用三支決策理論,根據(jù)決策閾值對(duì)網(wǎng)絡(luò)行為進(jìn)行分類。對(duì)于劃分到邊界域中的數(shù)據(jù),利用CNN-BiLSTM 重新提取特征后再進(jìn)行分類,直到邊界域中不再有樣本為止。本文算法在特征提取和檢測(cè)分類上提高了入侵檢測(cè)性能,但是算法還有待改進(jìn)。例如,未考慮到邊界域中數(shù)據(jù)的時(shí)間成本問(wèn)題,當(dāng)邊界域中存在的樣本數(shù)量很少時(shí),仍會(huì)耗費(fèi)大量時(shí)間進(jìn)行決策,下一步將繼續(xù)深入研究邊界域的時(shí)間成本問(wèn)題。