?

基于半監督學習和三支決策的入侵檢測模型

2021-09-18 06:22張師鵬李永忠杜祥通
計算機應用 2021年9期
關鍵詞:分類器標簽樣本

張師鵬,李永忠,杜祥通

(江蘇科技大學計算機學院,江蘇鎮江 212100)

(*通信作者電子郵箱1099682749@qq.com)

0 引言

入侵檢測系統是保護信息和通信技術基礎設施免受網絡攻擊的最重要實體之一,是學術界和工業界不可忽視的研究主題[1]。隨著人工智能的迅猛發展,越來越多的機器學習模型被應用在入侵檢測領域的研究中。

楊宏宇等[2]提出了一種基于改進卷積神經網絡(Improved Convolutional Neural Network,ICNN)的入侵檢測模型,一定程度上解決了模型的過擬合問題;丁紅衛等[3]利用改進的和聲搜索方法(Harmony Search,HS)對反向傳播(Back Propagation,BP)神經網絡的初始值進行優化,提出了一種基于改進的HS 算法優化BP 神經網絡的入侵檢測模型;Zegeye等[4]提出了一種基于隱馬爾可夫模型等多種機器學習方法的多層入侵檢測模型,該模型可以解決維度災難問題;Xiao 等[5]針對誤檢率高且泛化能力差的問題,提出了基于深度卷積神經網絡的入侵檢測模型。

上述方法都是基于監督學習的入侵檢測模型,監督學習的特點是穩定,效果相對較好,但獲取大量的標注信息是一項巨大的工程。然而,當網絡遭受攻擊時,會產生大量未知攻擊的數據,如果單純地憑借人工進行標注,將會大大降低對于攻擊的檢測效率。

半監督學習在近些年中也越來越多地被用在了入侵檢測的領域中[6-7]。然而已有的基于半監督學習的入侵檢測模型大都是基于二支決策的,即對于一個網絡行為,應該立即對其作出決策,決定其是正常行為還是異常行為。在一些情況下,尤其是利用基于半監督學習的方法進行分類的過程中,分類器獲取到的信息不充足,若盲目對所有網絡行為作出決策,可能會出現大量錯誤;而且在基于半監督學習的分類方法進行分類的過程中,對于偽標記樣本的選擇沒有標準,這些問題可能都會導致分類器無法對所有的網絡行為作出一個合理的決策。

針對上述問題,本文提出了基于半監督學習(Semi-Supervised Learning,SSL)[8]和三支決策(Three-Way Decision,3WD)的入侵檢測模型——SSL-3WD?;谌Q策理論,在信息不足的情況可以采用延遲決策來保證對于已經作出決策的數據其所含信息是充分的,三支決策的這個特征可以用于滿足數據信息冗余性這個假設;利用三支決策理論進行分類得到的結果相較于傳統的二支決策得到的標記置信度更高,基于此,三支決策理論可以解決在選擇未標記樣本時難以選擇合適樣本這個難題。

表1為本文所使用符號的描述。

表1 符號描述Tab.1 Description of symbols

1 半監督學習

半監督學習(SSL)[8]的目標是利用大量未標記的數據來提高小數據集上監督學習的性能?;诜制绲陌氡O督學習[9]是目前主流的四種半監督學習范型的一種,關于基于分歧的半監督學習的研究開始于對協同訓練的研究[10]。假設數據集D=L∪U,其中L={(x1,y1),(x2,y2),…,(xm,ym)}是帶標簽的數據集,X={x1,x2,…,xm}是數據集L中的原始的屬性集,而Y={y1,y2,…,ym}為標簽;U=為無標簽的數據集。

定義1假設X1、X2分別表示兩種不同視角V1和V2的特征,即X1=V1(X),X2=V2(X),且在理想情況下當給定標簽Y,協同訓練需要滿足p(X1,X2|Y)=p(X1|Y)p(X2|Y)。假設Y=g(X)為需要學習的真實的映射函數,f1和f2分別為兩個視角的分類器,則

在協同訓練的過程中,利用通過不同視角的特征訓練得到的模型f1和f2在無標簽的數據集上進行預測,各選取預測置信度比較高的樣本加入訓練集中,重新訓練兩個不同視角的模型,并不斷地重復這個過程。

