劉廣睿 張偉哲,2 李欣潔
1(哈爾濱工業大學網絡空間安全學院 哈爾濱 150001) 2(鵬城實驗室 廣東深圳 518055)
入侵檢測系統是防護網絡設備免受惡意流量攻擊的重要手段之一[1].然而隨著網絡環境的日益復雜化,傳統基于規則匹配的檢測方法已經無法應對手段多樣的黑客攻擊[2].各大安全廠商陸續將人工智能引入網絡入侵檢測系統[3],期望深度學習技術可以自動化檢測更多未知的網絡攻擊.
但是由于流量樣本存在概念漂移現象[4],樣本的特征分布與類別情況會隨著時間變化,這使智能入侵檢測系統必須頻繁更新以適應新的特征樣本分布.目前主流的更新方式有2種:
1)離線更新模型[5-7].將線上模型替換為線下的新模型,是線下有監督訓練模型.
2)在線更新模型[8-11].將實時捕獲的網絡流量作為模型的訓練樣本,是線上無監督訓練模型.
離線更新模型的性能取決于訓練樣本的選擇.訓練樣本的來源主要有網絡環境收集和廠商合作交換2類.前者的樣本標簽依賴已有模型識別結果,后者的樣本標簽依賴合作方工作.在以上2種情況下,模型維護方都無法確定樣本標簽的準確性,這導致目前訓練樣本的篩選嚴重依賴人工檢查.
在線更新模型雖然可以減少人為干預的工作,但多數現有研究工作[8-11]將所有測試樣本作為模型訓練數據.而真實的網絡環境中存在海量流量數據,這種更新方式需要耗費大量運算資源,并且網絡中流量的情況復雜多變,直接在線訓練模型存在多種安全隱患[12].可見,缺乏樣本篩選的在線更新方法不具備實用性,這導致多數廠商仍選擇離線方法更新模型[13].
如圖1所示,目前智能入侵檢測系統更新方法存在3個問題:
問題1.人工檢查樣本工作量大.人工篩選訓練樣本的工作量不比設計傳統的檢測規則的工作量少,這令基于深度學習的檢測系統維護成本比傳統規則匹配的更高.
問題2.更新導致模型準確率不增反降.訓練樣本可能存在標簽錯誤或數據不平衡等問題[14],人工修正標簽或調整數據分布只能依靠專家經驗,導致經常出現模型更新后準確率降低的情況[15].
問題3.無法有效過濾被污染的投毒樣本.最新的工作指出[12]攻擊者可以在網絡中傳輸看似無害的對抗性流量樣本,這些流量與正常流量別無二致,但其會使得模型被數據投毒或被構造后門.
目前已有的工作對上述問題解決效果并不理想.對于問題1,現有工作[8]注重將特征提取流程自動化,但缺乏考慮數據清洗與過濾工作.選擇哪些樣本加入訓練集,不同類別間樣本量比例以及樣本分布如何調整仍需依賴專家經驗.問題2和問題3本質上都屬于數據污染[16].現有工作主要有2類方法:1)投毒樣本檢測方法[17-20]集中于識別單獨樣本的毒性,會引起較高誤報率,且模型復原代價高;2)增強模型魯棒性方法[21-24]會影響訓練樣本分布,降低模型準確率.
本文旨在解決以上3個問題,為智能網絡入侵檢測系統設計一套支持污染數據過濾的通用模型更新方法.其主要存在4項挑戰:
挑戰1.通用自動化樣本篩選.對基于任意常見人工智能算法的網絡入侵檢測系統的新增訓練樣本實現污染過濾.
挑戰2.正向穩定更新.在環境樣本分布不發生劇烈變化的情況下,避免模型準確率出現更新后不增反降的情況.
挑戰3.投毒攻擊檢測.能夠及時發現訓練樣本中的中毒數據,有效識別數據投毒攻擊.
挑戰4.中毒模型修復.在模型被污染數據影響后,以較小的代價復原模型,保證模型可以正常訓練并使用.
本文基于一個常見的前提假設[8-9],即雖然流量樣本存在概念漂移現象,但通常樣本分布不會發生劇烈變化,而模型的每次更新也應該平滑過渡.如果網絡環境發生劇烈變化,如節假日,應積極加入人工檢測或單獨設計樣本過濾算法應對特殊情況.
本文的主要貢獻包括4個方面:
1)為解決挑戰1,提出了一種通用的智能網絡入侵檢測系統數據污染防御方法.通過監控模型更新前后的變化,實現自動化污染數據過濾與模型修復,對模型的性能和健壯性起到保障作用.
2)為解決挑戰2,提出了一套基于衡量訓練樣本子集污染程度的模型更新方法.通過檢查新增訓練樣本與原模型的均方誤差(mean square error,MSE)保證模型平穩更新,提升模型準確率.
3)為解決挑戰3,設計了一種計算模型分類界面邊緣樣本的生成對抗網絡.通過檢查新模型對舊邊緣樣本的Fβ分數,判斷模型分類界面是否被投毒攻擊拉偏,及時對投毒攻擊進行預警.
4)為解決挑戰4,在系統受到投毒攻擊后,通過讓模型學習惡意邊緣樣本,抑制投毒樣本對模型的影響,同時保證其他正常樣本仍可作為訓練數據,大幅降低了修復模型的代價.
為了與現有工作對比,我們在常用流量數據集CICIDS2017[25]中測試了本文提出的更新方法.對比現有最先進的方法,該方法對投毒樣本的檢測率平均提升12.50%,對中毒模型的修復效果平均提升6.38%.
我們公布了框架源碼(1)https://github.com/liuguangrui-hit/MseAcc-py,其已在多種智能入侵檢測系統中測試運行[5-9],均實現了模型的穩定正向更新,同時完成數據污染的過濾與修復.對于在線更新模型,該框架需搭載在特征提取器后;對于離線更新模型,則可搭建在模型外.
Mahoney等人[26]將人工智能引入網絡入侵檢測系統(network intrusion detection system, NIDS),讓模型學習從鏈路層到應用層的協議詞匯表,以檢測未知攻擊.近年來人工智能技術快速發展,多種深度神經網絡都已被引入到不同NIDS中,典型的包括深度神經網絡(DNN)[5]、循環神經網絡(RNN)[6]、長短期記憶神經網絡(LSTM)[7]、多層感知機(MLP)[8]以及門控循環單元(GRU)[9]等.雖然智能NIDS對傳統惡意流量的識別率很高,但是現有的以離線有監督方式訓練模型的系統[5-7]缺乏對數據投毒攻擊的防御以及修復方法,而以在線無監督方式訓練模型的系統[8-11]也沒有考慮如何在訓練樣本被污染的情況下穩定更新模型.表1對比了不同智能NIDS的具體實現算法.

