張師鵬,李永忠
(江蘇科技大學(xué)計(jì)算機(jī)學(xué)院,鎮(zhèn)江 212100)
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,尤其是5G 等技術(shù)的成功應(yīng)用,網(wǎng)絡(luò)越來(lái)越多地改變著人們的生活。在以網(wǎng)絡(luò)構(gòu)建的互聯(lián)網(wǎng)中,每天都在傳輸用戶的大量隱私,因此對(duì)互聯(lián)網(wǎng)的攻擊每天都在發(fā)生,如何確保網(wǎng)絡(luò)的安全,已經(jīng)成為學(xué)術(shù)界以及企業(yè)界都在關(guān)注的研究方向。檢測(cè)入侵是確保網(wǎng)絡(luò)安全的一個(gè)重要的步驟,入侵檢測(cè)系統(tǒng)是對(duì)入侵行為進(jìn)行檢測(cè)的重要安全機(jī)制之一,它可以監(jiān)測(cè)活動(dòng)的網(wǎng)絡(luò)流量并識(shí)別出可疑或者異常的網(wǎng)絡(luò)行為[1],因此對(duì)于入侵檢測(cè)的研究一直都是一個(gè)網(wǎng)絡(luò)信息安全領(lǐng)域的一個(gè)重要的研究方向。
隨著人工智能等技術(shù)的發(fā)展,研究人員逐漸發(fā)現(xiàn)了機(jī)器學(xué)習(xí)等算法在入侵檢測(cè)領(lǐng)域的應(yīng)用前景,基于機(jī)器學(xué)習(xí)算法的模型可以通過(guò)經(jīng)驗(yàn)的累積自動(dòng)提升性能,符合入侵檢測(cè)系統(tǒng)針對(duì)外部入侵行為通過(guò)自我學(xué)習(xí)進(jìn)行入侵檢測(cè)的原則[2?3],因此機(jī)器學(xué)習(xí)算法越來(lái)越多地被應(yīng)用到入侵檢測(cè)的研究中。例如,Zhou 等[4]基于改進(jìn)的曲線下面積自適應(yīng)增強(qiáng)算法構(gòu)建了入侵檢測(cè)模型,該模型可以更有效地檢測(cè)網(wǎng)絡(luò)入侵;Alzubi 等[5]提出了一種改進(jìn)的特征選擇算法并應(yīng)用于入侵檢測(cè)模型,提升了入侵檢測(cè)系統(tǒng)的性能;Tao 等[6]根據(jù)遺傳算法和支持向量機(jī)的特點(diǎn),提出了基于遺傳算法和支持向量機(jī)的入侵檢測(cè)算法,加快了算法的收斂速度,提升了檢出率,降低了誤報(bào)率;Zhao 等[7]針對(duì)基于神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)模型訓(xùn)練時(shí)間長(zhǎng),易陷入局部最優(yōu)等不足提出了一種基于深度信念網(wǎng)絡(luò)和概率神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)方法,利用深度信念網(wǎng)絡(luò)獲取原始數(shù)據(jù)的低維表示,并利用概率神經(jīng)網(wǎng)絡(luò)進(jìn)行分類(lèi)。
研究人員關(guān)于機(jī)器學(xué)習(xí)算法在入侵檢測(cè)領(lǐng)域的應(yīng)用取得了一定的成果,也為未來(lái)的研究開(kāi)辟了道路。然而目前已有的基于機(jī)器學(xué)習(xí)(包括深度學(xué)習(xí))的入侵檢測(cè)模型的分類(lèi)方法都是基于傳統(tǒng)的二支決策。所謂二支決策,即對(duì)于每一個(gè)待分類(lèi)的樣本數(shù)據(jù),無(wú)論分類(lèi)器所學(xué)習(xí)到的信息是否足夠,都會(huì)立即對(duì)該樣本做出一個(gè)確定的決策,例如對(duì)于一個(gè)網(wǎng)絡(luò)行為數(shù)據(jù),分類(lèi)器會(huì)將其立即打上入侵或者正常的標(biāo)簽。這種決策方式忽略了信息不足帶來(lái)的影響,但是如果分類(lèi)器所獲取的信息不足,對(duì)于某些樣本數(shù)據(jù)分類(lèi)器可能并不能立即做出一個(gè)合理的決策,盲目進(jìn)行決策會(huì)導(dǎo)致出錯(cuò)。本文提出了一種基于三支決策的入侵檢測(cè)算法,當(dāng)信息不足時(shí),根據(jù)三支決策理論,可以對(duì)要分類(lèi)的樣本數(shù)據(jù)延遲決策,從而降低信息不足的情況下盲目決策所產(chǎn)生的負(fù)面影響。而對(duì)于采取延遲決策的樣本數(shù)據(jù),若要對(duì)其做出一個(gè)合理的決策,則需要獲取新的信息。導(dǎo)致信息不足的最主要的原因在于訓(xùn)練數(shù)據(jù)的不充足,因此在決策的過(guò)程中利用條件生成對(duì)抗神經(jīng)網(wǎng)絡(luò)(Condi?tional generative adversarial nets,CGANs)[8]生成新的樣本數(shù)據(jù)用于訓(xùn)練,會(huì)為分類(lèi)器模型提供更多的新的信息,從而對(duì)延遲決策的樣本做出最終的決策。
CGAN 是在生成式對(duì)抗網(wǎng)絡(luò)(Generative ad?versarial nets,GANs)[9]的基礎(chǔ)上發(fā)展而來(lái)的。GAN 在生成樣本數(shù)據(jù)的時(shí)候?qū)ι善鲙缀鯖](méi)有任何的約束,因此生成過(guò)程過(guò)于自由。而CGAN 改善了GAN 在生成數(shù)據(jù)中過(guò)于自由的問(wèn)題,可以使生成過(guò)程按照既定的方向前進(jìn),即利用CGAN 可以生成指定標(biāo)簽的數(shù)據(jù),可以把CGAN 看作是一種對(duì)GAN 加了條件約束的變種GAN。CGAN 的理論推導(dǎo)和GAN 相似,區(qū)別在于CGAN 中的生成器G以及判別器D都被加上一個(gè)隱含的標(biāo)簽y,y是一種約束,通過(guò)y可以生成指定標(biāo)簽(類(lèi)型)的樣本。目標(biāo)函數(shù)的公式為
式中:?為生成器網(wǎng)絡(luò)G的參數(shù);θ為判別器網(wǎng)絡(luò)D的參數(shù)。對(duì)于參數(shù)的更新一般都是通過(guò)梯度下降算法。
式(1)中,右邊第1 項(xiàng)是判別器網(wǎng)絡(luò)需要優(yōu)化的目標(biāo)函數(shù),第2 項(xiàng)為生成器網(wǎng)絡(luò)需要優(yōu)化的目標(biāo)函數(shù)。兩個(gè)目標(biāo)函數(shù)一般為交叉熵?fù)p失函數(shù),式(1)是通過(guò)將生成網(wǎng)絡(luò)的目標(biāo)函數(shù)以及判別網(wǎng)絡(luò)的目標(biāo)函數(shù)進(jìn)行合并而得到的,具體的推導(dǎo)步驟可參見(jiàn)文獻(xiàn)[8,9]。
三支決策[10]是近些年來(lái)在學(xué)術(shù)界得到關(guān)注的一種新的理論方法。三支決策是傳統(tǒng)的二支決策理論的一個(gè)推廣,三支決策理論在接受(正)以及拒絕(負(fù))之外增加了一個(gè)延遲決策的選項(xiàng),通常將被采取接受決策的數(shù)據(jù)所組成的區(qū)域稱為正域(POS),將被采取拒絕決策的數(shù)據(jù)組成的區(qū)域稱為負(fù)域(NEG),而被延遲決策的數(shù)據(jù)則被稱為邊界域(BND)。
對(duì)于一個(gè)二分類(lèi)問(wèn)題,真實(shí)的分類(lèi)標(biāo)簽可以表示為P(正),N(負(fù)),用一個(gè)狀態(tài)集Ω= {X,?X}來(lái)表示。三支決策的決策集可以表示為D={DP,DB,DN},分別表示接受決策,邊界決策以及拒絕決策。所有決策的代價(jià)損失函數(shù)如表1 所示。記λPP,λBP,λNP分別表示當(dāng)前數(shù)據(jù)屬于X的時(shí)候,采取行動(dòng)DP,DB以及DN時(shí)的損失,λPN,λBN,λNN分別表示當(dāng)前數(shù)據(jù)不屬于X的時(shí)候,采取行動(dòng)DP,DB以及DN時(shí)的損失。
表1 三支決策的代價(jià)函數(shù)Table 1 Cost function of three?way decisions
假設(shè)0 ≤λPP≤λBP<λNP,0 ≤λNN≤λBN<λPN,根據(jù)文獻(xiàn)[11]的推演證明,可以得到如下2 個(gè)相關(guān)閾值的計(jì)算公式
式中0 ≤β≤α≤1。可以得到如下3 條應(yīng)用到入侵檢測(cè)領(lǐng)域的規(guī)則:
(1)如果P(X|[x] ) >α,則該網(wǎng)絡(luò)行為被歸為正類(lèi),即該網(wǎng)絡(luò)行為是入侵行為;
(2)如果P(X|[x] ) <β,則該網(wǎng)絡(luò)行為被歸為負(fù)類(lèi),即該網(wǎng)絡(luò)行為是正常行為;
(3)如果β≤P(X|[x] ) ≤α,則表示當(dāng)前信息下,無(wú)法對(duì)該行為采取任何決策,則該行為需要被劃分到邊界域以等待進(jìn)一步的處理。
[x]表示樣本在屬性集下的等價(jià)類(lèi),P(X|[x] )表示將等價(jià)類(lèi)[x]分為X的概率,在入侵檢測(cè)的領(lǐng)域則表示為一個(gè)網(wǎng)絡(luò)行為屬于入侵行為的概率。
本文利用深度生成模型CGAN 以及三支決策理論,提出了一種基于數(shù)據(jù)增廣和三支決策的入侵檢測(cè)算法CGAN?3WD。
算法模型主要由兩部分組成:(1)利用CGAN生成樣本數(shù)據(jù)的過(guò)程;(2)基于三支決策理論進(jìn)行分類(lèi)的過(guò)程。
假設(shè)原始的訓(xùn)練集為T(mén)r,測(cè)試集為T(mén)e,分類(lèi)器為f,則f的目的是將Te中的每個(gè)樣本數(shù)據(jù)都做出盡可能準(zhǔn)確的決策,假設(shè)f對(duì)Te做出的最終決策集合為Y,則Y=POS ∪NEG,其中POS 為正域,NEG 為負(fù)域,若Y不是最終的決策集合,則Y=POS ∪NEG ∪BND,其中BND 為邊界域,即被采取延遲決策的樣本數(shù)據(jù)的集合,而在最終的決策之前,BND=POS ∪NEG ∪BND,BND 為在BND基礎(chǔ)上得到的新的邊界域。
算法1 為基于三支決策和數(shù)據(jù)增廣的入侵檢測(cè)算法的步驟。
算法1 基于三支決策和數(shù)據(jù)增廣的入侵檢測(cè)算法
2:輸出POS ∪NEG。
在算法流程的初始階段,訓(xùn)練集代表原始的訓(xùn)練集,首先通過(guò)原始的訓(xùn)練集對(duì)分類(lèi)器模型f進(jìn)行訓(xùn)練,由于在實(shí)驗(yàn)的過(guò)程中要計(jì)算出每個(gè)網(wǎng)絡(luò)行為數(shù)據(jù)屬于正域的概率,因此對(duì)于分類(lèi)器的選擇以軟分類(lèi)模型為主,本文選擇多層感知機(jī)模型作為基分類(lèi)器。通過(guò)基分類(lèi)器f,會(huì)得到每個(gè)網(wǎng)絡(luò)行為數(shù)據(jù)屬于正域的概率p,將p與閾值α,β進(jìn)行比較,如算法1 中的1.3 步驟的表述,可以將所有的測(cè)試集中的樣本數(shù)據(jù)劃分到正域、負(fù)域以及邊界域中。而后,令邊界域中的數(shù)據(jù)組成新的測(cè)試集,并對(duì)閾值α,β調(diào)整,減小α,增大β,如算法1 中步驟1.5 所示。假設(shè)第i次迭代產(chǎn)生的邊界域?yàn)锽ND1,第i+1 次迭代產(chǎn)生的邊界域?yàn)锽ND2,則BND2 中的樣本數(shù)據(jù)相對(duì)于BND1 中的樣本數(shù)據(jù)更難劃分;若閾值一直保持不變,則可能會(huì)出現(xiàn)部分?jǐn)?shù)據(jù)最終難以被劃歸到任何一個(gè)確定的域中。因此,適當(dāng)?shù)貙?duì)閾值做出調(diào)整令樣本數(shù)據(jù)被劃歸到正域以及負(fù)域中的條件逐漸變寬,不僅可以保證最終所有的樣本數(shù)據(jù)都被劃歸到正域以及負(fù)域中,而且可以降低迭代所產(chǎn)生的時(shí)間代價(jià)。在調(diào)整閾值的過(guò)程中,以0.01 作為一個(gè)調(diào)整單位,并利用參數(shù)ρ控制調(diào)整的速度,為了能夠讓?duì)粒峦瑫r(shí)靠近0.5,在調(diào)整的過(guò)程中,以α的調(diào)整為基準(zhǔn),為β的調(diào)整參數(shù)乘以(α-0.5 )(0.5-β),從而控制α,β可以同時(shí)靠近0.5。如果α≤0.5 或者β≥0.5,則會(huì)根據(jù)普通的二分類(lèi)模型的標(biāo)準(zhǔn),將樣本數(shù)據(jù)強(qiáng)制歸為正域或者負(fù)域,并結(jié)束程序的運(yùn)行。如果上述情況沒(méi)有出現(xiàn),則邊界域的存在會(huì)觸發(fā)CGAN 模型,當(dāng)前的訓(xùn)練集被用于訓(xùn)練CGAN 模型的數(shù)據(jù)集,經(jīng)過(guò)訓(xùn)練后,CGAN 模型會(huì)根據(jù)相應(yīng)標(biāo)簽生成新的樣本數(shù)據(jù),而后將生成的樣本數(shù)據(jù)與之前選擇的樣本數(shù)據(jù)組成新的訓(xùn)練集Tr,用于下一輪對(duì)分類(lèi)器模型的訓(xùn)練。
在基于三支決策理論進(jìn)行分類(lèi)決策的過(guò)程中,有一個(gè)重要的環(huán)節(jié),即利用CGAN 完成的數(shù)據(jù)增廣。CGAN 在生成數(shù)據(jù)的過(guò)程中可以根據(jù)標(biāo)簽生成相應(yīng)的數(shù)據(jù)。
算法1 中的步驟1.7 以及1.8 是基于CGAN 的數(shù)據(jù)增廣過(guò)程,可以擴(kuò)展為如算法2 所示的步驟。
算法2 基于CGAN 的數(shù)據(jù)增廣
CGAN 由生成器G以及判別器D組成,在對(duì)生成器G進(jìn)行訓(xùn)練的過(guò)程中需要對(duì)判別器D的參數(shù)進(jìn)行固定,而對(duì)判別器D進(jìn)行訓(xùn)練的過(guò)程中需要對(duì)生成器G進(jìn)行固定。
本文是利用CGAN 生成網(wǎng)絡(luò)行為數(shù)據(jù)。輸入的訓(xùn)練數(shù)據(jù)集Tr是連接了每條網(wǎng)絡(luò)行為對(duì)應(yīng)標(biāo)簽的數(shù)據(jù)集。由于要生成固定數(shù)量的網(wǎng)絡(luò)行為,因此在生成數(shù)據(jù)的過(guò)程中,采用了生成多少數(shù)據(jù)就采樣多少噪聲的做法,噪聲采樣自標(biāo)準(zhǔn)正態(tài)分布,采樣后為噪聲打上相應(yīng)的標(biāo)簽,由于網(wǎng)絡(luò)行為數(shù)據(jù)的標(biāo)簽要么為1,要么為0,因此每條噪聲數(shù)據(jù)的標(biāo)簽要么為1,要么為0。生成的數(shù)據(jù)被用于處理邊界域中的樣本,因此生成數(shù)據(jù)的數(shù)量要與邊界域中數(shù)據(jù)的數(shù)量有關(guān)系,在本文的實(shí)驗(yàn)設(shè)置中,將生成樣本數(shù)量m設(shè)置為邊界域數(shù)量的3 倍,若邊界域中樣本數(shù)量的3 倍小于1 000,則默認(rèn)m為1 000,而后從原始的訓(xùn)練集中隨機(jī)選取數(shù)量為邊界域數(shù)量的2 倍的數(shù)據(jù),這個(gè)樣本數(shù)量的最小值默認(rèn)設(shè)置為500,隨機(jī)選取的樣本與生成樣本的樣本數(shù)據(jù)組合成新的訓(xùn)練集用于訓(xùn)練分類(lèi)器。
在基于CGAN 進(jìn)行樣本擴(kuò)增的過(guò)程中,邊界域的存在會(huì)觸發(fā)CGAN,對(duì)CGAN 的使用不止一次,因此在每次使用CGAN 時(shí),會(huì)將上次使用的CGAN 的參數(shù)作為本次CGAN 的初始化參數(shù),即除第一次外,每一次都只需對(duì)CGAN 進(jìn)行微調(diào)即可。網(wǎng)絡(luò)行為本身相似性較大,通過(guò)微調(diào)CGAN網(wǎng)絡(luò)即可得到生成的網(wǎng)絡(luò)行為數(shù)據(jù)。
本文所提出的是基于三支決策和數(shù)據(jù)增強(qiáng)的入侵檢測(cè)算法,其中基于CGAN 實(shí)現(xiàn)數(shù)據(jù)增強(qiáng),基于三支決策理論進(jìn)行分類(lèi)。
本文實(shí)驗(yàn)所采用的數(shù)據(jù)集是NSL?KDD 數(shù)據(jù)集[12]。NSL?KDD 數(shù)據(jù)集由41 個(gè)特征屬性和1 個(gè)類(lèi)屬性組成。KDD 數(shù)據(jù)集包括訓(xùn)練集和測(cè)試集兩種,總共包含38 種攻擊,其中訓(xùn)練集包含22 種攻擊,而測(cè)試集中包含訓(xùn)練集中的20 種攻擊,除此之外還包含在訓(xùn)練集中沒(méi)有見(jiàn)過(guò)的17 種攻擊類(lèi)型。因此可以使用測(cè)試集測(cè)試入侵檢測(cè)方法在未知攻擊上的表現(xiàn)。38 種攻擊類(lèi)型可以分為以下4 種主要的攻擊類(lèi)型:拒絕服務(wù)攻擊(Dos)、遠(yuǎn)程攻擊(R2L)、本地用戶非法提升權(quán)限的攻擊(U2R)、網(wǎng)絡(luò)刺探(Probe)。
本文選擇準(zhǔn)確率A,誤報(bào)率F,檢出率D,查準(zhǔn)率PR與F1分?jǐn)?shù)F1作為評(píng)判指標(biāo)。評(píng)價(jià)指標(biāo)的計(jì)算公式如下
式中:TP 和TN 分別表示攻擊記錄和正常記錄已正確分類(lèi);FP 代表被誤認(rèn)為是攻擊的正常記錄;FN 代表錯(cuò)誤分類(lèi)為正常記錄的攻擊記錄。
實(shí)驗(yàn)中隨機(jī)選取選擇原始訓(xùn)練集中的20%作為訓(xùn)練集。由于攻擊類(lèi)型為U2R 的樣本數(shù)據(jù)極少,只有52 個(gè),因此在選擇數(shù)據(jù)集的時(shí)候,選取所有的攻擊類(lèi)型為U2R 的數(shù)據(jù)。實(shí)驗(yàn)數(shù)據(jù)的分布如表2 所示。
表2 數(shù)據(jù)分布Table 2 Data distribution
在本文的實(shí)驗(yàn)中,為了探究基于CGAN 的數(shù)據(jù)增強(qiáng)以及基于三支決策理論進(jìn)行分類(lèi)對(duì)實(shí)驗(yàn)結(jié)果的影響,進(jìn)行了消融實(shí)驗(yàn)。實(shí)驗(yàn)中在保證同樣使用基于三支決策的分類(lèi)方法的同時(shí),對(duì)比使用了基于CGAN 數(shù)據(jù)增強(qiáng)的入侵檢測(cè)算法CGAN?3WD與沒(méi)有使用數(shù)據(jù)增強(qiáng)的入侵檢測(cè)算法3WD;在保證同樣使用CGAN 擴(kuò)充數(shù)據(jù)的情況下對(duì)比使用了基于三支決策的入侵檢測(cè)算法與沒(méi)有使用基于三支決策的入侵檢測(cè)算法的實(shí)驗(yàn)結(jié)果,對(duì)比算法的分類(lèi)器分別選用了多層感知機(jī)(CGAN?MLP)。
本文所提出的方法CGAN?3WD 以及本節(jié)所提及的幾種對(duì)比方法的實(shí)驗(yàn)結(jié)果如表3 所示。從表3 中可以發(fā)現(xiàn),3 種方式在對(duì)入侵行為的檢出上達(dá)到的效果都非常好,而且檢測(cè)效果非常接近。3 種模型的檢出率都達(dá)到了93%以上,F(xiàn)1值都超過(guò)了94%,但基于CGAN?3WD 方法構(gòu)建的入侵檢測(cè)模型在這5 個(gè)指標(biāo)上的表現(xiàn)都要更好。
表3 消融實(shí)驗(yàn)結(jié)果Table 3 Results for ablation experiment
相對(duì)于沒(méi)有使用數(shù)據(jù)增強(qiáng)的3WD,CGAN?3WD 的表現(xiàn)更好,CGAN?3WD 模型擁有更低的誤報(bào)率的同時(shí)也擁有更高的檢出率。對(duì)于沒(méi)有使用數(shù)據(jù)增強(qiáng)方法的分類(lèi)器來(lái)說(shuō),原始數(shù)據(jù)所包含的信息非常不充分,尤其是在本文的實(shí)驗(yàn)中,訓(xùn)練集的樣本和測(cè)試集樣本的數(shù)量基本一致,這也說(shuō)明了分類(lèi)器模型不會(huì)通過(guò)訓(xùn)練集獲得充分的信息。對(duì)于沒(méi)有使用數(shù)據(jù)增強(qiáng)的基于三支決策的分類(lèi)方法來(lái)說(shuō),對(duì)于邊界域的處置,只能通過(guò)特征提取模型獲取到的多粒度的特征集。雖然這種方式在一定程度上可以解決邊界域,但是畢竟只是在原始的訓(xùn)練集上進(jìn)行特征提取。從數(shù)據(jù)層面來(lái)看,并沒(méi)有增加訓(xùn)練集的信息,只是對(duì)數(shù)據(jù)集從新的角度做了新的分析。
相比較同樣使用了基于CGAN 的數(shù)據(jù)增強(qiáng)但是沒(méi)有使用基于三支決策理論進(jìn)行分類(lèi)的方法,CGAN?3WD 在幾個(gè)評(píng)價(jià)指標(biāo)上的表現(xiàn)也要更好。兩種入侵檢測(cè)模型都使用了多層感知機(jī)模型作為分類(lèi)方法,但是利用了三支決策理論進(jìn)行分類(lèi)的CGAN?3WD 模型取得效果還是要優(yōu)于基于二支決策的CGAN?MLP。兩種入侵檢測(cè)模型都使用了CGAN 進(jìn)行數(shù)據(jù)擴(kuò)增,之所以會(huì)在對(duì)入侵行為的檢測(cè)上產(chǎn)生差異,主要是因?yàn)镃GAN?MLP 模型一開(kāi)始便是利用CGAN 生成的數(shù)據(jù)以及原始訓(xùn)練集對(duì)測(cè)試集中的樣本數(shù)據(jù)進(jìn)行分類(lèi)。因此,對(duì)于測(cè)試集中的部分原本可以被輕易分類(lèi)的樣本可能會(huì)因?yàn)樯蓴?shù)據(jù)的加入而產(chǎn)生不可控的類(lèi)似過(guò)擬合的現(xiàn)象,即CGAN?MLP 模型中的分類(lèi)器模型因?yàn)樘鐚W(xué)習(xí)到了生成的樣本數(shù)據(jù)中的信息,反而導(dǎo)致了分類(lèi)器模型對(duì)部分樣本數(shù)據(jù)進(jìn)行了錯(cuò)誤的分類(lèi)。對(duì)于一個(gè)分類(lèi)器來(lái)說(shuō),可能一次只能對(duì)要分類(lèi)器的數(shù)據(jù)集中的一部分做出合理的決策?;谌Q策理論的分類(lèi)方法,每一次分類(lèi)過(guò)程中都將原始的待分類(lèi)數(shù)據(jù)分為正域、負(fù)域以及邊界域。對(duì)于正域以及負(fù)域中的數(shù)據(jù),下一次的分類(lèi)已經(jīng)和它們沒(méi)關(guān)系,若是因?yàn)榈螖?shù)過(guò)多產(chǎn)生過(guò)擬合的問(wèn)題,通過(guò)這種方法也可以緩解過(guò)擬合所產(chǎn)生的影響。
圖1 為根據(jù)3 種入侵檢測(cè)模型的檢測(cè)結(jié)果得到的ROC 曲線圖,ROC 曲線以真陽(yáng)性率為縱坐標(biāo),假陽(yáng)性率為橫坐標(biāo)繪制的曲線,ROC 曲線可以被用于評(píng)判分類(lèi)以及檢測(cè)的結(jié)果的好壞。AUC 表示ROC 曲線下的面積,主要用于衡量模型的泛化性能。從圖中可以發(fā)現(xiàn),幾種模型得到的ROC 曲線圍成的面積非常接近,說(shuō)明3 種模型在對(duì)入侵行為的檢出上是非常接近的,但是CGAN?3WD 模型得到的AUC 面積要稍微大于另外兩種模型,說(shuō)明基于CGAN 完成的數(shù)據(jù)增廣以及基于三支決策理論的分類(lèi)都對(duì)入侵檢測(cè)產(chǎn)生了積極的影響。
圖1 ROC 曲線圖Fig.1 ROC curve
本節(jié)實(shí)驗(yàn)所探究的是本文提出的模型CGAN?3WD 與其他模型的性能對(duì)比。
3.5.1 對(duì)比方法
本文對(duì)比方法為:文獻(xiàn)[13]提出的一種PSO?XGBOOST 模型,該模型利用粒子群算法自適應(yīng)搜索XGBOOST 的最優(yōu)結(jié)構(gòu);文獻(xiàn)[14]提出的一種基于自適應(yīng)主成分(A?PCA)和增量極限學(xué)習(xí)機(jī)(I?ELM)的方法APCA?IELM,該方法自適應(yīng)地選擇網(wǎng)絡(luò)流量的相關(guān)特征,通過(guò)I?ELM 算法獲得最佳的檢測(cè)精度;文獻(xiàn)[15]提出的一種基于深度學(xué)習(xí)和半監(jiān)督學(xué)習(xí)的入侵檢測(cè)方法DL?SSL;文獻(xiàn)[16]提出的一種基于深度生成模型的半監(jiān)督入侵檢測(cè)方法SS?DGM。
3.5.2 在異常行為上的表現(xiàn)
在實(shí)驗(yàn)過(guò)程中,把所有入侵行為的標(biāo)記設(shè)為1,正常樣本的標(biāo)記設(shè)為0。不同模型得到的實(shí)驗(yàn)結(jié)果如表4 所示。
表4 性能對(duì)比實(shí)驗(yàn)結(jié)果Table 4 Results for performance comparison
從表4 中可以發(fā)現(xiàn),幾種入侵檢測(cè)模型取得的實(shí)驗(yàn)效果都不錯(cuò),準(zhǔn)確率都達(dá)到了90%以上,檢出率也都超過(guò)了85%,而最能夠反映出一個(gè)模型綜合性能的F1值也都超過(guò)了90%。實(shí)驗(yàn)數(shù)據(jù)表明,目前已有的入侵檢測(cè)方法在對(duì)入侵行為的檢出方面效果都不錯(cuò)。但是在誤報(bào)率上,有些模型卻表現(xiàn)得不盡如意,例如POS?XGBOOST 模型的誤報(bào)率達(dá)到了12%,已經(jīng)是一個(gè)非常高的數(shù)值。而本文提出的CGAN?3WD 模型在幾種評(píng)價(jià)指標(biāo)上的表現(xiàn)都是最好的,既做到了高檢出率又做到了低誤報(bào)率。
圖2 為根據(jù)幾種模型的實(shí)驗(yàn)結(jié)果繪制的ROC曲線圖。從ROC 曲線圖中也可以發(fā)現(xiàn),根據(jù)CGAN?3WD 模型的實(shí)驗(yàn)結(jié)果繪制的ROC 曲線的AUC 面積達(dá)到了0.99,是幾種模型中最高的,反映出CGAN?3WD 模型的泛化性能要好于其他幾種對(duì)比模型。
圖2 ROC 曲線圖Fig.2 ROC curve
3.5.3 在不同行為類(lèi)型上的表現(xiàn)
本節(jié)實(shí)驗(yàn)不僅要區(qū)分出正常的網(wǎng)絡(luò)行為和入侵行為,還要區(qū)分出入侵行為的具體類(lèi)型。具體做法:每次選擇一種類(lèi)型的入侵行為,將其標(biāo)記為1,其余的網(wǎng)絡(luò)行為標(biāo)記為0。本節(jié)實(shí)驗(yàn)中利用SMOTE 方法先對(duì)樣本數(shù)據(jù)比較少的攻擊行為進(jìn)行過(guò)采樣,而后用過(guò)采樣后的數(shù)據(jù)訓(xùn)練CGAN 模型,實(shí)驗(yàn)結(jié)果如表5 所示。
從表5 中可以發(fā)現(xiàn),幾種入侵檢測(cè)模型在對(duì)有些攻擊的檢測(cè)上表現(xiàn)不錯(cuò),如DOS,Probe,而對(duì)有些攻擊行為的檢測(cè)則相對(duì)很差,如U2R,R2L。這主要是因?yàn)橛?xùn)練集中攻擊類(lèi)型為R2L 以及U2R 類(lèi)型的樣本數(shù)據(jù)非常少,雖然在訓(xùn)練的過(guò)程中利用SMOTE 方法進(jìn)行了過(guò)采樣,但是SMOTE 過(guò)采樣方法本身就存在缺陷[17]。
表5 入侵實(shí)驗(yàn)結(jié)果對(duì)比Table 5 Results of intrusion behavior comparison
CGAN?3WD 模型和幾種對(duì)比方法比較,取得了比較好的效果。首先在對(duì)DOS 以及R2L 攻擊行為的檢測(cè)上,幾種模型的檢測(cè)結(jié)果都不錯(cuò),沒(méi)有出現(xiàn)特別差的情況。但是有些模型對(duì)Probe 攻擊的檢測(cè)效果并不是特別好,如DL?SSL,PSO?XG?BOOST;在對(duì)R2L 以及U2R 的檢測(cè)上幾種方法效果都不理想,其中也包括CGAN?3WD 模型。訓(xùn)練數(shù)據(jù)集的嚴(yán)重不平衡導(dǎo)致了幾種模型表現(xiàn)較弱,但是相比較而言,CGAN?3WD 模型對(duì)兩種攻擊的檢測(cè)效果較好,除了在對(duì)R2L 的檢出率上沒(méi)有達(dá)到最好的結(jié)果之外,其他的評(píng)價(jià)指標(biāo)在幾種對(duì)比方法中都是最好的。
本文提出了一種基于數(shù)據(jù)增廣和三支決策的方法CGAN?3WD,通過(guò)條件生成對(duì)抗網(wǎng)絡(luò)生成新的數(shù)據(jù)用以滿足三支決策對(duì)于信息的需求,經(jīng)過(guò)實(shí)驗(yàn)證明,本文提出的方法與對(duì)比方法比較,取得了比較好的結(jié)果。
在未來(lái)的工作中,可以考慮改進(jìn)生成模型,使得生成的樣本更加地具有多樣性。
南京航空航天大學(xué)學(xué)報(bào)2021年5期