當f1=f2以及V1=V2時,協同訓練方法便退化成為自訓練方法。雖然目前相關研究都證明協同訓練方法充分利用了分類器之間的分歧,相對來說有更好的性能,然而在本文的實驗中發現,當與三支決策進行結合時,自訓練方法才是最合適的方法。相對協同訓練,自訓練方法更加簡單高效,而且不用考慮視圖的條件獨立性這個假設,通常情況下,這個假設并不能得到滿足,甚至連弱依賴性也不能滿足[8]。

2 三支決策

三支決策(3WD)理論來自粗糙集理論[11]。目前,人們普遍認為,粗糙集理論只是構造三支決策的許多可能方法之一[12]。

定義2假設S是一個有限非空實體集,C是有限條件集,三支決策通過一個映射f將有限非空實體集S劃分為3 個兩兩互不相交的域:POS、NEG和BND,即

其中:POS∪NEG∪BND=S,POS∩NEG∩BND=?。

POS、NEG、BND可用于生成三支決策的規則。具體而言:POS區域生成接受決策規則,即正域;NEG區域生成拒絕規則,即負域;而BND區域生成延遲決策規則,即邊界域。如何確定對象是否包含在特定區域中將取決于它滿足C中條件的程度。正域中的樣本滿足接受條件,負域由滿足或低于拒絕級別的對象組成,邊界域由滿足度高于拒絕級別但低于接受級別的對象組成。在基于三支決策理論的整個決策過程中(最后一步除外),有必要確定是否對當前對象作出最終決定,即對象是否屬于正域(POS)或負域(NEG),或當前對象應分類為邊界域(BND)。對于邊界域中的數據,在獲取其他信息之后,將重新評估邊界域。如果樣本可以分為正域或負域,則作出最終決定。對于某些樣本,最終決定需要再次推遲[13]。決策過程將繼續進行,直到將所有對象劃分為正域或負域為止。

對于一個樣本,存在三種可能的決策,即:接受(POS)、拒絕(NEG)和延遲決策(BND),并且存在樣本屬于某個域或不屬于該域兩種可能的狀態。根據這三個可能的決策和兩個可能的狀態,相關成本λ如表2所示。

表2 三支決策的決策損失函數Tab.2 Decision losst function of three-way decision

假設樣本x屬于集合的概率為P(C|x),將C定義為正域,而P(CC|x)則為樣本x不屬于域C的概率,即x屬于負域CC的概率。則:

1)如果P(C|x)>α,則x∈POS;

2)如果P(C|x)<β,則x∈NEG;

3)如果β≤P(C|x)≤α,則x∈BND。

假設0 ≤λPP≤λBP<λNP,0 ≤λNN≤λBN<λPN,根據文獻[14-15]的推演證明,可以得到如下兩個相關閾值的計算公式:

其中,0 ≤β≤α≤1??梢缘玫饺缦氯龡l應用到入侵檢測領域的規則:

1)如果P(C|x)>α,則該網絡行為被歸為正類,即該網絡行為是入侵行為;

2)如果P(C|x)<β,則該網絡行為被歸為負類,即該網絡行為是正常行為;

3)如果β≤P(C|x)≤α,則表示當前信息下,無法對該行為采取任何決策,則該行為需要被劃分到邊界域以等待進一步的處理。

三支決策為入侵檢測提供了一種有用的機制??紤]這一種情況,在大多數情況下入侵檢測是正確的,但偶爾會攔截某些正常行為或釋放某些入侵行為。重復發生此類錯誤將導致嚴重后果。作出錯誤分類決定的原因可能有多種,例如分類器的不合理設計和誤導的網絡行為等,一個重要的原因是用于決策的信息不完整且不充足。為了解決此類問題,可以采取三支決策,通過使用延遲選項,可以避免某些錯誤的分類。

3 本文模型SSL-3WD

3.1 入侵檢測模型設計

根據上文所闡述的半監督學習相關定理,假設數據集D1所含信息可以支撐分類器對k個無標簽的數據作出分類,通常情況下k

在半監督學習中,需要從未標記樣本中挑選出一定比率的樣本進行標記,并把這些帶有“偽標記”的樣本加入分類器的訓練集中,從而組成新的訓練集。然而在沒有標簽的前提下,如何挑選樣本是一個難題。目前有關半監督學習的研究中,并沒有在這一方面作出過多的闡述。本文提出利用三支決策理論來挑選由分類器給出“偽標記”的樣本。如上文所述,利用三支決策理論得到的正域和負域,可以認為當前有標簽的數據集所包含的信息是足以支撐分類器對這些樣本作出標記的,即從某種程度上可以信任對這些數據的標記,因此,可以選擇正域以及負域中的樣本與原有的訓練集組成新的訓練集,并利用得到的新的訓練集繼續對模型進行訓練,而此時,無標簽的樣本集為負域中的樣本組成的樣本集。上述訓練過程將一直持續下去,直至滿足停止條件,通常情況下,停止條件可以人為指定,可以指定訓練次數達到一定程度時訓練停止,也可以指定當負域中不存在樣本時停止訓練。