Table 1 Comparison of Typical Intelligent Intrusion Detection System Work
面向智能NIDS的數據投毒攻擊方法主要分為標簽翻轉和模型偏斜2類.表2對比了12種典型的對智能NIDS的數據投毒攻擊技術.

Table 2 Comparison of Typical Data Poisoning Attack Techniques for Intelligent NIDS
1)標簽翻轉假設攻擊者可以控制智能NIDS的部分訓練過程,并通過引入錯誤標簽的訓練樣本干擾模型學習.文獻[27-32]分別通過標簽污染、過敏攻擊、控制樣本分布、干擾先驗信息、隨機突變以及質心偏移等方式對模型進行投毒攻擊;
2)模型偏斜是一類通過輸入大量良性對抗樣本拉偏模型分類邊界的攻擊方法,其可在黑盒條件下實施投毒攻擊.文獻[33-38]分別使用邊緣檢測、生成對抗網絡(GAN)、快速梯度符號方法(FGSM)、雅可比矩陣、C&W、向數據包添加擾動等算法生成影響模型訓練的對抗樣本.
數據污染的誘因有誤差噪聲和數據投毒2種,由于現有對數據投毒攻擊的防御技術通常也對誤差噪聲有一定過濾能力,所以將對誤差噪聲和數據投毒的防御統稱為對數據污染的防御,并統一評價.
面向智能NIDS的數據污染防御技術主要分為數據清洗和魯棒性學習2類.表3對比了8種典型的對智能NIDS的數據污染防御技術.
1)數據清洗是一種避免將污染數據輸入到模型中或降低輸入樣本毒性的技術.文獻[17-18]分別通過樣本格式化和消除輸入擾動降低樣本毒性.文獻[19-20]分別通過類別分布差異和神經網絡敏感度檢測投毒樣本.此類方法可達到較高的準確率,但也會引起較高的誤報率,且模型復原代價高.
2)魯棒性學習是一種通過增強模型魯棒性,保證訓練樣本中即便混入污染數據,也不會對模型造成嚴重影響的防御方法.文獻[21-24]分別通過穩定樣本分布、引入脈沖神經網絡、特征縮減、對抗訓練方式增強模型的抗毒性.此類方法通常要以降低模型準確率為代價.

