胡聲秋,李友國,高淵,吳玲麗
(中國移動(dòng)通信集團(tuán)重慶有限公司,重慶 401121)
近年來,深度學(xué)習(xí)技術(shù)在網(wǎng)絡(luò)安全領(lǐng)域得到了快速應(yīng)用[1-3],例如入侵檢測[4]、惡意軟件分析[5]、垃圾郵件過濾[6]和網(wǎng)絡(luò)釣魚檢測[7]等?;谏疃葘W(xué)習(xí)的網(wǎng)絡(luò)入侵檢測技術(shù)得到了快速演進(jìn),使得一些傳統(tǒng)入侵檢測系統(tǒng)無法實(shí)現(xiàn)的應(yīng)用也能在深度學(xué)習(xí)領(lǐng)域成功進(jìn)行驗(yàn)證[8-9]。然而,深度學(xué)習(xí)的高度非線性特性限制了開發(fā)人員對(duì)其進(jìn)行解釋,存在潛在的網(wǎng)絡(luò)安全隱患。許多工作也驗(yàn)證了深度學(xué)習(xí)在處理對(duì)抗操作方面的脆弱性[10-12]。例如,對(duì)抗樣本可以通過稍微改變網(wǎng)絡(luò)輸入數(shù)據(jù)來混淆深度學(xué)習(xí)模型[13-16]。為了確?;谏疃葘W(xué)習(xí)的安全系統(tǒng)的防御能力,該研究針對(duì)物聯(lián)網(wǎng)環(huán)境設(shè)計(jì)的基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測系統(tǒng)Kitsune 的安全性問題,從兩個(gè)角度來進(jìn)行評(píng)估:1)物聯(lián)網(wǎng)視角:抵御惡意網(wǎng)絡(luò)攻擊的能力。2)對(duì)抗機(jī)器學(xué)習(xí)視角:處理對(duì)抗樣本的魯棒性,在執(zhí)行對(duì)抗樣本攻擊時(shí)將KitNet 與Kitsune 解耦開來,從歸一化的特征空間來評(píng)估KitNet 的安全性。同時(shí),將傳統(tǒng)的手工固定閾值進(jìn)行回歸模型學(xué)習(xí),通過后處理變換轉(zhuǎn)變?yōu)樽赃m應(yīng)閾值。最終,利用彈性網(wǎng)絡(luò)進(jìn)行對(duì)抗樣本生成和網(wǎng)絡(luò)入侵檢測優(yōu)化,在盡可能小的輸入擾動(dòng)下,實(shí)現(xiàn)混淆入侵檢測系統(tǒng)的分類。
如圖1 所示,Kitsune 是由數(shù)據(jù)包捕獲器、數(shù)據(jù)包解析器、特征提取器、特征映射器和異常檢測器組成。數(shù)據(jù)包捕獲器和數(shù)據(jù)包解析器是網(wǎng)絡(luò)入侵檢測系統(tǒng)的標(biāo)準(zhǔn)組件,它們轉(zhuǎn)發(fā)解析后的數(shù)據(jù)包和元信息(例如傳輸信道、網(wǎng)絡(luò)抖動(dòng)、捕獲時(shí)間等)。然后,特征提取器生成一個(gè)包含100 多個(gè)統(tǒng)計(jì)信息的特征向量,這些統(tǒng)計(jì)信息定義了數(shù)據(jù)包和活動(dòng)通道的當(dāng)前狀態(tài)。特征映射器將這些特征聚類成子集,然后輸入到異常檢測器中,異常檢測器包含深度學(xué)習(xí)模型KitNet。
圖1 Kitsune的框架流程圖
Kitsune 是專門針對(duì)物聯(lián)網(wǎng)環(huán)境部署在網(wǎng)絡(luò)交換機(jī)上的輕型入侵檢測系統(tǒng)。它通過使用無監(jiān)督的在線學(xué)習(xí)方法來實(shí)現(xiàn),該方法允許動(dòng)態(tài)更新,以響應(yīng)目標(biāo)網(wǎng)絡(luò)節(jié)點(diǎn)的流量。該方法在訓(xùn)練階段假設(shè)所有的實(shí)時(shí)傳輸都是合理的,從而學(xué)習(xí)正常的數(shù)據(jù)分布。在測試階段,它解析傳入的數(shù)據(jù),通過判斷是否遵循所學(xué)到的正常分布來進(jìn)行異常檢測。
KitNet 由集成層和輸出層組成。集成層包含多個(gè)自動(dòng)編碼器,每個(gè)自動(dòng)編碼器處理一組由特征映射器提供的輸入。然后,這些自動(dòng)編碼器的輸出分?jǐn)?shù)經(jīng)過歸一化后送入到輸出層中的一個(gè)聚合自動(dòng)編碼器,其輸出分?jǐn)?shù)用于評(píng)估網(wǎng)絡(luò)流量數(shù)據(jù)的安全性。
自動(dòng)編碼器是KitNet 的基本組成部件,它將輸入編碼成隱層表示,然后從該表示解碼恢復(fù)到相同的輸入維度。KitNet 中的自動(dòng)編碼器經(jīng)過訓(xùn)練后,能夠正確編碼正常網(wǎng)絡(luò)流量的相關(guān)屬性。KitNet使用均方根誤差(Root Mean Square Error,RMSE)函數(shù)作為每個(gè)自動(dòng)編碼器的性能標(biāo)準(zhǔn)。每個(gè)自動(dòng)編碼器模塊產(chǎn)生的分?jǐn)?shù)由下式給出:
其中,n是輸入數(shù)量,是自動(dòng)編碼器,為輸出的分?jǐn)?shù)。
正則化器是Kitsune 的另一個(gè)組件,它在聚合自動(dòng)編碼器之前運(yùn)行,用以實(shí)現(xiàn)分?jǐn)?shù)的歸一化操作,使得最小最大值范圍線性縮放到0 和1 之間:
X為訓(xùn)練過程中所有樣本的第i個(gè)元素組成的集合。
KitNet 的主要輸出是由聚合自動(dòng)編碼器產(chǎn)生的RMSE 分?jǐn)?shù),而不是像常規(guī)深度學(xué)習(xí)分類器那樣的概率規(guī)律。Kitsune 只有當(dāng)S≥φβ時(shí)才會(huì)觸發(fā)警報(bào)(認(rèn)定為異常發(fā)生),其中φ是訓(xùn)練期間記錄的分?jǐn)?shù)最高值,β是一個(gè)常數(shù),且β≥1,以確保所有的訓(xùn)練數(shù)據(jù)都服從正態(tài)分布。
為了實(shí)現(xiàn)對(duì)抗性機(jī)器學(xué)習(xí),將Kitsune的原始C++版本在TensorFlow 框架中進(jìn)行實(shí)現(xiàn)。測試和評(píng)估流程與C++實(shí)現(xiàn)保持一致。然后,利用Cleverhans[17](一個(gè)對(duì)抗性機(jī)器學(xué)習(xí)庫),來生成不同的對(duì)抗性樣本。使用了與文獻(xiàn)[18]中相同的Mirai 數(shù)據(jù)集進(jìn)行對(duì)比實(shí)驗(yàn)。
通過在KitNet 的輸出端添加一個(gè)額外的變換層,將分類機(jī)制引入到模型中,如式(3)所示:
這使得深度學(xué)習(xí)模型基于閾值T產(chǎn)生分類結(jié)果。當(dāng)T=φβ時(shí),即與原始KitNet 等價(jià),將模型從回歸器轉(zhuǎn)換為分類器。
針對(duì)深度學(xué)習(xí)模型的對(duì)抗樣本,在執(zhí)行攻擊時(shí)將KitNet 與Kitsune 解耦開來。在對(duì)Kitsune 的現(xiàn)實(shí)攻擊中,攻擊者必須繞過特征提取器,以便在KitNet的輸入上引起擾動(dòng)。然而,通過對(duì)特征提取器原理的理解,攻擊者可以通過構(gòu)造的數(shù)據(jù)包來生成所需的特征。因此,在進(jìn)行對(duì)抗性評(píng)估時(shí),著重從歸一化的特征空間來評(píng)估KitNet 的安全性。
為了客觀衡量基于深度學(xué)習(xí)的網(wǎng)絡(luò)安全檢測系統(tǒng)的防御能力,應(yīng)該從傳統(tǒng)網(wǎng)絡(luò)安全和對(duì)抗機(jī)器學(xué)習(xí)兩個(gè)方面分別進(jìn)行評(píng)估。在網(wǎng)絡(luò)入侵檢測領(lǐng)域,區(qū)分惡意網(wǎng)絡(luò)流量和正常流量的能力是主要的性能指標(biāo)。
Kitsune 的開發(fā)人員針對(duì)各種網(wǎng)絡(luò)中的一系列攻擊對(duì)檢測系統(tǒng)進(jìn)行了評(píng)估,發(fā)現(xiàn)Kitsune 的準(zhǔn)確性高度依賴于閾值T的選取。該值定義了決策邊界,是模型部署時(shí)的重要超參之一。為了觀察閾值T如何影響對(duì)抗性機(jī)器學(xué)習(xí)中的擾動(dòng),進(jìn)而評(píng)估其性能,考慮了以下兩個(gè)指標(biāo):
1)假陽性率(False Positive,FP):被錯(cuò)誤分類為惡意攻擊的百分比。
2)假陰性率(False Negative,FN):被錯(cuò)誤分類為正常的惡意輸入百分比。
一方面,誤報(bào)率反映了網(wǎng)絡(luò)的可靠性。另一方面,漏報(bào)率則反映了入侵檢測系統(tǒng)的有效性。因此,在理想情況下,兩種指標(biāo)都應(yīng)盡可能最小化。在Kitsune 的設(shè)置中,閾值T對(duì)假陽性率和假陰性率進(jìn)行了權(quán)衡。
在該分析中,對(duì)閾值T的可能取值范圍(0~20)進(jìn)行了研究。當(dāng)T=20 時(shí),漏報(bào)率為100%。圖2(a)繪制了閾值T對(duì)誤報(bào)率和漏報(bào)率以及入侵檢測系統(tǒng)成功率的影響性分析。圖2(b)則為檢測系統(tǒng)的精度-召回曲線(ROC 曲線)。
圖2 閾值T的影響性分析及ROC曲線
從圖中可以觀察到,假陽性率和假陰性率在閾值中間范圍內(nèi)幾乎保持不變。在閾值范圍的兩端,兩個(gè)指標(biāo)呈現(xiàn)出此消彼長的趨勢。最后,當(dāng)T<7 時(shí),成功率也基本上沒有變化,這是因?yàn)楫惓z測數(shù)據(jù)集通常是長尾分布的,且大多屬于正常類別。綜上,發(fā)現(xiàn)0.05~1 之間的取值范圍是比較合適的。圖2(b)中的ROC 曲線則證明了Kitsune 在Mirai 數(shù)據(jù)集上的有效性。
智能和自適應(yīng)的攻擊者通常會(huì)利用機(jī)器學(xué)習(xí)模型的弱點(diǎn),通過使用對(duì)抗樣本生成等技術(shù)來攻擊基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測系統(tǒng)。對(duì)抗機(jī)器學(xué)習(xí)主要有兩個(gè)攻擊目標(biāo),即完整性攻擊和可用性攻擊。完整性攻擊是通過生成逃避檢測的惡意流量從而產(chǎn)生假陰性樣本,而可用性攻擊則是通過偽裝正常流量(看起來像惡意流量),產(chǎn)生假陽性樣本。然而,無論是哪種對(duì)抗樣本,都要求在盡可能小的輸入擾動(dòng)下實(shí)現(xiàn)混淆入侵檢測系統(tǒng)的分類。
執(zhí)行這些攻擊的另一個(gè)問題是網(wǎng)絡(luò)數(shù)據(jù)不同于圖像,圖像通常用于傳統(tǒng)的對(duì)抗性機(jī)器學(xué)習(xí)。圖像域中的對(duì)抗樣本是指那些被人類看起來相同但被模型感知為不同的圖像。Lp范數(shù)可以用來量化兩幅圖像之間的距離,因此可以直接用作度量指標(biāo)。然而,在網(wǎng)絡(luò)安全中,攻擊的定義通常是抽象的。
一種可能的方式是在模型抽取的特征層面進(jìn)行差異性度量。具體來說,使用原始輸入和產(chǎn)生的擾動(dòng)輸入在特征空間上進(jìn)行Lp范數(shù)的距離計(jì)算。此時(shí),L0范數(shù)表示對(duì)提取特征的少量擾動(dòng)。
正如許多不同領(lǐng)域的生成對(duì)抗樣本方法一樣,該研究著重針對(duì)網(wǎng)絡(luò)安全領(lǐng)域?qū)哂胁煌稊?shù)距離度量指標(biāo)的對(duì)抗樣本效果進(jìn)行了實(shí)驗(yàn)對(duì)比,來評(píng)估KitNet 與如下幾種方法的魯棒性。
1)快速梯度符號(hào)法。該方法在L∞范數(shù)上進(jìn)行優(yōu)化,即減少任何輸入特征上的最大擾動(dòng),在與梯度相反的方向上對(duì)x→的每個(gè)元素進(jìn)行單步處理[15]。
2)雅可比顯著圖方法。這種攻擊通過迭代的方式計(jì)算顯著圖,然后對(duì)特征進(jìn)行最大程度的擾動(dòng),并最小 化L0范數(shù)[16]。
3)Carlini 和Wagner(C&W)?;贑&W 的對(duì)抗框架,可以最小化L0、L2或L∞距離度量[14]。文中利用L2范數(shù),通過迭代的方式來減少向量之間的歐氏距離。
4)彈性網(wǎng)絡(luò)方法。彈性網(wǎng)絡(luò)攻擊限制了整個(gè)輸入空間的絕對(duì)擾動(dòng),即L1范數(shù)。彈性網(wǎng)絡(luò)方法通過使用帶有L1正則化器的迭代L2攻擊,來生成對(duì)抗樣本[17]。
完整性攻擊是在閾值為1.0 的正常輸入上執(zhí)行的。實(shí)驗(yàn)結(jié)果如表1 所示。為了比較不同算法,測量了所有的Lp范數(shù)指標(biāo)。每次攻擊都是在數(shù)據(jù)集中隨機(jī)選取的1 000 個(gè)正常樣本上進(jìn)行的。
表1 作用在KitNet上的完整性攻擊
可用性攻擊也使用相同的閾值。隨機(jī)選擇1 000個(gè)輸出分?jǐn)?shù)最接近閾值的輸入向量,結(jié)果如表2 所示。需要注意的是,由于正則化器只在正常輸入上進(jìn)行訓(xùn)練,許多惡意攻擊將在0~1 范圍之外進(jìn)行規(guī)范化。
表2 作用在KitNet上的可用性攻擊
通過比較表1 和表2 可以看出,KitNet 在處理不同算法產(chǎn)生的完整性攻擊的性能表現(xiàn)一般要比可用性攻擊好。例如,對(duì)抗樣本很少在快速梯度符號(hào)法和雅可比顯著圖的可用性攻擊中生成。此外,可用性攻擊產(chǎn)生的干擾都比完整性攻擊大。造成這種問題的一個(gè)潛在原因是正常和惡意輸入數(shù)據(jù)之間的不相交性,這種不相交性源于規(guī)范化輸入的裁剪操作以及更接近正常輸入數(shù)據(jù)的邊界判定(即閾值T)。
在這4 種方法中,KitNet 在快速梯度符號(hào)法和雅可比顯著圖的表現(xiàn)比C&W 和彈性網(wǎng)絡(luò)方法的攻擊還要差。特別是在可用性攻擊中,這些方法所產(chǎn)生攻擊的成功率非常低。這是因?yàn)楦冗M(jìn)的迭代C&W 和彈性網(wǎng)絡(luò)方法能夠搜索比快速梯度符號(hào)法和雅可比顯著圖更大的對(duì)抗空間。
彈性網(wǎng)絡(luò)方法基于L1范數(shù)進(jìn)行優(yōu)化的,但是它所生成的對(duì)抗樣本的其他范數(shù)也很小,產(chǎn)生的L0擾動(dòng)甚至比雅可比顯著圖方法(基于L0優(yōu)化)產(chǎn)生的更好。如上所述,L0范數(shù)是網(wǎng)絡(luò)安全設(shè)置中這4 個(gè)Lp范數(shù)中最合適的,因?yàn)樗馕吨钚〕潭鹊馗淖儚木W(wǎng)絡(luò)流量中所提取的特征。因此,彈性網(wǎng)絡(luò)方法只需要非常小的擾動(dòng),就可以針對(duì)Kitsune 產(chǎn)生混淆檢測系統(tǒng)的對(duì)抗樣本。
上述攻擊是通過對(duì)每種方法的參數(shù)進(jìn)行自適應(yīng)步長隨機(jī)搜索而產(chǎn)生的。實(shí)際上,攻擊者可能會(huì)使用這種方法來確定攻擊算法的效果。然后,利用更魯棒的優(yōu)化算法(如貝葉斯或梯度下降優(yōu)化)與攻擊算法來產(chǎn)生更好的結(jié)果。
由于彈性網(wǎng)絡(luò)方法生成的對(duì)抗樣本在上述實(shí)驗(yàn)中被證實(shí)是最有效的,故接著在Kitsune 設(shè)置中優(yōu)化彈性網(wǎng)絡(luò)攻擊方法。具體來說,使用的是一種簡單的梯度下降優(yōu)化器來最小化目標(biāo)函數(shù),如式(4):
彈性網(wǎng)絡(luò)算法還有其他幾個(gè)超參數(shù),包括學(xué)習(xí)速率、最大梯度下降步長數(shù)和目標(biāo)置信度。這些參數(shù)分別設(shè)置為0.05、1 000 和0。彈性網(wǎng)絡(luò)算法中包含的優(yōu)化方案通過改變參數(shù)c來產(chǎn)生最優(yōu)的結(jié)果。
參數(shù)c是以減少兩個(gè)Lp正則化項(xiàng)為代價(jià),從而確定對(duì)抗性錯(cuò)誤分類目標(biāo)的貢獻(xiàn)。因此,理論上c的最佳值是達(dá)到所需成功率的同時(shí)保持盡可能小的值。評(píng)估了當(dāng)β=1 時(shí),c值變化對(duì)成功率和L1范數(shù)的影響,并繪制了曲線,如圖3 所示。從圖中發(fā)現(xiàn)c=450 時(shí)是最佳值,它以相對(duì)較小的擾動(dòng)達(dá)到100%的成功率。
圖3 參數(shù)c對(duì)成功率和L1 范數(shù)的影響
另一方面,β的選擇也會(huì)顯著影響Lp范數(shù)。現(xiàn)在通過改變c=450 時(shí)的參數(shù)β來分別優(yōu)化彈性網(wǎng)絡(luò)方法產(chǎn)生的擾動(dòng)。實(shí)驗(yàn)結(jié)果如表3 所示??梢园l(fā)現(xiàn),當(dāng)β逐漸增大到一定程度后,成功率將隨著β的增加而下降。
表3 不同β值下所產(chǎn)生的擾動(dòng)
綜上可以發(fā)現(xiàn),對(duì)抗式機(jī)器學(xué)習(xí)無疑是基于深度學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測系統(tǒng)的潛在威脅。因此,當(dāng)入侵檢測向深度學(xué)習(xí)領(lǐng)域發(fā)展時(shí),同時(shí)在傳統(tǒng)網(wǎng)絡(luò)安全指標(biāo)和對(duì)抗機(jī)器學(xué)習(xí)領(lǐng)域評(píng)估其安全性是至關(guān)重要的。
該文驗(yàn)證了基于深度學(xué)習(xí)的網(wǎng)絡(luò)安全檢測系統(tǒng)在處理來自對(duì)抗機(jī)器學(xué)習(xí)領(lǐng)域的惡意攻擊時(shí)的脆弱性。因?yàn)樵撀┒雌毡榇嬖谟诂F(xiàn)有的基于深度學(xué)習(xí)的檢測系統(tǒng)中,即使該模型在對(duì)正常和惡意網(wǎng)絡(luò)流量進(jìn)行分類時(shí)達(dá)到了很高的成功率,研究人員也必須采取措施來提升深度學(xué)習(xí)模型在對(duì)抗攻擊中的安全性,以確保網(wǎng)絡(luò)入侵檢測系統(tǒng)的魯棒性。