3.2 入侵檢測模型的算法流程

本文提出的基于半監督學習和三支決策的入侵檢測模型(SSL-3WD)的算法流程如算法1所示。

特征提取方式用于獲取原始數據集的低維表示。由于原始數據中包含大量冗余信息,這些信息對于分類效果產生了不好的影響,因此需要對原數據進行特征提取。相較于主成分分析方法(Principal Component Analysis,PCA)等傳統的線性特征提取方式,自編碼器[16]是一種非線性的特征提取方式,其提取到的特征更能抽象表示出原始數據的信息,故本文采用自編碼器這種非線性的特征提取方式。

分類器模型f用于獲取樣本屬于正域的概率,因此,對于f的選擇以選擇軟分類模型為宜,本文選用邏輯回歸作為分類器模型。邏輯回歸是一種軟分類模型,可以輸出每個樣本屬于某個類的概率。根據模邏輯回歸求出每一個數據屬于正類的概率p,并根據三支決策的理論,通過預先設置的兩個閾值α以及β將該數據歸為正域或者負域:若某個樣本屬于正域的概率p>α,則將該樣本劃歸為正域;若某個樣本屬于正域的概率p<β,則將該樣本劃歸為負域;若α

對于劃分到正域以及負域的樣本,則需要將其作為被選中的數據加入原有的訓練集組成新的有標簽的訓練數據集,而邊界域中的數據則作為無標簽的數據等待被重新劃分。重復上述步驟,直至不存在無標簽的數據。

從算法1 的流程可看出:本文算法在一個循環中完成,循環的結束條件為分類器對所有的無標記樣本作出一個合理的決策,由于在迭代過程中設置了一個強制程序終結的步驟,如第12)步,因此算法不會陷入無限的循環中。假設算法的迭代次數為T,而循環內部主要的時間消耗集中在特征提取,如第2)步,以及對分類器模型的訓練,并利用模型進行分類,如第3)~4)步,第5)步中的for 循環并不是主要的時間消耗,在整個外部循環中進行的次數也只為測試集的個數,即時間復雜度為O(M)。特征提取方式G(自編碼器)以及f分類器(多層感知機)都是深度學習模型,而隨著分布式計算的發展,通常并不計算深度學習模型的時間復雜度,因此并不能確定給出整個算法的時間復雜度,假設這兩部分的時間復雜度為O(N),則本文算法的時間復雜度可以表示為O(T?N+M),本文的數據不是大量的圖像數據,只是網絡行為數據,對于采用了分布式計算的深度學習模型來說,時間消耗在可接受范圍內。

3.3 三支決策閾值的設置

在決策的過程中,三支決策劃分三個域的關鍵在于決策閾值對的設置。通常情況下,對于損失函數,應該根據所分析問題以及實際情況的不同,根據專家經驗以及先驗知識進行設定。不同的問題對應不同的損失函數,不同的損失函數對應不同的劃分結果。本文將三支決策理論應用于入侵檢測的領域,用于確定一個網絡行為屬于正常行為還是異常行為,則損失函數的選取就要植根于入侵檢測的領域中。根據經驗可得,將一個正常的網絡行為誤認為異常行為所產生的代價要遠低于將一個異常行為誤認為正常行為所產生的代價,故可根據經驗設置各損失函數如表3所示。

表3 據經驗設置的三支決策損失函數值Tab.3 Setting of loss functions of three-way decision based on experience

4 實驗結果和分析

4.1 實驗數據

本文實驗所采用的數據集有兩個,分別是NSL-KDD 數據集以及UNSW-NB15數據集。NSL-KDD數據集由41個特征屬性和1 個類屬性組成。KDD 數據集包括訓練集和測試集兩種,總共包含38種攻擊,其中訓練集包含22種攻擊,而測試集中包含訓練集中的20種攻擊,除此之外還包含17種不在訓練集中的攻擊類型。因此可以使用測試集測試入侵檢測方法在未知攻擊上的表現。38種攻擊類型可以分為4種主要的攻擊類型:拒絕服務攻擊(Denial of Service,DoS)、遠程攻擊(Remote-to-Login,R2L)、本地用戶非法提升權限的攻擊(User-to-Root,U2R)以及網絡刺探(Probe)。UNSW-NB15 數據集包含許多現代網絡的新攻擊,可以將其分為1 個正常類和9個攻擊類[17]。在本文的實驗中,數據分布如表4所示。