Table 3 Comparison of Typical Contaminated Examples Defense Techniques for Intelligent NIDS
本節主要介紹如何實現智能NIDS中模型的安全穩定更新.說明如何計算模型分類界面附近的邊緣樣本,怎樣利用邊緣樣本識別訓練數據中被污染的樣本子集,以及在模型中毒后如何快速修復.
攻擊者對智能NIDS的數據投毒一般是為后續攻擊所做的準備[39-40],因為僅令NIDS失效對攻擊者而言沒有直接受益.投毒攻擊的目標是令模型無法識別部分惡意流量.如圖2所示,對智能NIDS投毒的本質是將模型的惡意分類區域縮小,即將分類邊界向惡意分類區域內部推動,使后續惡意流量更容易繞過NIDS檢測.而模型更新時分類邊界變化一般為相反方向.由于網絡環境中可能仍存在舊有攻擊流量,基于規則匹配的NIDS不會因系統更新而刪除舊有規則,而基于人工智能的NIDS也不因模型更新而使惡意分類區域大幅縮小.
我們設計了邊緣樣本生成算法,以快速確定模型分類邊界的變化情況.最新工作已經討論了在特征空間內對抗樣本和分類邊界以及數據流形的位置關系,并證明了對抗樣本位于模型分類邊界附近[41-42].基于此,我們設計了一種可以快速生成邊界樣本的算法.首先利用人工智能模糊測試技術[43](AI Fuzzing)尋找模型錯誤識別的樣本,其存在于真實網絡中;然后利用EdgeGAN算法生成處于模型分類邊界附近的對抗樣本集合,其存在于特征空間中.由模糊測試啟動EdgeGAN的判別器可以縮小邊緣樣本搜索范圍,加快EdgeGAN收斂速度.模糊測試得到的錯誤分類樣本包含接近分類邊界的樣本簇和遠離分類邊界的異常點,通過令EdgeGAN的判別器與生成器對抗,使生成器分布擬合分布較廣的邊緣樣本.
EdgeGAN算法結構如圖3所示.通過迭代訓練判別器與生成器,使生成器擬合可令模型錯誤分類的對抗樣本.通過限制擾動向量z的模值,避免生成器向異常點擬合.其優化目標為
E(xtr,z)~p(xtr,z)(xtr,z)[log(1-D(G(xtr+z)))].
(1)
其中,xtr∈T和xfa∈F,T,F分別為錯誤分類和正確分類的樣本特征向量集合;pxfa(xfa)為xfa的概率分布,p(xtr,z)(xtr,z)為xtr與噪聲z的聯合概率分布;G(xtr+z)為對抗樣本.
EdgeGAN中生成器G利用已有邊緣樣本進行訓練,其目標是生成與邊緣樣本分布相近的對抗樣本.而判別器D則致力于區分邊緣樣本和生成器G產生的對抗樣本.
LD=Exfa~pxfa(xfa)[logD(xfa)]+
E(xtr,z)~p(xtr,z)(xtr,z)[log(1-D(G(xtr+z)))].
(2)
式(2)為判別器D的損失函數,其表達了D識別邊緣樣本的概率分布與G生成對抗樣本的概率分布之間的差距.對于一個確定的對抗樣本,當生成器G固定時,該損失函數值越小代表D的推理能力越強.
LG=E(xtr,z)~p(xtr,z)(xtr,z)[log(1-D(G(xtr+z)))].
(3)
式(3)為生成器G的損失函數,其表達了G生成的對抗樣本對D的欺騙能力.在判別器D固定時,該損失函數越小代表G生成的對抗樣本越接近模型分類邊界.
迭代訓練判別器D與生成器G,使G生成的對抗樣本不斷逼近模型邊緣.當訓練完成后,向生成器G中輸入任意流量樣本即可返回邊緣樣本.使用生成對抗網絡而不是簡單插值計算邊緣樣本可使該框架適用于更多的智能NIDS,減少人工計算成本.EdgeGAN邊緣樣本生成器的具體訓練算法如算法1所示.
算法1.邊緣樣本生成器EdgeGAN訓練算法.
輸入:流量樣本集T={x1,x2,…,xn}、當前NIDS模型f、判別器初始參數ω0、生成器初始參數θ0;
輸出:判別器參數ω、生成器參數θ.
① whileθ未收斂do
②AI-Fuzzing(xi,f),i=1,2,…,n;
/*將流量樣本輸入NIDS模型中進行
模糊測試*/
③T←xtr,F←xfa;/*正確識別的樣本留在集合T,錯誤識別的樣本放入集合F*/
④ 從F中抽取一批樣本xfa;
⑤ 生成器G根據xtr計算對抗樣本G(xtr+z);/*z為服從正太分布的隨機噪聲向量*/
⑥ 從T中抽取一批樣本xtr;
⑦ 判別器D輸出xfa和對抗樣本G(xtr+z)的預測標簽;
⑧T←G(xtr+z);/*生成器G生成的對抗樣本G(xtr+z)補充集合T*/
⑨ 根據判別器D的預測標簽沿著梯度?ωLD下降方向更新判別器參數ω;
⑩ 根據判別器D的預測標簽沿著梯度?θLG下降方向更新生成器參數θ;
首先使用人工篩選的少量干凈數據集預訓練模型,然后利用本文的更新框架自動化更新模型.在模型更新過程中,為避免因高誤報率導致頻繁人為干預,數據污染的檢測由傳統的單獨樣本毒性檢測[22]變為樣本集污染程度分析.將全部待訓練數據分為若干子集,分批迭代更新模型.
為了讓模型平穩更新,在每批訓練樣本子集輸入模型前,檢測新增訓練樣本與原模型的MSE值,以判定新訓練數據與現有模型的偏差.MSE的計算公式為
(4)

