王振東,王思如,王俊嶺,李大海
(江西理工大學 信息工程學院,江西 贛州 341000)
隨著互聯(lián)網(wǎng)的普及和計算機技術(shù)的更新發(fā)展,網(wǎng)絡(luò)中產(chǎn)生的數(shù)據(jù)規(guī)模愈發(fā)龐大,其中存在著大量的網(wǎng)絡(luò)攻擊行為威脅互聯(lián)網(wǎng)環(huán)境和網(wǎng)絡(luò)安全。再加之5G、云計算和物聯(lián)網(wǎng)等技術(shù)的廣泛應用,數(shù)據(jù)在互聯(lián)網(wǎng)中的傳輸速度極大提高,大數(shù)據(jù)時代來臨,其集中化、高透明、大規(guī)模的特征為信息安全維護帶來了巨大挑戰(zhàn)。因此,大數(shù)據(jù)背景下的網(wǎng)絡(luò)信息安全是目前各界聚焦的關(guān)鍵難題。為應對上述問題,防火墻作為一種安全設(shè)備被廣泛應用,通過管理員們所制定的安全規(guī)則防止某些數(shù)據(jù)流的傳播,提高了接收數(shù)據(jù)流的準確性。然而,僅憑借防火墻自身無法辨別出正常數(shù)據(jù)流和異常數(shù)據(jù)流,入侵檢測(Intrusion Detection,ID)作為具有主動防御能力并能動態(tài)檢測入侵行為的一種新型安全機制,已逐漸成為大數(shù)據(jù)時代下網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)。傳統(tǒng)入侵檢測方法對檢測效率、檢測規(guī)模、檢測體系結(jié)構(gòu)等存在某些限制,而智能入侵檢測技術(shù)應用模糊信息識別、規(guī)則產(chǎn)生式專家系統(tǒng)、數(shù)據(jù)挖掘、機器學習及深度學習等技術(shù),極大提高了入侵檢測率和檢測速度,最大可能地防御病毒入侵。
當前,入侵檢測技術(shù)相關(guān)研究大多聚焦在以下3 個方面:①基于數(shù)據(jù)挖掘的入侵檢測,如王意潔等[1]基于同一網(wǎng)絡(luò)威脅行為的預警間存在特定關(guān)系這一思想,應用數(shù)據(jù)挖掘算法尋找隱匿在數(shù)據(jù)分布背后的關(guān)系,并依據(jù)所發(fā)現(xiàn)的關(guān)聯(lián)信息數(shù)據(jù)對威脅行為序列進行重構(gòu);②基于機器學習的入侵檢測,Martins 等[2]提出對抗性機器學習方法被應用于入侵及惡意軟件檢測場景中,實驗結(jié)果表明,該方法在惡意軟件及入侵檢測中有效;③基于神經(jīng)網(wǎng)絡(luò)的入侵檢測,Yang 等[3]將改進的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)算法應用于無線網(wǎng)絡(luò)模型,并進行相應的入侵檢測,該算法優(yōu)化的模型與其他機器學習算法相比,在執(zhí)行效率和分類準確率等指標上均有良好效果,相比于傳統(tǒng)入侵檢測分類模型有明顯提升。Yang 等[4]針對物聯(lián)網(wǎng)安全問題,結(jié)合LM 算法優(yōu)化速度快、魯棒性強的特點,提出LM-BP 神經(jīng)網(wǎng)絡(luò)模型,并將其應用于入侵檢測系統(tǒng),該模型通過LM 算法對傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)的權(quán)值閾值進行優(yōu)化,再利用BP 算法對數(shù)據(jù)集進行分類,具有更高的檢測率和更低的虛警率,但學習速率較低。Wang 等[5]利用深度卷積神經(jīng)網(wǎng)絡(luò)(CNN)學習網(wǎng)絡(luò)數(shù)據(jù)流量的低層空間特征,然后利用LSTM 網(wǎng)絡(luò)學習高層時間特征,設(shè)計出一種新型網(wǎng)絡(luò)入侵檢測模型HAST-IDS,該模型通過多組基準測試,其結(jié)果表明HAST-IDS 在準確率、檢測率等方面均優(yōu)于其他已有方法,提高了入侵檢測實時性。
深度學習是神經(jīng)網(wǎng)絡(luò)的進一步發(fā)展,也是對人工智能技術(shù)的加強,它通過模仿人腦機制分析處理數(shù)據(jù),利用深度神經(jīng)網(wǎng)絡(luò),將模型處理得更為復雜,從而使模型對數(shù)據(jù)的理解更加深入,例如圖像、聲音和文本[6]。深度學習已經(jīng)在控制領(lǐng)域[7]、自然語言處理[8]、情感分析[9]等領(lǐng)域取得成效,這些成果也證明了深度學習是具有實用性的分類識別工具。在入侵檢測領(lǐng)域,Khan 等[10]提出兩階段深度學習模型,第一階段將網(wǎng)絡(luò)流量分為正常和異常兩類,第二階段將第一階段得到的特征狀態(tài)作為檢測的附加特征,該模型的優(yōu)點在于從無標記的網(wǎng)絡(luò)數(shù)據(jù)中提取有用的特征表示。Su 等[11]在注意力機制與雙向長短期記憶(BLSTM)的前提下,設(shè)計了交通異常檢測模型BAT,該模型可快速有效地提高異常檢測能力。Lee 等[12]開發(fā)了基于事件分析的人工智能系統(tǒng),用于處理數(shù)據(jù)并更好地運用不同的人工神經(jīng)網(wǎng)絡(luò)方法。
綜上,雖然上述模型在入侵檢測過程中展現(xiàn)出優(yōu)越的性能,但在大數(shù)據(jù)時代下,數(shù)據(jù)流量的高速傳輸和龐大規(guī)模這兩個特性要求入侵檢測模型必須具有良好的實時性,若不能及時處理高速傳輸?shù)木W(wǎng)絡(luò)流量,模型將出現(xiàn)嚴重時滯現(xiàn)象,無法抵御實時網(wǎng)絡(luò)的安全威脅。因此,上述模型還存在以下問題:①兩階段深度學習模型中第一階段在面對海量的網(wǎng)絡(luò)數(shù)據(jù)時會大幅增加時間成本;②僅在一個數(shù)據(jù)集上的測試結(jié)果不能展現(xiàn)模型的泛化性和可移植性;③模型評價指標系統(tǒng)單一,沒有其他評價指標進行交叉分析,不夠全面。對此,本文在大數(shù)據(jù)背景下提出了一種輕量級神經(jīng)網(wǎng)絡(luò)的入侵檢測模型(PCA-DELM),模型首先使用主成分分析方法(Principal Component Analysis,PCA)對含有正?;蚬舻木W(wǎng)絡(luò)數(shù)據(jù)進行降維處理,這在龐大的數(shù)據(jù)集上能大幅減少時間成本,加快分類速率。鑒于極限學習機優(yōu)秀的表征能力,將其引入到入侵檢測領(lǐng)域,結(jié)合自動編碼器(Auto Encoder,AE)對數(shù)據(jù)進行監(jiān)督分類,再在UNSW-NB15 數(shù)據(jù)集上進行二分類和多分類實驗,測試其入侵檢測性能并驗證模型可移植性,最后在實時網(wǎng)絡(luò)流量CIDDS-001 數(shù)據(jù)集上模仿驗證該模型在實際復雜的網(wǎng)絡(luò)中對入侵行為的檢測能力。以上實驗均通過多個評價指標交叉分析本文分類模型與傳統(tǒng)分類算法、經(jīng)典機器學習分類器分類結(jié)果,實驗結(jié)果表明,本文所提出的智能入侵檢測方法在準確率、精確率、真正率等指標上有顯著提高。
極限學習機(Extreme Learning Machine,ELM)[13]是一種針對于單隱層前饋神經(jīng)網(wǎng)絡(luò)(Single-hidden Layer Feedforward Neural Network,SLFN)[14]的機器學習算法。與傳統(tǒng)的SLFN 算法不同,ELM 可隨機選擇輸入層權(quán)重和隱藏層偏置,輸出層權(quán)重通過最小化由訓練誤差項和輸出層權(quán)重范數(shù)的正則項構(gòu)成的損失函數(shù),依據(jù)Moore-Penrose 廣義逆矩陣理論計算求出[15]。相比于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)需人工設(shè)置大量參數(shù),極限學習機訓練參數(shù)更少、學習速度更快、泛化能力更強。
給定有N個標記樣本數(shù)據(jù)的訓練集,k(xi,ti),xi=[xi1,…,xin]T∈Rn表示第i個樣本示例,ti=[ti1,…,tim]T∈Rm是每個樣本示例所對應的標簽,n表示訓練數(shù)據(jù)集的特征個數(shù),m表示訓練數(shù)據(jù)集的類別個數(shù)。若樣本xj對應第k類,則將標簽xj的第k個值設(shè)定為1,剩余(m-1)個值設(shè)成-1。如圖1所示,ELM 的網(wǎng)絡(luò)結(jié)構(gòu)和單隱層前饋神經(jīng)網(wǎng)絡(luò)相似。
Fig.1 ELM network structure圖1 ELM網(wǎng)絡(luò)結(jié)構(gòu)
包含L個隱藏節(jié)點的ELM 表示如下:
βi=[βi1,βi2,…,βi m]T是整個輸出層的權(quán)重系數(shù),βi1代表g1(x) 和ti1兩個神經(jīng)元之間的權(quán)重系數(shù),αi=[αi1,αi2,…,αi m]T是連接輸入層和第i個隱含層的輸入權(quán)重,bi是第i個隱藏層的偏置,G(αi,bi,xj)是第i個隱藏層的輸出矩陣。若第i個隱藏層的激活函數(shù)為g(x),則隱藏層的輸出為:
式(1)用矩陣形式表示為:
為達到輸出數(shù)據(jù)的期望值,訓練網(wǎng)絡(luò)后需得出參數(shù)最優(yōu)值,使:
深度極限學習機最終是要最小化實際輸出和期望輸出間的誤差,也即最小化損失函數(shù):
ELM 算法中參數(shù)(αi,bi)是隨機生成,因此也唯一確定。其解決方法可以轉(zhuǎn)化為:
根據(jù)文獻[16]可知,要求解的范數(shù)最小且唯一。為提高模型泛化能力,加入了正則項,求解問題則轉(zhuǎn)化為:
其中,λ是正則化系數(shù),其解如下:
其中,I是單位矩陣。
1.2.1 基于極限學習機的自編碼器
自動編碼器(Auto Encoder,AE)是一種無監(jiān)督神經(jīng)網(wǎng)絡(luò)模型,它利用輸入X自身作為監(jiān)督,通過訓練神經(jīng)網(wǎng)絡(luò)模型期望得到一個重構(gòu)輸出X'。因此AE 無需標記訓練數(shù)據(jù)。在ELM 中引入AE 的思想,使ELM 的輸入也被視為目標輸出,即輸出Y=X,引入自編碼器的極限學習機ELMAE(Extreme Learning Machineasan Auto Encoder)的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
Fig.2 ELM-AE network structure圖2 ELM-AE網(wǎng)絡(luò)結(jié)構(gòu)
簡言之,ELM-AE 類似于一個逼近器,其目標是盡可能讓網(wǎng)絡(luò)的輸出與輸入相同,同時使隱藏層的輸入?yún)?shù)(αi,bi)隨機生成后正交。其優(yōu)勢如下:
(1)可將輸入數(shù)據(jù)映射到不同或等維度的空間,實現(xiàn)維度壓縮、稀疏表達或等維度的特征表達。
(2)可清除特征之外的噪聲,使特征之間分布更為均勻和線性獨立,提高系統(tǒng)泛化性。
ELM-AE 的輸出可由式(1)轉(zhuǎn)化為式(9)求出。
其中,α是由αi構(gòu)成的矩陣,b是由bi構(gòu)成的向量。
針對維度壓縮和稀疏表達,隱藏層的輸出權(quán)重β可由式(8)轉(zhuǎn)化為式(10)求出。
其中,X=[x1,…,xN]是輸入數(shù)據(jù)。
針對同維度的特征映射,權(quán)重β可由式(11)計算求出。
由文獻[16]可知,βT β=I。
1.2.2 深度極限學習機
基于ELM-AE 的3 種不同的特征表達功能,可以將其作為深度極限學習機(Deep Extreme Learning Machine,DELM)的基礎(chǔ)模塊。與傳統(tǒng)深度學習算法相同,DELM 應用逐層貪婪的方式訓練網(wǎng)絡(luò),DELM 每個隱藏層的輸入權(quán)重都用ELM-AE 初始化,執(zhí)行分層無監(jiān)督訓練。與傳統(tǒng)深度學習算法相比,DELM 沒有反向微調(diào)的步驟。
DELM 的目的是使輸出信息無限逼近原輸入信息,其基本思想是通過對每一層的訓練,最大程度地減小重構(gòu)誤差,最終得到輸入信息的高級特性。DELM 模型的主要訓練步驟則是將原始輸入信息樣本X視為下一個ELM-AE的目標輸出(X1=X),從而得到輸出權(quán)值β1。然后,將DELM 的第一個隱藏層的目標輸出矩陣H1,當作下一個ELM-AE 的輸入和目標輸出(X2=H1),依次逐步地展開訓練,最后一層用ELM 訓練,可以使用式(6)求解DELM 的最后一個隱藏的輸出矩陣βi+1。DELM 每一層隱藏層的輸入權(quán)重矩陣為。
主成分分析PCA(Principal Component Analysis)是統(tǒng)計學中的一種降維方法,它通過削減特征向量的數(shù)量降低矩陣維度。在神經(jīng)網(wǎng)絡(luò)中,可以采用PCA 減少輸入數(shù)據(jù)樣本的特征維度,從而降低神經(jīng)網(wǎng)絡(luò)模型計算量,提升模型計算速度 。假設(shè)給定原始數(shù)據(jù)集A={a11,a12,ai j,…,am n},其中i代表樣本數(shù)據(jù),j表示對應樣本的特征維度,m和n分別表示樣本個數(shù)和特征數(shù)量,數(shù)據(jù)集矩陣可用式(12)表示。
PCA 采用線性變換將原始數(shù)據(jù)變量轉(zhuǎn)變成非線性相關(guān)的數(shù)據(jù)變量。通過求出協(xié)方差矩陣的特征向量和特征值,保留累計貢獻率超過85%的特征向量,用原始數(shù)據(jù)矩陣乘以特征向量矩陣得到一個新的特征矩陣,從而降低維度。式(13)定義了數(shù)據(jù)集中不同維度上的均值μ。
使用式(14)計算樣本點在不同維度上的偏差。
數(shù)據(jù)集協(xié)方差矩陣H定義為。
對輸入數(shù)據(jù)集協(xié)方差矩陣做奇異值分解(Singular Value Decomposition,SVD)可以得到一組特征值和特征向量(λ1,μ1),(λ2,μ2),…,(λn,μn),它表示協(xié)方差矩陣H的n組特征值和特征向量,將原始數(shù)據(jù)映射到協(xié)方差矩陣中k個最大特征值所對應的特征向量張成的子空間中。式(16)給出了k的確定方法。
其中,β是子空間的特征值之和與原始空間的所有特征值之和的比值。選取最大的k個特征值后,可生成一個大小為m*k的矩陣B,按照式(17)將原始數(shù)據(jù)投影到k維子空間中。
式(12)—式(17)給出了去除不同特征間相關(guān)性的具體步驟。分別在兩個數(shù)據(jù)集上調(diào)用上述方法實現(xiàn)降維。依據(jù)經(jīng)驗將β設(shè)置為0.85,并由式(16)在UNSW-NB15 數(shù)據(jù)集和CIDDS-001 數(shù)據(jù)集上分別保留前14、前6 個特征向量,這種方法在消除不同維度相關(guān)性的同時,還可減少模型在訓練過程中的存儲開銷。
PCA 降維的時間復雜度為O(min(m3,k3)),m是樣本數(shù)量,k為經(jīng)PCA 降維后保留的子空間維數(shù)。顯然,k 本文提出的PCA-DELM 入侵檢測算法需通過3 個階段,檢測前先對數(shù)據(jù)作預處理,然后用PCA 對數(shù)據(jù)集進行降維處理,最后通過具有深度學習能力的極限學習機(Deep Extreme Learning Machine,DELM)對數(shù)據(jù)進行監(jiān)督分類,完成入侵檢測過程。PCA-DELM 入侵檢測流程包括以下步驟,流程如圖3所示。 Fig.3 Flow of DELM intrusion detection圖3 PCA-DELM 入侵檢測流程 (1)數(shù)據(jù)預處理。標準化UNSW-NB15 和CIDDS-001數(shù)據(jù)集,對數(shù)據(jù)進行歸一化處理后得到數(shù)值型數(shù)據(jù),形成標準化數(shù)據(jù)集。 (2)定義DELM 神經(jīng)網(wǎng)絡(luò)模型參數(shù)。根據(jù)尋參實驗結(jié)果可知,網(wǎng)絡(luò)迭代100 次,隱含層共3 層,在7070-120 時,網(wǎng)絡(luò)分類性能最佳。 (3)PCA 降維。對預處理后的高維數(shù)據(jù)集進行降維并得到低維表示的數(shù)據(jù)。 (4)數(shù)據(jù)分離。將降維后的數(shù)據(jù)按比例分為訓練集、驗證集、測試集。 (5)形成DELM 有監(jiān)督分類模型,將訓練集和驗證集數(shù)據(jù)輸入到DELM 分類模型中進行訓練,調(diào)整模型。 (6)輸出最優(yōu)的DELM 分類模型。 (7)輸入測試集數(shù)據(jù)并輸出分類規(guī)范化結(jié)果。 本文共做了2 組實驗。①在UNSW-NB15 數(shù)據(jù)集及CIDDS-001 數(shù)據(jù)集上進行二分類實驗,在2 個數(shù)據(jù)集上驗證PCA-DELM 入侵檢測算法模型的分類檢測性能;②在上述數(shù)據(jù)集上進行多分類實驗,進一步驗證該模型的網(wǎng)絡(luò)分類性能及泛化能力,在實際包含不同攻擊的復雜網(wǎng)絡(luò)中對入侵行為的檢測能力進行驗證。 UNSW-NB15 數(shù)據(jù)集包含2×105條數(shù)據(jù),共49 個特征。除正常數(shù)據(jù)外,還包含F(xiàn)uzzers、Analysis、Backdoors、Dos、Exploits、Generic、Reconnaissance、Shellcode 及Worms 在內(nèi)的9 種攻擊。CIDDS-001 數(shù)據(jù)集包含6.8×105條數(shù)據(jù),是來自于網(wǎng)絡(luò)中的實時流量,包括在內(nèi)部服務(wù)器(Web、文件、備份和郵件)和外部服務(wù)器(文件同步和Web 服務(wù)器)上捕獲的實時流量,包括14個特征。 為更好地評估本文模型及算法的有效性,在二分類實驗中,將數(shù)據(jù)集中的攻擊合并為Abnormal,記為2,正常數(shù)據(jù)Nornal 記為1。利用入侵檢測準確率(Accuracy,Acc)、精確率(Precision,P)、真正率(True Postive Rate,TPR)、假正率(False Postive Rate,F(xiàn)PR)、F 值、召回率(Recall)等指標對二分類實驗進行評價。具體計算方法參考文獻[17]。 實驗環(huán)境為Windows10,64 位操作系統(tǒng),處理器Intel(R)Core(TM)i5-6500CPU3.20GHz,安裝內(nèi)存(RAM)8.00GB,仿真環(huán)境是MatlabR2017b。在進行二分類和多分類實驗前為驗證PCA-DELM 的分類性能,與ELM、DELM方法在UCI 的Iris 和Wine 數(shù)據(jù)集上做了分類對比試驗。本文提出的PCA-DELM 分類器在所測試的數(shù)據(jù)集上的分類精度不低于ELM 和DELM 分類器,在Iris 數(shù)據(jù)集上的分類準確率高達100%,在Wine 數(shù)據(jù)集上的分類準確率高達93%。 仿真實驗中,使用UNSW-NB15 數(shù)據(jù)集和CIDDS-001數(shù)據(jù)集上進行入侵測試,將本文所提出的分類模型PCADELM 與ELM 分類模型、SOM 網(wǎng)絡(luò)分類模型、深度神經(jīng)網(wǎng)絡(luò)分類模型(DNN、DBN)、經(jīng)典機器學習分類器進行對比實驗,通過各種評價指標對算法模型進行比較,驗證算法模型的性能。將數(shù)據(jù)集分為訓練集和測試集,進行入侵檢測仿真實驗,各算法在兩個數(shù)據(jù)集上的二分類測試結(jié)果如表1、表2所示。 Table 1 UNSW-NB15 binary classification test results表1 UNSW-NB15二分類測試結(jié)果 Table 2 CIDDS-001 binary classification test results表2 CIDDS-001二分類測試結(jié)果 由二分類實驗結(jié)果可知,在UNSW-NB15 和CIDDS-001 數(shù)據(jù)集上,PCA-DELM 入侵檢測模型的測試準確率分別為73.49%、81.76%,在CIDDS-001 數(shù)據(jù)集上的準確率較高。PCA-DELM 方法在準確率方面十分穩(wěn)定,波動較小,且處于較高的檢測水平。 由表1 可知,在UNSW-NB15 數(shù)據(jù)集上,除SOM 方法外,其余算法檢測準確率均達60%以上,由于該數(shù)據(jù)集較為分散,分類難度高,故準確率普遍偏低。其中,PCADELM 的準確率、精確率、召回率及F 值分別為73.49%、68.35%、96.57%、80.05%,與較為穩(wěn)定的SVM 分類器相比分別高出4.84%、3.22%、3.86%、3.54%,在時間方面,PCADELM 用時要少19 h以上。 由表2 可知,DELM 方法的檢測準確率最高,為99.25%,接近100%,比效果最差的SOM 高出81.01%,次優(yōu)的分類模型為DBN,準確率為97.66%,在傳統(tǒng)的機器學習分類器中,DT 表現(xiàn)最佳。PCA-DELM 的測試準確率在80%以上,且精確率、召回率為100%,時間為3 872 s,除去效果最差的SOM,時間在其余算法中最少。 綜上,SVM 分類器的性能在不同的數(shù)據(jù)集上能夠保持相同的范圍,且維持較高的準確率。然而,PCA-DELM 分類模型的準確率與其他方法相比,在兩個數(shù)據(jù)集上均較高且穩(wěn)定,且高出0%~70.47%。當精確率和召回率發(fā)生沖突時,對模型性能的比較會困難得多,但F 值能夠兼顧精確率和召回率,因此可看作是調(diào)和平均,以更好地對模型進行評價。實驗結(jié)果表明,SVM 和DT 分類器表現(xiàn)較好,說明SVM 和DT 方法適合二分類問題,但深度神經(jīng)網(wǎng)絡(luò)總體性能明顯優(yōu)于經(jīng)典機器學習算法,在二分類方面頗具優(yōu)勢。 本文使用的2 個數(shù)據(jù)集均為非平衡數(shù)據(jù)集,各攻擊之間有所差異,故進行多分類實驗,利用各種評價指標進一步分析各算法的入侵檢測性能,驗證比較算法模型可靠性。表3和表4為各算法模型多分類詳細結(jié)果。 Table 3 UNSW-NB15 multi-classification test results(1)表3 UNSW-NB15多分類測試結(jié)果(1) Table 4 UNSW-NB15 multi-classification test results(2)表4 UNSW-NB15多分類測試結(jié)果(2) 在UNSW-NB15 數(shù)據(jù)集上,包含正常數(shù)據(jù)和9 種攻擊。對 于Normal,PCA-DELM 與DT 的AUC 值最高,分別為0.823 1、0.848 5,AUC 值最小的是SOM,為0.138 0。SOM、DELM、PCA-DELM 的真正率低于60%,其余算法高于64%,其中最高的是SVM 分類器,高達87.35%,但DT 和PCA-DELM 的假正率很低,分別為5.05%、12.98%。對于Fuzzers 攻擊,SVM、DNN、SOM、DBN 的真正率為0%,除DNN 算法的假正率和AUC 值分別為0.5%、49.96%外,上述其余算法的假正率和AUC 值均為0%,ELM 的AUC 值最高,為79.43%。對于Analysis 攻擊,除DT 算法的真正率為8.27%,其余算法的真正率均為0%,DT、ELM 的假正率分別為3.31%、0.64%,其余算法的假正率均為0%,各算法的AUC 值均在0.5 左右。對于Backdoors 攻擊,DT、DELM、PCA-DELM 算法的真正率分別為24.87%、0.86%、1.21%,其余算法的真正率為0%,各算法的AUC 值均在0.5 左右。對于Dos 攻擊,除ELM 算法的真正率最高為44.44%外,其余算法的真正率均低于22%,PCA-DELM 的效果最好,AUC 值最高,為0.783 2。對于Exploit 攻擊,PCA-DELM 的真正率為78.1%,AUC 值為0.721 3,對于Generic 攻擊,除SOM 算法外,其余算法的真正率均能達到95%以上,其中DBN 最高為96.95%,PCA-DELM 的真正率為96.43%,除SOM 算法外,其余算法模型表現(xiàn)較好,AUC 值均能達到0.8以上。對于Reconnaissance 攻擊,所有算法模型的AUC 值均在0.5 以上,其中ELM 的真正率最高,為13.21%。對于Shellcode 攻 擊,AdaBoost、DT 的真正率分別為7.14%、52.38%,假正率分別為0.2%、1.11%,其余算法的真正率和假正率均為0%,大部分算法的AUC 值為0.5,包括本文提出的PCA-DELM 模型。對于Worms 攻擊,僅DT 的真正率為13.64%,其余算法均為0%,除DT 的AUC 值為0.567 7,其余算法的AUC 值為0.5。 在CIDDS-001 數(shù)據(jù)集上,對于Normal,PCA-DELM 的真正率高達95.99%,且AUC 值高達0.9649;對于Attackers,DELM 與AdaBoost 算法的AUC 值最高,分別為0.923 1、1,其余算法的AUC 值均在0.5 上下,所有算法的假正率趨近于0%或者為0%;對于Suspicious,除SOM 算法外,其余算法的真正率均達到85%以上,其中DNN 的真正率為100%,PCA-DELM 的真正率為97.31%,AUC 值為0.707 6,模型性能優(yōu)于大部分其他算法模型;對于Unknown,PCADELM 的真正率僅31.55%,但其AUC 值為0.642 9,假正率低至2.98%,其余算法的AUC 值大部分集中在0.5 左右;對于Victim,DT、SOM 的真正率為100%,DELM 算法的真正率為99.45%,剩余算法的真正率為0%,DT、DELM 的AUC值分別為0.957 5、0.990 5,其余算法均低于0.6。圖4 和圖5 分別為兩個數(shù)據(jù)集上的ROC 曲線,直觀地說明了AUC 及真、假正率之間的聯(lián)系。表5 為各算法在不同數(shù)據(jù)集上檢測所花費的時間,顯然,PCA-DELM 模型檢測時間明顯少于其他算法,更具實時性,在大數(shù)據(jù)時代下更具優(yōu)勢。 Table 5 Time execution evaluation indicators表5 時間執(zhí)行評價指標 Fig.4 UNSW-NB15-Generic ROC curve圖4 UNSW-NB15-Generic ROC 曲線 Fig.5 CIDDS-001-Suspicious ROC curve圖5 CIDDS-001-Suspicious ROC 曲線 二分類實驗及進一步的多分類實驗結(jié)果表明,在準確性方面,PCA-DELM 模型性能明顯優(yōu)于經(jīng)典神經(jīng)網(wǎng)絡(luò)和經(jīng)典機器學習算法,在二分類和多類方面都有很大優(yōu)勢,在其他評價指標上也體現(xiàn)出較大優(yōu)勢。 本文利用PCA 的降維能力,設(shè)計了一種基于主成分分析的強化深度極限學習機分類模型,并提出了PCA-DELM模型。一方面,使用PCA保證模型對數(shù)據(jù)的特征降維能力;另一方面,利用DELM 保證對數(shù)據(jù)快速分類的能力。實驗結(jié)果表明:①PCA-DELM 入侵檢測模型的數(shù)據(jù)分類性能穩(wěn)定,不管是復雜高維數(shù)據(jù),還是攻擊類型多數(shù)據(jù)集,都能實現(xiàn)較優(yōu)的入侵檢測效果,且不敏感于特定數(shù)據(jù)集;②PCADELM 入侵檢測模型成功解決了現(xiàn)有方法(數(shù)據(jù)挖掘、傳統(tǒng)機器學習等方法)存在的準確率、精確率、召回率、真正率等指標偏低的問題;③在2 個網(wǎng)絡(luò)入侵檢測數(shù)據(jù)集上,PCADELM 入侵檢測模型與現(xiàn)有方法相比,在各類評價指標上均具有明顯優(yōu)勢。特別是在實時網(wǎng)絡(luò)數(shù)據(jù)集CIDDS-001上仍能表現(xiàn)穩(wěn)定。PCA-DELM 入侵檢測模型為車聯(lián)網(wǎng)、物聯(lián)網(wǎng)等不同領(lǐng)域的安全問題方面提供全新、可行的解決方案及思路。本文采用的是有監(jiān)督分類模型,因此對真實網(wǎng)絡(luò)環(huán)境中未知攻擊的檢測還存在一定局限性。未來工作中,將考慮引入生成對抗網(wǎng)絡(luò)(Generative Adversarial Networks,GAN)學習正常樣本的檢測入侵行為且不受限于特定樣本的特性,以提升對未知攻擊的檢測率。2.2 算法流程
3 實驗設(shè)置與分析
3.1 評價指標
3.2 分類性能分析實驗
3.3 二分類實驗
3.4 多分類實驗
4 結(jié)語