表4 不同數據集的數據分布Tab.4 Data distribution of different datasets

數據不能直接用于訓練,原始數據包含類別特征,而類別特征大多都是用字符串進行表示的,因此需要進行數值化處理。

以字符串類型表示的類數據需要進行數值化處理,數值化處理最簡單的方法是序號編碼,以屬性protocol_type 為例,它的屬性值為(TCP,UDP,ICMP),則可以表示為(1,2,3)。然而利用序號編碼處理過的數據有了大小關系,例如按照上文處理會得到ICMP>UDP>TCP 的處理結果,這種大小關系并不是該屬性的性質,所以采用獨熱編碼進行編碼。

原始數據所處的量綱不同,自編碼器在訓練過程中要使用梯度下降法,若每列屬性的取值范圍相差過大,會影響算法的性能,還有可能帶來意想不到的錯誤,因此要進行歸一化處理。

線性函數歸一化是一種常見的歸一化方法,也被稱為Min-Max 歸一化,通過這種歸一化方法可以將數據歸一到[0,1]區間內,歸一化的計算如式(5)所示:

其中:x是第i個屬性列的一個值;mini是第i個屬性列的最小值;maxi是第i個屬性列的最大值。

4.2 評價指標

選擇準確率ACC(ACCuracy)、誤報率FPR(False Positive Rate)、檢出率DR(Detection Rate)與F1值作為評判指標。

評價指標的計算公式如下。

其中:TP(True Positives)和TN(True Negatives)分別表示攻擊記錄和正常記錄已正確分類;FP(False Positives)代表被誤認為是攻擊的正常記錄;FN(False Negatives)代表錯誤分類為正常記錄的攻擊記錄。

4.3 參數設置

對于三支決策的損失函數的設置已經給出,表5 給出了SSL-3WD模型在工作的工程中所使用的自編碼器參數。

表5 自編碼器的參數設置Tab.5 Setting of parameters of autoencoder

4.4 對比模型

對比模型包括:文獻[18]提出的一種基于深度堆疊自編碼器(Stack Nonsymmetric Deep Autoencoder,SNDAE)的入侵檢測模型;文獻[19]提出的一種基于深度學習(Deep Learning)和半監督學習的入侵檢測模型DL-SSL;文獻[20]提出的一種基于自編碼器(Autoencoder,AE)和支持向量機(Support Vector Machine,SVM)的入侵檢測模型AE-SVM;文獻[21]通過調整訓練數據的比例并設置多個決策樹提出的一種自適應的集成學習入侵檢測模型Multi-Tree。

4.5 在NSL-KDD數據集的實驗結果

對于一個入侵檢測模型來說,檢測出入侵行為才是最主要的,因此在實驗的過程中,把所有的入侵行為的標記設為1,正常樣本的標記設為0。

SSL-3WD 模型通過多步決策對所有的網絡行為進行分類,每一步都得到一個對當前的正域以及負域(已經作出確定決策的樣本)的分類結果,如圖1 所示為得到的各步的準確率。

圖1 各決策步驟的準確率變化Fig.1 Accuracy change of each decision step

從圖1 中可以看到,隨著決策步驟的增加,準確率在下降。假設第i次得到的準確率為a,第i+1 次得到的準確率為b,則一般情況下b要小于a。因為,根據三支決策理論,一個樣本越難以被決策,則對其作出錯誤決策的可能性就越大,而隨著決策步驟的增加,對于邊界域中的決策很難達到上一次決策所得到的準確率,因此準確率呈現出一個下降的趨勢,但是作出正確決策的樣本的數量是不斷增加的。

表6為各個模型在NSL-KDD測試集上的性能表現。本實驗在選擇數據集時,令訓練集與測試集中的樣本數量基本保持一致,即對于分類器模型來說,所獲取的信息是不充足的。通過這種數據選擇的方式更能體現出SSL-3WD 模型的優秀表現。

表6 在NSL-KDD測試集上的實驗結果 單位:%Tab.6 Experimental results on NSL-KDD test set unt:%