更新允許出現偏差,但如果偏差過高,即MSE值超過閾值,則表明該批樣本中錯誤標簽過多,需要修復模型.標簽錯誤的原因有2種,因誤差產生或因標簽翻轉攻擊產生.MSE值可有效識別以上2種數據污染.
由于模型偏斜攻擊的投毒樣本均為良性對抗樣本,其真實標簽和模型預測標簽均為良性,MSE值無法有效檢測.模型偏斜攻擊的目標是縮小模型惡意分類區域,通過輸入大量良性對抗樣本影響樣本平衡性,使分類邊界向惡意分類區域內移動.而訓練后模型對原模型邊緣樣本的Fβ分數可以顯示訓練樣本對模型分類邊界的影響.Fβ的計算公式為
(5)
(6)
(7)
其中,TP為真陽性樣本數量,即被模型正確識別的良性樣本數量;FP為假陽性樣本數量,即被模型錯誤識別的惡意樣本數量;FN為假陰性樣本數量,即被模型錯誤識別的良性樣本數量.
Precision為精確率,表示被模型識別為良性的樣本中識別正確的樣本占比;
Recall為召回率,表示模型在識別良性樣本時能夠正確識別的樣本占比;
Fβ分數展現了樣本的平衡性,Recall的權重是Precision的β倍.
如圖4所示,在檢測投毒樣本時,對惡意邊緣樣本被識別為良性的容忍度低,即避免惡意分類區域縮小,對FP值限制嚴格;對良性邊緣樣本識別為惡意的容忍度高,即允許惡意區域擴大,對FN值限制寬松.所以精確率的權重高于召回率,故0<β<1.
更新允許出現不平衡,但如果平衡性過低即Fβ分數低于閾值,則表明該批樣本中存在投毒樣本,需要修復模型.值得注意的是,如果Fβ分數出現異常,則明確表明環境中存在針對該系統的投毒攻擊者.
由于MSE值與Fβ分數的閾值選擇受到子集樣本數量、特征與標簽數量以及網絡環境等因素影響,無法給定標準值.可通過記錄模型訓練干凈數據時二者的波動情況設定閾值.
當發現訓練樣本已被污染,即MSE高于閾值或Fβ分數低于閾值時,需立即修復模型.如果擁有大量訓練數據,可以選擇丟棄該子集內樣本.但由于訓練樣本子集可能僅部分被污染,直接丟棄該子集會造成較大損失.此時模型可正常訓練,并通過在訓練子集中加入邊緣樣本中的惡意樣本修復模型.惡意邊緣樣本可以抑制模型惡意分類區域向內縮小,以抵御投毒攻擊.
傳統方法依賴梯度計算[17]或存儲歷史參數[18]等方式修復模型,其對于大規模智能NIDS不具備實用價值.依賴梯度計算需要大量人工操作,且依賴于特定模型,缺乏通用性;而存儲歷史參數需要存儲海量模型參數,且無法確定模型應恢復到哪一參數狀態.我們的方法通過存儲少量的更新前模型邊緣樣本,無需存儲模型歷史信息,即可完成污染檢測與模型修復.智能NIDS中模型完整的更新流程如圖5所示:
本節展示了我們提出的模型更新方法在5種典型的智能NIDS[5-9]上的效果.使用2類常見數據污染算法[32,38]對模型進行攻擊測試.實驗驗證了新方法在污染數據過濾上的有效性,并與現有最先進的方法[19-20,23-24]對比了投毒樣本的檢測率與中毒模型的修復效果.
1)數據集預處理
本文采用改進版的CICIDS2017數據集[25],其修正了原始數據中的標簽錯誤和丟失問題,并改善了類別不平衡情況.
我們刪除了CICIDS2017數據集中特征缺失樣本并將相似類別合并,得到共2 823 541條流量樣本記錄.其中包含PortScan,Web-Attack,Bruteforce,Botnet,DoS,DDoS這6種惡意類別和Benign這1種良性類別.每個樣本xi(1≤i≤n)擁有78維特征xij(1≤j≤78)和1維流量分類標簽yi.通過z分數標準化消除不同維度的特征量綱.
(8)
(9)
(10)


