郝武偉,李俊吉
(1.山西工程科技職業(yè)大學(xué) 現(xiàn)代物流學(xué)院,山西 晉中 030619;2.太原科技大學(xué) 信息科學(xué)與技術(shù)學(xué)院,山西 太原 030024)
入侵檢測系統(tǒng)(intrusion detection system,IDS)[1]是網(wǎng)絡(luò)安全的第一道防線,對網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù)進(jìn)行實時監(jiān)測,若發(fā)現(xiàn)可疑流量則發(fā)出警報,及時降低惡意行為造成的損失。目前最有效的IDS大多對網(wǎng)絡(luò)流量的特征進(jìn)行建模,再通過各種分類器對流量進(jìn)行分類[2]。為提高IDS的檢測性能,各專家學(xué)者嘗試將不同的機器學(xué)習(xí)模型應(yīng)用于入侵檢測系統(tǒng),包括支持向量機[3]、決策樹[4]、隨機森林[5]等,但傳統(tǒng)機器學(xué)習(xí)模型的特征學(xué)習(xí)能力較有限,難以大幅提升IDS的攻擊檢測率。
近年深度神經(jīng)網(wǎng)絡(luò)因其強大的非線性學(xué)習(xí)能力,在計算機視覺[6]、自然語言處理[7]、網(wǎng)絡(luò)安全[8]等領(lǐng)域展現(xiàn)出明顯的優(yōu)勢。文獻(xiàn)[9]提出一種基于深度卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測的算法,在卷積神經(jīng)網(wǎng)絡(luò)基礎(chǔ)上引入Inception模型和殘差網(wǎng)絡(luò),采用深度學(xué)習(xí)技術(shù)提高模型的收斂速度。文獻(xiàn)[10]提出一種基于誤差逆向傳播神經(jīng)網(wǎng)絡(luò)的攻擊檢測算法,該模型對中小型網(wǎng)站的傳輸數(shù)據(jù)能準(zhǔn)確地識別出正常流量與攻擊流量。文獻(xiàn)[9]與文獻(xiàn)[10]通過深度神經(jīng)網(wǎng)絡(luò)技術(shù)提取了豐富的網(wǎng)絡(luò)數(shù)據(jù)特征,提高了網(wǎng)絡(luò)攻擊的識別性能,但此類技術(shù)均需在已有訓(xùn)練集上完成訓(xùn)練,再對測試集進(jìn)行靜態(tài)分類,因此上述基于深度神經(jīng)網(wǎng)絡(luò)的攻擊檢測算法僅支持靜態(tài)數(shù)據(jù)集,無法識別新的攻擊類型。
IDS作為第一道防線,應(yīng)能主動發(fā)現(xiàn)可疑行為以保障網(wǎng)絡(luò)的平穩(wěn)運行,其中發(fā)現(xiàn)新型攻擊是當(dāng)前IDS面臨的一大挑戰(zhàn)。文獻(xiàn)[11]采用Bagging策略獨立訓(xùn)練多個極限學(xué)習(xí)機,引入一種基于批量樣本增量學(xué)習(xí)的在線更新策略,實現(xiàn)入侵檢測模型的在線更新,能適應(yīng)復(fù)雜網(wǎng)絡(luò)環(huán)境的變化。文獻(xiàn)[12]先采用開集分類網(wǎng)絡(luò)檢測未知攻擊,再采用語義嵌入聚類方法發(fā)現(xiàn)隱藏的未知攻擊,最終使用增量最近質(zhì)心法學(xué)習(xí)發(fā)現(xiàn)的未知攻擊。雖然文獻(xiàn)[11]與文獻(xiàn)[12]通過增量學(xué)習(xí)可成功檢測未知的攻擊,但均通過機器學(xué)習(xí)模型檢測可疑行為,導(dǎo)致對新型攻擊的檢測準(zhǔn)確率仍有提升空間。針對上述問題,本文IDS采用深度自編碼器提取網(wǎng)絡(luò)數(shù)據(jù)的深度特征,將特征遷移至深度神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào)與分類,提出基于粒子群優(yōu)化算法的深度神經(jīng)網(wǎng)絡(luò)自適應(yīng)訓(xùn)練方法。此外,采用強化學(xué)習(xí)增強IDS對網(wǎng)絡(luò)環(huán)境的動態(tài)感知能力與學(xué)習(xí)能力,以改善深度神經(jīng)網(wǎng)絡(luò)對新型攻擊的識別能力。
基于強化學(xué)習(xí)的攻擊檢測系統(tǒng)框架如圖1所示。網(wǎng)絡(luò)流量經(jīng)過深度自編碼器提取特征,將特征集傳入深度神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào)與分類處理。攻擊檢測結(jié)果保存于安全數(shù)據(jù)庫,安全專家對數(shù)據(jù)庫進(jìn)行分析,基于分析結(jié)果對前端部分進(jìn)行獎賞。
圖1 強化學(xué)習(xí)框架
強化學(xué)習(xí)模型[13]可表示為ψ(Di,A,R), 其中A為攻擊檢測的動作,R為攻擊檢測的獎賞,獎賞值依賴于攻擊檢測成功率。強化學(xué)習(xí)的獎賞函數(shù)定義為
(1)
式中:x∈[0,1] 表示攻擊檢測率,y∈[0,1] 為攻擊檢測成本,z∈[0,1] 為攻擊檢測假正率與假負(fù)率之和,反映了檢測器的有效性,m為攻擊總數(shù)量。分析式(1)可知,獎賞函數(shù)的獎賞值隨檢測率x升高而升高,如果假正率與假負(fù)率之和z升高,即未被檢測的攻擊數(shù)增加,那么x降低,獎賞值也隨之降低。將攻擊檢測成本y定義為深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練成本,成本y作為一個約束條件。
若檢測系統(tǒng)的前端部分識別出一個異常行為,觸發(fā)一個警報,將可疑目標(biāo)標(biāo)識符ids、攻擊特征列表Fk及動作A保存于安全數(shù)據(jù)庫中。
每次迭代計算檢測系統(tǒng)的效用u(t-1) 與u(t), 比較相鄰時間點的效用值以更新獎賞R。如u(t)>u(t-1), 則R值升高;如u(t)
(2)
式中:α∈[0,1] 為學(xué)習(xí)率,γ∈[0,1] 為折扣因子。
算法1描述了攻擊檢測系統(tǒng)的強化學(xué)習(xí)過程,強化學(xué)習(xí)算法周期地運行直至當(dāng)前效用值大于預(yù)定的效用閾值,即大多數(shù)異常與攻擊被成功檢測。安全專家的目標(biāo)是通過強化學(xué)習(xí)降低檢測系統(tǒng)的假陽率,持續(xù)更新特征集F′k, 維持攻擊檢測的性能。
算法1:強化學(xué)習(xí)算法
(1)計算檢測系統(tǒng)的效用u;
(2)while (ut
(3) if (ut>ut-1)
(4)R++;
(5) else
(6)R- -;
(7) endif
(8) 向安全數(shù)據(jù)庫發(fā)送報警消息 {ID,Fk,A};
(9) if (ut (10)R=R′-1; //如果效用下降,則降低獎賞。 (11) 安全數(shù)據(jù)庫更新{Fk,A,R}; (12) else (13)R=R′+1; //如果效用上升,則增加獎賞。 (14) 專家估計期望值 {F′k,A′}; (15) endif (16) if (F′k≠?,A′≠?) (17) 計算ut-1; (18)endwhile 本文使用預(yù)訓(xùn)練的深度自編碼器(deep auto-encoder,DAE)[14]提取網(wǎng)絡(luò)流量特征,使用深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)[15]對特征集進(jìn)行微調(diào),如圖2所示。DAE由編碼器與解碼器構(gòu)成,其瓶頸層可對輸入特征集進(jìn)行降維處理,DAE提取的特征集結(jié)果包括特征編碼、網(wǎng)絡(luò)權(quán)重及網(wǎng)絡(luò)偏置,再將特征集傳入深度神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào)。假設(shè)DAE的輸入數(shù)據(jù)為X,輸出數(shù)據(jù)為X′,基于DAE的特征集訓(xùn)練DNN。在DNN的訓(xùn)練階段采用PSO搜索DNN的超參數(shù),提高網(wǎng)絡(luò)攻擊的檢測率。 圖2 基于深度自編碼器的特征提取 DAE包含多個隱藏層,從輸入層到隱藏層為編碼階段,隱藏層到輸出層為解碼階段,DAE的結(jié)構(gòu)如圖3所示。 圖3 深度自編碼器的結(jié)構(gòu) 假設(shè)DAE共有5個隱藏層,那么DAE包含3個編碼器-解碼器組,3個編碼器分別記為E1、E2、E3,那么中間層的編碼結(jié)果可表示為Z=E3(E2(E1(X)))。 第1個編碼器的輸出可表示為h=f(WX+b), 其中W為權(quán)重矩陣,b為偏置向量,X為輸入向量。下一個編碼器的輸出可表示為 h(l+1)=f(W(l)·h(l)+b(l)) (3) 假設(shè)3個解碼器分別為D1、D2、D3,解碼器的輸出結(jié)果可表示為X′=D1(D2(D3(E3(E2(E1(X))))))。 自編碼器的各隱藏層運算可表示為X′=f(WT×h+b′), 解碼函數(shù)可表示為D3=f((W(3))T×Z+b(3)′),D2=f((W(2))T×D3+b(2)′),X′=f((W(1))T×D2+b(1)′), 其中f() 為隱藏層的激活函數(shù)。 DAE的損失函數(shù)評估了輸入X與重建X′間的距離,其數(shù)學(xué)模型可表示為 (4) 假設(shè)輸入數(shù)據(jù)的樣本數(shù)量為m,可將DAE的損失函數(shù)重寫為 (5) 式中:x表示將輸入數(shù)據(jù)映射到[0,1]區(qū)間的結(jié)果。采用非線性sigmoid函數(shù)作為DAE隱藏層的激活函數(shù)。 通過反向傳播更新神經(jīng)網(wǎng)絡(luò)每個節(jié)點的權(quán)重與偏置,損失函數(shù)的最優(yōu)值接近零,此時DAE瓶頸層Z的輸出即為輸入數(shù)據(jù)的低維特征集,將Z的輸出傳入DNN分類器,該處理機制也稱為遷移學(xué)習(xí)。通過遷移學(xué)習(xí)將自編碼器的編碼結(jié)果、權(quán)重與偏置遷移至DNN進(jìn)行特征微調(diào)與分類。 采用深度神經(jīng)網(wǎng)絡(luò)根據(jù)輸入特征檢測流量的攻擊類別,深度神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)如圖4所示。 圖4 深度神經(jīng)網(wǎng)絡(luò)分類器的結(jié)構(gòu) 深度神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)是由DAE遷移過來的特征集、DAE權(quán)重與偏置。深度神經(jīng)網(wǎng)絡(luò)DNN的輸出y′可表示為 y′=f(W(l)·h(l)+b(l))=f(z(l+1)) (6) 式中:l+1為深度神經(jīng)網(wǎng)絡(luò)的最后一層。 DNN的輸出層采用softmax函數(shù)對數(shù)據(jù)進(jìn)行分類。假設(shè)由DAE遷移至DNN的權(quán)重為W(1),W(2),W(3),偏置為b(1),b(2),b(3)。DNN的損失函數(shù)為多分類交叉熵函數(shù),輸出層節(jié)點采用softmax函數(shù)。 2.3.1 粒子群優(yōu)化算法 粒子群優(yōu)化算法(particle swarm optimization,PSO)[16]是由Eberhart和Kennedy提出一種基于種群的隨機優(yōu)化技術(shù)。PSO模仿自然界群體合作尋找食物的過程,PSO各粒子通過學(xué)習(xí)其自身經(jīng)驗與社會經(jīng)驗來不斷改變其搜索過程。PSO算法的運行流程可參考文獻(xiàn)[17]。 PSO第i個粒子在第k次迭代的速度更新模型可表示為 (7) 第i個粒子在第k次迭代的位置可表示為 xi(k)=xi(k-1)+vi(k) (8) 2.3.2 基于PSO的深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練方法 圖5是基于PSO的深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練基本流程。PSO對DNN結(jié)構(gòu)參數(shù)與超參數(shù)進(jìn)行優(yōu)化,每個粒子對應(yīng)一個可能解,DNN最后一層softmax層計算每個數(shù)據(jù)樣本的分類概率,將DNN的分類準(zhǔn)確率作為PSO粒子的適應(yīng)度。PSO迭代地優(yōu)化DNN的超參數(shù),最終收斂于最優(yōu)適應(yīng)度,該最優(yōu)解為最佳的DNN網(wǎng)絡(luò)結(jié)構(gòu)。 圖5 基于PSO的DNN訓(xùn)練過程 2.3.3 PSO種群初始化 將PSO的解表示為向量形式,如圖6所示。 圖6 PSO的解表示 表1是每個超參數(shù)的搜索空間,采用PSO搜索深度神經(jīng)網(wǎng)絡(luò)的5個超參數(shù),分別為:DAE數(shù)量、隱藏層節(jié)點數(shù)量、學(xué)習(xí)率、批大小、隱藏層激活函數(shù)。 表1 PSO的搜索空間 2.3.4 PSO參數(shù)設(shè)置 表2是PSO的參數(shù)設(shè)置。PSO種群的總維度為5×8=40,最大迭代次數(shù)為50。 表2 PSO參數(shù)設(shè)置 PSO的慣性權(quán)重采用sigmoid函數(shù),該函數(shù)能夠在全局搜索與局部開發(fā)之間取得較好的平衡,并能防止早熟收斂。慣性權(quán)重函數(shù)定義為 (9) 式中:t為當(dāng)前的迭代次數(shù),tmax為最大迭代次數(shù),α參數(shù)設(shè)為0.2。 2.3.5 PSO適應(yīng)度評價 DNN最后一層softmax層輸出每個樣本的分類準(zhǔn)確率,準(zhǔn)確率越高則粒子的適應(yīng)度越高。PSO的適應(yīng)度函數(shù)可表示為 fit(pj)=DNN(dc,hc,lr,ps,af) (10) 式中:dc為DAE數(shù)量,hc為隱藏層節(jié)點數(shù)量,lr為學(xué)習(xí)率,ps為批大小,af為激活函數(shù)。 2.3.6 PSO搜索流程 圖7是PSO搜索DNN超參數(shù)的運行流程。 算法2是基于PSO的DNN優(yōu)化算法偽代碼。PSO種群初始化成表1中的隨機值,然后評價每個粒子的適應(yīng)度,更新每個粒子的速度與位置,每次迭代結(jié)束更新全局最優(yōu)粒子。 算法2:基于PSO的DNN優(yōu)化算法 輸入:最大迭代次數(shù),超參數(shù)搜索空間 輸出:最佳DNN超參數(shù)。 (1)隨機初始化粒子群的各個粒子; (2)while (未達(dá)到最大迭代次數(shù)) do (3) 計算ω; (4) foreachpifromp1topmdo (5) 評價pi的適應(yīng)度; (6) 更新個體最優(yōu)pbesti; (7) 更新粒子速度vi與位置pi (8) endfor (9) 更新全局最優(yōu)gbest; (10)end while; (11)returngbest; 本文的仿真環(huán)境是Windows 10操作系統(tǒng),處理器為Intel Core i7-10700,主頻為2.9 GHz,內(nèi)存為32 GB。神經(jīng)網(wǎng)絡(luò)的編程語言是Python,神經(jīng)網(wǎng)絡(luò)搭建環(huán)境為谷歌開發(fā)的TensorFlow version 2.1.0[18],另外采用了Keras神經(jīng)網(wǎng)絡(luò)庫[19]。 采用CSE-CIC-IDS2018作為IDS的實驗數(shù)據(jù)集,該數(shù)據(jù)集是通信安全機構(gòu)與加拿大網(wǎng)絡(luò)安全研究所的合作項目,其數(shù)據(jù)樣本來源于真實網(wǎng)絡(luò),下載地址為(https://registry.opendata.aws/cse-cic-ids2018/)。該數(shù)據(jù)集共有16 232 943個數(shù)據(jù)樣本,訓(xùn)練集共有1 619 315個數(shù)據(jù)樣本,測試集共有404 836個數(shù)據(jù)樣本。表3總結(jié)了CSE-CIC-IDS2018數(shù)據(jù)集的分布情況,共包含15種攻擊。 表3 CSE-CIC-IDS2018數(shù)據(jù)集的分布情況 采用以下性能指標(biāo)對IDS進(jìn)行評估: 準(zhǔn)確率 (11) 式中:TN與FN分別為真負(fù)樣本與假負(fù)樣本的數(shù)量,TP與FP分別為真正樣本與假正樣本的數(shù)量。 F-score (12) CSE-CIC-IDS2018數(shù)據(jù)集的數(shù)據(jù)量較大,每次迭代訓(xùn)練深度神經(jīng)網(wǎng)絡(luò)的時間較長,為減少訓(xùn)練時間,將神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)率設(shè)為較大值{0.001,0.01,0.1}。圖8總結(jié)了粒子群每次迭代中DNN模型訓(xùn)練的檢測準(zhǔn)確率,由圖中可知,由于限定了DNN各超參數(shù)的搜索空間,因此DNN可在第35~40次迭代達(dá)到收斂。PSO搜索的最優(yōu)超參數(shù)集見表4。 表4 CSE-CIC-IDS2018數(shù)據(jù)集的訓(xùn)練結(jié)果 圖8 DNN訓(xùn)練的收斂曲線 在測試集上對所訓(xùn)練IDS進(jìn)行攻擊檢測實驗,分別統(tǒng)計15種攻擊的檢測準(zhǔn)確率,結(jié)果如圖9所示。由圖中可知, 圖9 測試集不同攻擊的平均檢測率 本文IDS對Bot、DDOS attack-HOIC、DoS attacks-GoldenEye、DoS attacks-Slowloris、SQL Injection、SSH-Bruteforce的檢測準(zhǔn)確率為100%,對Brute Force-Web、Brute Force-XSS、DDOS attack-LOIC-UDP、DDoS attacks-LOIC-HTTP、Dos attacks-SlowHTTPTest、FTP-BruteForce的檢測準(zhǔn)確率也較高,但對Benign與Infilteration的攻擊檢測率低于98%。 為評價本文IDS對靜態(tài)網(wǎng)絡(luò)數(shù)據(jù)的檢測性能,選擇卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)[20]、時空神經(jīng)網(wǎng)絡(luò)(hierarchical spatial-temporal features using deep neural networks,HAST-IDS)[21]以及小波神經(jīng)網(wǎng)絡(luò)(wavelet neural network,WNN)[22]共3個靜態(tài)IDS與本文系統(tǒng)進(jìn)行對比實驗。文獻(xiàn)[20]采用卷積神經(jīng)網(wǎng)絡(luò)提取網(wǎng)絡(luò)傳輸數(shù)據(jù)的特征,并在最后一層采用softmax層對輸入樣本進(jìn)行分類;文獻(xiàn)[21]采用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)網(wǎng)絡(luò)傳輸數(shù)據(jù)的時域特征,所提取的特征考慮了數(shù)據(jù)的時域相關(guān)性與空間相關(guān)性;文獻(xiàn)[22]采用小波神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)網(wǎng)絡(luò)傳輸數(shù)據(jù)的非線性關(guān)系,再傳入分類器對輸入樣本進(jìn)行分類。CNN[20]設(shè)為5層網(wǎng)絡(luò),各層的filter數(shù)量分別為256、128、64、32與16,各層的核大小分別為16、8與3。HAST-IDS[21]與WNN[22]的超參數(shù)采用各文獻(xiàn)所推薦的值。 圖10是4個IDS在靜態(tài)CSE-CIC-IDS2018數(shù)據(jù)集上的測試實驗結(jié)果,分別統(tǒng)計了平均檢測準(zhǔn)確率與平均F-score值。由于HAST-IDS與WNN均為一個隱藏層,HAST-IDS通過時空相關(guān)性來學(xué)習(xí)數(shù)據(jù)的非線性關(guān)系,而WNN通過小波函數(shù)來學(xué)習(xí)數(shù)據(jù)的非線性關(guān)系,這兩個網(wǎng)絡(luò)的非線性擬合能力不足。由于DDOS attack-HOIC、DDOS attack-LOIC-UDP、DDoS attacks-LOIC-HTTP、DoS attacks-GoldenEye、DoS attacks-Hulk、Dos attacks-SlowHTTPTest、DoS attacks-Slowloris均屬于DDOS攻擊,這些攻擊類別之間的相似性較高,因此HAST-IDS與WNN對此類攻擊的檢測準(zhǔn)確率較低。CNN網(wǎng)絡(luò)共有5層卷積層,其卷積運算能夠擬合網(wǎng)絡(luò)傳輸數(shù)據(jù)的非線性關(guān)系,因此對CSE-CIC-IDS2018數(shù)據(jù)集的檢測性能明顯優(yōu)于HAST-IDS、WNN。本文IDS采用深度自編碼器提取網(wǎng)絡(luò)傳輸數(shù)據(jù)的特征,再將自編碼器的特征集、DAE權(quán)重與偏置遷移至深度神經(jīng)網(wǎng)絡(luò)對特征進(jìn)行微調(diào)處理,有效利用了深度自編碼器的特征學(xué)習(xí)能力以及深度神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)處理能力,使本文IDS的攻擊檢測性能優(yōu)于CNN網(wǎng)絡(luò)。 圖10 IDS的對比實驗結(jié)果 為評價本文IDS對未知攻擊的檢測能力,本文將攻擊編號1-10的訓(xùn)練集作為訓(xùn)練數(shù)據(jù),將全部15個攻擊的測試集作為測試數(shù)據(jù),評估IDS對未知攻擊的檢測性能。選取Scalable Network[12]與Zero-Shot Learning[23]兩個IDS系統(tǒng)與本文IDS進(jìn)行對比實驗,Scalable Network通過異常檢測觸發(fā)神經(jīng)網(wǎng)絡(luò)的擴展與更新,從而支持對未知攻擊的檢測;Zero-Shot Learning通過零次學(xué)習(xí)使IDS能夠?qū)ξ粗獢?shù)據(jù)類別進(jìn)行分類,為IDS引入了推理能力。本文IDS強化學(xué)習(xí)的效用閾值設(shè)為訓(xùn)練階段檢測性能的80%。 圖11是3個IDS對未知攻擊檢測的平均性能,圖11(a)與圖11(b)分別統(tǒng)計了對5個未知攻擊類型的平均檢測準(zhǔn)確率與F-score值。Scalable Network通過異常檢測觸發(fā)神經(jīng)網(wǎng)絡(luò)的擴展與更新,由于5種未知攻擊與訓(xùn)練集中攻擊的相似性較高,未能及時觸發(fā)Scalable Network進(jìn)行網(wǎng)絡(luò)更新,導(dǎo)致Scalable Network對未知攻擊的判別能力較弱。Zero-Shot Learning所采用的零次學(xué)習(xí)屬于一種遷移學(xué)習(xí)技術(shù),將訓(xùn)練集上學(xué)習(xí)的映射關(guān)系遷移至其它攻擊類型的識別。由圖11可知,Zero-Shot Learning對未知攻擊的識別效果優(yōu)于Scalable Network技術(shù)。本文IDS利用強化學(xué)習(xí)技術(shù)感知環(huán)境的變化,在運行過程中因出現(xiàn)未知攻擊導(dǎo)致檢測準(zhǔn)確率下降,此時強化學(xué)習(xí)的效用下降,后臺安全專家降低對前端的獎賞,當(dāng)效用值小于預(yù)定的效用閾值時,啟動深度自編碼器與深度神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練DAE與DNN,使IDS具備檢測未知攻擊類型的能力。綜合圖11的結(jié)果可知,本文IDS對未知攻擊類型的檢測準(zhǔn)確率與F-score值均優(yōu)于Scalable Network與Zero-Shot Learning。 圖11 IDS對未知攻擊的檢測性能 IDS作為第一道防線,應(yīng)能主動發(fā)現(xiàn)可疑行為以保障網(wǎng)絡(luò)的平穩(wěn)運行,其中發(fā)現(xiàn)新型攻擊是當(dāng)前IDS面臨的一大挑戰(zhàn)。為應(yīng)對網(wǎng)絡(luò)攻擊不斷升級演變的問題,結(jié)合粒子群優(yōu)化算法與強化學(xué)習(xí)提出一種半監(jiān)督學(xué)習(xí)的攻擊檢測系統(tǒng)。該IDS系統(tǒng)的優(yōu)勢在于: (1)在網(wǎng)絡(luò)傳輸數(shù)據(jù)的特征提取方面,利用了DAE的特征提取能力,DAE對網(wǎng)絡(luò)傳輸數(shù)據(jù)的泛化能力強于CNN與RNN等模型。 (2)在網(wǎng)絡(luò)傳輸數(shù)據(jù)的分類器方面,利用深度神經(jīng)網(wǎng)絡(luò)對DAE輸出特征進(jìn)行微調(diào)與分類,增強了特征的判別力。 (3)在對未知攻擊的檢測方面,利用強化學(xué)習(xí)技術(shù)感知環(huán)境的變化,在運行過程中因出現(xiàn)未知攻擊導(dǎo)致檢測準(zhǔn)確率下降,后臺安全專家降低對前端的獎賞,當(dāng)系統(tǒng)效用值小于預(yù)定的效用閾值時啟動深度自編碼器與深度神經(jīng)網(wǎng)絡(luò)重新訓(xùn)練DAE與DNN,使IDS具備檢測未知攻擊類型的能力。2 神經(jīng)網(wǎng)絡(luò)的方法與設(shè)計
2.1 基于深度自編碼器的特征提取
2.2 基于深度神經(jīng)網(wǎng)絡(luò)的攻擊識別
2.3 基于粒子群優(yōu)化算法的網(wǎng)絡(luò)訓(xùn)練方法
3 仿真實驗與結(jié)果分析
3.1 仿真環(huán)境與數(shù)據(jù)集
3.2 IDS評價標(biāo)準(zhǔn)
3.3 已知攻擊實驗
3.4 未知攻擊實驗
4 結(jié)束語