從表6 可以看出,本文模型SSL-3WD 的所有指標都是最優,準確率達到了96.1%,檢出率達到了97.7%,誤報率低至2.4%,F1值達到了96.6%。檢出率相較于對比模型中表現最好的Multi-Tree提升了5.8個百分點。

從實驗結果可以看出,SSL-3WD 模型不僅要優于對比模型中的幾種監督學習模型,而且要優于同樣使用了半監督學習的DL-SSL 模型。SSL-3WD 模型基于三支決策理論完成偽標記樣本的選擇,這種選擇方式要優于DL-SSL的隨機選擇。

圖2為根據幾種模型ROC的實驗結果得到的受試者特征圖(Receiver Operating Characteristic,ROC)曲線圖,ROC 曲線也可以綜合反映出一個模型的表現。每條曲線圍成所圍成的面積被稱為AUC(Area Under Curve),AUC越大代表一個模型的綜合性能越好。從圖2 可以看出,本文模型SSL-3WD 的AUC達到了0.99,是幾種對比模型中最高的。

圖2 在NSL-KDD數據集上進行測試得到的ROC曲線圖Fig.2 ROC curve obtained by test on NSL-KDD test set

為了驗證實驗數據的規模對于SSL-3WD 模型的影響,在本文原本使用的訓練集上作了調整,分別使用訓練集的20%、40%、60%、80%、100%作為訓練數據,分別記為訓練集1、2、3、4、5,實驗數據分布如表7所示。

表7 不同比例的訓練集的數據分布Tab.7 Data distribution of train data with different proportions

由于U2R 攻擊類型的數據極少,因此在選擇數據時會選擇所有攻擊類型為U2R 的數據。利用以上訓練集對模型進行訓練,并在測試集上進行測試,可以得到如表8 所示的測試結果。

表8 在比例不同的訓練集訓練的測試結果 單位:%Tab.8 Test results with training datasets with different proportions unit:%

從表8 中可以看出,SSL-3WD 模型隨著數據的增多,性能在逐漸地變好,檢出率在不斷地增加,誤報率在不斷地減小,且模型變好的趨勢比較明顯。也在一定程度上說明了模型的魯棒性較好。

4.6 在UNSW-NB15的實驗結果

和在NSL-KDD 數據集上的實驗一樣,在實驗的過程中依舊將異常數據的標簽置為1,正常行為的標簽置為0,可以得到如表9所示的實驗結果。

表9 在UNSW-NB15測試集上的實驗結果 單位:%Tab.9 Experimental results on UNSW-NB15 test set unit:%

在UNSW-NB15 的表現相較于在NSL-KDD 數據集上的性能表現,各個模型都有一定的下降,但是下降幅度都非常小。從表9 中數據可以看出,SSL-3WD 模型的性能表現還是最優的,其檢出率達到了96.3%,與比較方法中表現最好的基于深度堆疊非對稱自編碼器(SNDAE)的入侵檢測模型比較,分別提升了3.5 個百分點和6.2 個百分點;此外,誤報率低至3.2%,F1值達到了95.6%。

圖3 為幾種模型的ROC 曲線圖。從圖3 可以看出,SSL-3WD 的AUC為0.98,是幾種模型中最高的,也佐證了SSL-3WD模型是幾種模型中較優的。

圖3 在UNSW-NB15數據集上進行測試得到的R0C曲線圖Fig.3 ROC curve obtained by test on UNSW-NB15 dataset

5 結語

本文提出了一種基于半監督學習和三支決策的入侵檢測方法SSL-3WD。通過三支決策理論來改善半監督學習在信息的冗余性以及“偽標記”樣本的選擇這兩個情形上的不足。仿真實驗結果表明,基于半監督學習和三支決策的入侵檢測方法要好于對比方法。

當使用三支決策理論挑選“偽標記”樣本的過程中,不可避免地會選擇一些標記錯誤的樣本,如何盡可能地去除這些被錯誤標記的樣本是接下來的研究應該注意的一個方向。

猜你喜歡
分類器標簽樣本
少樣本條件下基于K-最近鄰及多分類器協同的樣本擴增分類
學貫中西(6):闡述ML分類器的工作流程
基于樸素Bayes組合的簡易集成分類器①
一種自適應子融合集成多分類器方法
規劃·樣本
不害怕撕掉標簽的人,都活出了真正的漂亮
人大專題詢問之“方城樣本”
隨機微分方程的樣本Lyapunov二次型估計
讓衣柜擺脫“雜亂無章”的標簽
科學家的標簽
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合