Table 4 The Components of the Processed CICIDS2017 Dataset
2)目標智能網絡入侵檢測系統配置
本文選用5個典型的智能NIDS作為更新方案實驗對象,它們分別為文獻[5]提出的基于DNN的NIDS、文獻[6]提出的基于RNN的NIDS、文獻[7]提出的基于LSTM的NIDS、文獻[8]提出的基于MLP的NIDS,以及文獻[9]提出的基于GRU的NIDS.
(11)
本文使用準確率(Accuracy)評價模型性能,式(11)中TN為真陰性樣本數量,即被模型正確識別的惡意樣本數量,其他變量含義見2.3節.隨機抽取訓練集各類別中0.01%數量的樣本作為預訓練數據集.5種不同NIDS模型在使用預訓練數據集訓練后,在測試集上的準確率如表5所示.各NIDS模型以此作為基礎進行3.2節與3.3節的有效性實驗與對比實驗.

Table 5 Accuracy After Intelligent NIDS Pre-training
1)MSE值與Fβ分數的閾值設定
新增訓練集10 000 000條,劃分為20個訓練樣本子集,即每個子集包含500 000條樣本.子集中樣本按類別標簽等比例隨機抽取.每輪更新計算模型500條邊緣樣本.
表6和表7展示了5個智能NIDS在正常完成20個干凈樣本子集訓練時的MSE值與Fβ分數的波動情況.5個模型的MSE最大值均低于0.3,Fβ分數最小值均高于0.9.因此選取MSE閾值為0.3,Fβ閾值為0.9,β值取0.5.

Table 6 MSE Fluctuations of Different Models During Regular Training

Table 7 Fβ Fluctuations of Different Models During Regular Training
2)污染過濾與模型修復效果
5個智能NIDS模型預訓練后初始準確率如表5所示.在此基礎上按照本文提出方案(如圖5所示)訓練20個樣本子集.對第11~14個樣本子集進行數據污染,污染樣本占總樣本數的10%.數據污染方式選取文獻[32]與文獻[38]的投毒攻擊.文獻[32]通過修改訓練樣本標簽造成的數據質心偏移,用以測試標簽錯誤與標簽翻轉造成的數據污染;文獻[38]通過向訓練樣本中添加良性對抗樣本干擾模型訓練,用以測試模型偏斜造成的數據污染.
實驗對5種不同模型的NIDS依次測試其在5種情況下的參數變化:1)受到標簽翻轉攻擊(投毒-標簽翻轉);2)受到模型偏斜攻擊(投毒-模型偏斜);3)受到標簽翻轉攻擊后修復模型(修復-標簽翻轉);4)受到模型偏斜攻擊后修復模型(修復-模型偏斜);5)正常訓練的對照組(未投毒).其中,“-”前是區分投毒且不修復(記作“投毒”)或投毒且修復(記作“修復”);“-”后是區分投毒攻擊類別為“標簽翻轉”或“模型偏斜”.圖6~10展示了模型訓練過程中MSE值、Fβ分數及準確率變化,MSE值主要體現本文方法對標簽翻轉的識別效果,Fβ分數主要體現本文方法對模型偏斜的識別效果,準確率對比了模型在5種場景下的性能變化.
實驗驗證了本文方法對標簽翻轉攻擊與模型偏斜攻擊的識別與修復能力.實驗結果表明,本文方法在5中不同模型的NIDS中均能有效識別出投毒攻擊并進行模型修復.當受到投毒攻擊時,MLP和DNN模型會立刻發生變化,可以快速識別投毒樣本子集;而由于RNN和LSTM模型具有時序性,使中毒效果延遲,也導致了投毒識別的延遲與漏報;GRU雖然也具有時序性,但其時間步距較大,無法推遲投毒效果,所以可以及時識別出其中毒情況.觀察5種模型在修復時的準確率變化,可以看出雖然模型修復可以抵御投毒攻擊并使中毒模型準確率逐漸恢復正常,但也會抑制模型的訓練,所以邊緣樣本應僅在模型中毒時加入訓練集.
1)基準方法與變量設置
在對比實驗中,中毒樣本檢測實驗的基準方法選取自文獻[19-20],中毒模型修復實驗的基準方法選取自文獻[23-24].其中文獻[19]利用中毒樣本對不同類別特征分布的影響檢測攻擊,文獻[20]利用神經網絡對中毒樣本和正常樣本的敏感度差異檢測攻擊,文獻[23]利用主成分分析進行特征縮減提升模型魯棒性,文獻[24]利用雅可比矩陣進行對抗訓練提升模型魯棒性.為便于與現有工作在樣本檢測率和模型修復效果方面對比,將新增訓練集10 000 000條,劃分為100個訓練樣本子集,即每個子集包含100 000條樣本.子集中樣本按類別標簽等比例隨機抽取.對隨機抽取的20個樣本子集進行數據污染,污染樣本占總樣本數的10%.每輪更新計算模型100條邊緣樣本.模型初始狀態、MSE值與Fβ分數的閾值設定、β取值與3.2節相同.
2)中毒樣本檢測實驗
本文使用中毒樣本的檢測率(poison detection rate,PDR)與誤報率(false alarm rate,FAR)評價不同方法對數據投毒的識別能力.
(12)
(13)
其中,TruePoison表示被識別為中毒的樣本中識別正確的樣本;FalsePoison表示被識別為中毒的樣本中識別錯誤的樣本;TrueClean表示被識別為干凈的樣本中識別正確的樣本;FalseClean表示被識別為干凈的樣本中識別錯誤的樣本.PDR表示在識別中毒的樣本集時,正確識別的集合占比;FAR表示識別為中毒的樣本集中,錯誤識別的集合占比.
圖11和圖12分別對比了本文提出方法、文獻[19]、文獻[20]對標簽翻轉類和模型偏斜類中毒樣本的檢測率與誤報率.
實驗對比了不同方法對標簽翻轉攻擊和模型偏斜攻擊的中毒樣本集識別能力.實驗結果表明,對比現有先進方法,本文方法對標簽翻轉投毒的識別能力在5種智能NIDS上均有提升.由于標簽翻轉攻擊直接修改樣本標簽,較易被識別.本文方法又在投毒樣本的特征和目的2個方面進行檢測,有效提升了識別能力;本文方法對模型偏斜投毒的識別能力在DNN,MLP和GRU模型上有顯著提升,在RNN和LSTM模型上效果欠佳.由于模型偏斜攻擊借助對抗樣本引導模型中毒,較為隱蔽.本文方法通過邊緣樣本檢測模型分類邊界變化,而RNN和LSTM模型具有時序性記憶,使分類邊界變化較為滯后,影響了該方法的檢測效果.具體來說,與現有先進方法相比,本文方法對標簽翻轉投毒檢測率平均提升12.00%,誤報率平均降低7.75%,對模型偏斜投毒檢測率平均提升13.00%,誤報率平均降低10.50%.
3)中毒模型修復實驗
圖13和圖14分別對比了在本文提出方法、文獻[23-24]保護下的模型受到標簽翻轉攻擊和模型偏斜攻擊的準確率變化.
實驗對比了在不同方法保護下的模型受到標簽翻轉攻擊和模型偏斜攻擊后的準確率變化.實驗結果表明,對比現有先進方法,在模型受到模型偏斜攻擊后,使用本文方法修復的模型準確率在5種智能NIDS上均有提升.由于模型偏斜攻擊利用良性對抗樣本推動分類邊界,本文方法使用惡意邊緣樣本訓練模型,可以有效穩定邊界不向惡意分類區域移動;在模型受到標簽翻轉攻擊后,使用本文方法修復的模型準確率在DNN,MLP,GRU模型上有所提升,在RNN和LSTM模型上效果欠佳.由于標簽翻轉攻擊修改了訓練樣本的標簽,使模型學習了錯誤知識,因此模型不易被修復.而RNN和LSTM模型又使中毒效應延遲,導致模型防御較為滯后.但標簽翻轉攻擊屬于白盒攻擊,攻擊條件較為苛刻,且時序模型本身對投毒攻擊具有一定抵御能力,使準確率不會嚴重下降.具體來說,與現有先進方法相比,本文方法對對標簽翻轉的修復能力平均提升6.20%,模型偏斜中毒的修復能力平均提升6.56%.
本文提出了一種利用邊緣樣本保護智能網絡入侵檢測系統免受數據污染的防御技術.相比傳統投毒識別方法,本文方法更加關注模型變化,而非數據異常,其適用于任意常見人工智能算法,可減少人工樣本篩選工作,有效降低了投毒檢測與模型修復的代價.該方法利用模糊測試使生成對抗網絡快速擬合模型分類邊界的邊緣樣本分布.通過監控新增訓練樣本與原模型的MSE值,以及新模型對舊邊緣樣本的Fβ分數,保證模型平穩更新,避免模型中毒.當模型受到投毒影響時,通過學習惡意邊緣樣本快速復原.對比現有方法,本文方法對投毒樣本的檢測率平均提升12.50%,對中毒模型的修復效果平均提升6.38%.本文提出的方法也可以應用于其他相似的智能威脅檢測問題中.但該方法對時序模型的防御效果較弱,今后將通過檢測樣本集之間的時序變化優化本文方法.
作者貢獻聲明:劉廣睿提出了算法思路并撰寫論文;張偉哲提出指導意見并修改論文;李欣潔負責設計實驗方案并完成實驗.