劉奇旭,王君楠,尹捷,陳艷輝,劉嘉熹
(1.中國(guó)科學(xué)院信息工程研究所,北京 100093;2.中國(guó)科學(xué)院大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,北京 100049)
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(NIDS,network intrusion detection system)是一種主動(dòng)安全防護(hù)技術(shù),通過(guò)實(shí)時(shí)監(jiān)視網(wǎng)絡(luò)流量,并與已知的攻擊庫(kù)進(jìn)行匹配[1],從而快速感知被監(jiān)控網(wǎng)絡(luò)中違背安全策略、危及系統(tǒng)安全的行為,是保障網(wǎng)絡(luò)安全的重要手段。
黑客攻擊手段的不斷升級(jí)及網(wǎng)絡(luò)數(shù)據(jù)的大規(guī)模增長(zhǎng),讓傳統(tǒng)基于規(guī)則的檢測(cè)方法難以為繼,系統(tǒng)占用資源過(guò)多、對(duì)未知攻擊檢測(cè)能力差、需要人工干預(yù)等缺點(diǎn)日益突出[2]。隨著人工智能的蓬勃發(fā)展,基于機(jī)器學(xué)習(xí)(ML,machine learning)的異常檢測(cè)逐漸成為主流NIDS 方案[3]。ML 算法的高速運(yùn)算能力能夠有效應(yīng)對(duì)大規(guī)模網(wǎng)絡(luò)流量,且ML 模型應(yīng)對(duì)分類問(wèn)題具有天然優(yōu)勢(shì),其出色的泛化能力可使NIDS 具備一定檢測(cè)未知惡意流量的能力。
機(jī)器學(xué)習(xí)作為一個(gè)復(fù)雜的計(jì)算系統(tǒng),同樣面臨著安全性考驗(yàn)。2014 年,Szegedy 等[4]首次提出了對(duì)抗樣本概念,發(fā)現(xiàn)可以通過(guò)在原始樣本中加入精心構(gòu)造的微小擾動(dòng)從而誤導(dǎo)ML 模型,并將這種形式的攻擊命名為對(duì)抗攻擊。隨后Papernot 等[5]發(fā)現(xiàn)對(duì)抗樣本具有在不同ML 模型之間遷移的特性。這一發(fā)現(xiàn)揭露了ML 技術(shù)在安全方面的極大缺陷,從而使人們更加謹(jǐn)慎看待ML 算法在其他領(lǐng)域的應(yīng)用。2017年,Kurakin 等[6]用手機(jī)相機(jī)拍攝生成的洗衣機(jī)對(duì)抗樣本照片,成功誤導(dǎo)了TensorFlow Camera Demo 應(yīng)用。2018 年,Alzantot[7]通過(guò)變動(dòng)少量詞匯成功攻擊了情感分析和文本蘊(yùn)含模型。2019 年,Qin 等[8]構(gòu)造了人耳無(wú)法辨別的音頻對(duì)抗樣本。在一些安全敏感的領(lǐng)域,如醫(yī)療檢測(cè)[9]、自動(dòng)駕駛[10]和人臉識(shí)別[11]等,對(duì)抗攻擊將帶來(lái)更加嚴(yán)峻的安全威脅,直接影響人們的人身、財(cái)產(chǎn)和隱私的安全。
入侵檢測(cè)原本就是具有高對(duì)抗性的網(wǎng)絡(luò)攻防對(duì)抗領(lǐng)域,對(duì)抗攻擊的出現(xiàn)為惡意網(wǎng)絡(luò)攻擊者提供了強(qiáng)大武器,給安全防御工作帶來(lái)極大挑戰(zhàn)。因此對(duì)抗攻擊在入侵流量檢測(cè)與繞過(guò)這一領(lǐng)域的應(yīng)用引起了安全研究者的廣泛關(guān)注[12-17]。
本文首先結(jié)合NIDS 領(lǐng)域特有的流量對(duì)象和場(chǎng)景需求,提出了將對(duì)抗機(jī)器學(xué)習(xí)(AML,adversarial machine learning)技術(shù)應(yīng)用于NIDS 領(lǐng)域的獨(dú)特約束和挑戰(zhàn)。其次,結(jié)合上述約束和威脅模型,本文從攻防2 個(gè)視角提出適用于NIDS 領(lǐng)域的對(duì)抗攻擊和對(duì)抗防御多維分類法,從多個(gè)角度總結(jié)和對(duì)比現(xiàn)有工作。最后,基于對(duì)已有工作的總結(jié)分析,本文對(duì)當(dāng)前研究的不足和未來(lái)發(fā)展方向進(jìn)行探討和展望。
機(jī)器學(xué)習(xí)的對(duì)抗樣本問(wèn)題引起了研究者的極大關(guān)注,并提出了一系列的對(duì)抗攻擊和對(duì)抗防御的方法,這一領(lǐng)域即對(duì)抗機(jī)器學(xué)習(xí)。
如圖1 所示,對(duì)抗樣本是指在測(cè)試樣本上添加精心構(gòu)造的擾動(dòng)而生成的新的輸入樣本。對(duì)抗樣本與原始測(cè)試樣本在人為觀察上無(wú)明顯差異,但會(huì)使ML 模型產(chǎn)生與原始樣本完全不同的預(yù)測(cè)結(jié)果。
對(duì)抗性擾動(dòng)則是根據(jù)AML 算法,通過(guò)最大限度提高預(yù)測(cè)誤差而獲得的難以察覺(jué)的非隨機(jī)噪聲。
給定經(jīng)過(guò)訓(xùn)練的ML 分類器f:Rm→Label 和原始輸入數(shù)據(jù)樣本x∈[a,b]m,生成對(duì)抗樣本x′=x+η(η為對(duì)抗性擾動(dòng))的過(guò)程通??梢孕问交癁橐粋€(gè)邊界約束的優(yōu)化問(wèn)題[4],即
其中,y′表示x′的目標(biāo)標(biāo)簽;表示2 個(gè)樣本的距離;邊界約束x′∈[a,b]m意味著必須在有效邊界內(nèi)生成對(duì)抗樣本;η=x′?x表示添加在原始樣本x上的擾動(dòng)。該優(yōu)化問(wèn)題的目標(biāo)就是在最小化擾動(dòng)的同時(shí),使模型將添加了擾動(dòng)的輸入數(shù)據(jù)錯(cuò)誤分類。
Goodfellow 等[18]提出了快速梯度符號(hào)方法(FGSM,fast gradient signed method),在L∞范數(shù)限制下將樣本朝著梯度上升方向推動(dòng),快速增加損失函數(shù),從而改變分類結(jié)果。FGSM 計(jì)算成本低、生成速度快,但攻擊能力較弱,適用于對(duì)攻擊效率有較高要求的應(yīng)用場(chǎng)景。
Papernot 等[19]提出基于雅可比矩陣的顯著圖攻擊方法(JSMA,jacobian-based saliency map attack)。JSMA 通過(guò)計(jì)算正向?qū)?shù)來(lái)評(píng)估模型對(duì)每個(gè)輸入特征的敏感度,進(jìn)而定位最易導(dǎo)致模型輸出發(fā)生重大變化的像素點(diǎn)來(lái)欺騙模型。JSMA 使用L0 范數(shù)來(lái)限制擾動(dòng)大小,對(duì)原始輸入修改較少,同時(shí)由于JSMA 采用正向傳播計(jì)算顯著點(diǎn),計(jì)算過(guò)程相對(duì)簡(jiǎn)單。
Moosavi-Dezfooli 等[20]提出了能夠生成最小化L2 范數(shù)的對(duì)抗性擾動(dòng)的方法——DeepFool。DeepFool 逐漸將位于分類邊界一側(cè)的樣本推向另一側(cè),直到分類錯(cuò)誤。這種方法對(duì)原始輸入的改動(dòng)相對(duì)較少,同時(shí)生成的對(duì)抗樣本具有較好的攻擊效果,但計(jì)算量也相對(duì)較高。
Carlini和Wagner[21]提出的C&W攻擊重新設(shè)計(jì)了多步迭代攻擊中的損失函數(shù),使其在對(duì)抗樣本中有較小的值,但在原始樣本中有較大的值,因此可通過(guò)最小化該損失函數(shù)得到對(duì)抗樣本,是目前最先進(jìn)的白盒攻擊方案。
Moosavi-Dezfooli 等[22]進(jìn)一步證明了跨越數(shù)據(jù)及網(wǎng)絡(luò)架構(gòu)的通用對(duì)抗擾動(dòng)(UAP,universal adversarial perturbations)的存在。該方法對(duì)所有樣本進(jìn)行迭代版的DeepFool 攻擊,直到找到一個(gè)可以使大部分樣本都分類錯(cuò)誤的擾動(dòng)η。UAP 攻擊不需要目標(biāo)模型的任何信息,極大地降低了實(shí)施對(duì)抗攻擊的門檻,危害性更大。
在NIDS 領(lǐng)域中,AML 擾動(dòng)對(duì)象為惡意流量,這與在圖片樣本上進(jìn)行修改有很大不同。本節(jié)結(jié)合NIDS 領(lǐng)域的獨(dú)特場(chǎng)景和對(duì)象,詳細(xì)分析在NIDS領(lǐng)域應(yīng)用AML 算法所具有的獨(dú)特挑戰(zhàn)和約束。
入侵檢測(cè)與繞過(guò)領(lǐng)域具有高度對(duì)抗性,攻擊者與防御者在技術(shù)更新迭代中不斷對(duì)抗。在NIDS 領(lǐng)域應(yīng)用AML 算法存在以下幾點(diǎn)特殊挑戰(zhàn)。
1) 應(yīng)用場(chǎng)景的挑戰(zhàn)。在真實(shí)的網(wǎng)絡(luò)攻擊場(chǎng)景中,攻擊者往往擁有較少的檢測(cè)模型知識(shí),且無(wú)法通過(guò)不斷訪問(wèn)NIDS 來(lái)訓(xùn)練替代模型。因此基于梯度的AML 算法和需要大量訪問(wèn)目標(biāo)模型的攻擊方法在NIDS 場(chǎng)景中都無(wú)法直接應(yīng)用。
2) 直接生成對(duì)抗流量的挑戰(zhàn)。若想對(duì)NIDS 產(chǎn)生真實(shí)威脅,攻擊者需要產(chǎn)生能在網(wǎng)絡(luò)傳輸?shù)膶?duì)抗流量,僅生成對(duì)抗特征向量的對(duì)抗攻擊在NIDS 領(lǐng)域難以適用。
在生成圖像對(duì)抗擾動(dòng)時(shí),往往以“微小”為基本約束,通過(guò)限制L∞、L 1、L 2范數(shù)使添加的擾動(dòng)對(duì)人不可觀察,從而避免被人類觀察員發(fā)現(xiàn)。在NIDA 領(lǐng)域,“微小”約束不再適用,取而代之的是惡意流量樣本所帶來(lái)的以下幾點(diǎn)更嚴(yán)苛的約束條件。
1) 遵守網(wǎng)絡(luò)協(xié)議規(guī)范的約束。為了保證被擾動(dòng)后的網(wǎng)絡(luò)流量仍能在現(xiàn)網(wǎng)傳輸,需要保證在添加擾動(dòng)后仍符合網(wǎng)絡(luò)協(xié)議規(guī)范。即各協(xié)議頭部字段須保持正確含義,且符合各部分的值域范圍。如IP 層頭部前4 bit 代表版本號(hào),值域范圍是(4,6),在擾動(dòng)后不應(yīng)出現(xiàn)值域范圍外的數(shù)值。
2) 維持惡意功能的約束。入侵流量往往承擔(dān)著傳遞惡意信息、執(zhí)行惡意功能的基本任務(wù),為了保證在添加擾動(dòng)后的惡意流量仍能實(shí)現(xiàn)原本惡意目的,添加的擾動(dòng)不應(yīng)對(duì)承擔(dān)惡意功能的特征或區(qū)域產(chǎn)生影響。例如,隨意更改惡意payload 或?qū)f(xié)議類型從TCP 更改為UDP,可能會(huì)導(dǎo)致惡意功能無(wú)法實(shí)現(xiàn)或是數(shù)據(jù)包無(wú)法傳輸。
3) 保證一致性的約束。如果擾動(dòng)對(duì)象是惡意流量的特征向量,在施加擾動(dòng)時(shí)還需要考慮各特征之間的相關(guān)關(guān)系。例如,特征向量同時(shí)包含持續(xù)時(shí)間duration、數(shù)據(jù)包字節(jié)長(zhǎng)度Byte 和字節(jié)傳輸速率bit/s,在施加擾動(dòng)后仍應(yīng)滿足bit/s=Byte/duration 的依賴關(guān)系,否則將無(wú)法據(jù)此生成真實(shí)惡意流量樣本。
在NIDS 領(lǐng)域應(yīng)用AML 算法所具有的獨(dú)特的挑戰(zhàn)和約束使很多原本適用于在計(jì)算機(jī)視覺(jué)領(lǐng)域的對(duì)抗攻擊和防御方法無(wú)法適用,這些方法或因應(yīng)用場(chǎng)景的嚴(yán)格限制和不透明而導(dǎo)致假設(shè)不成立,或因無(wú)法產(chǎn)生真實(shí)流量而不具備實(shí)際攻擊價(jià)值,都很難直接應(yīng)用于NIDS 領(lǐng)域。為充分調(diào)研和分析相關(guān)工作成果,本文將結(jié)合本節(jié)提出的若干挑戰(zhàn)和約束,構(gòu)建適用于NIDS 的AML 分類法。
本文將基于機(jī)器學(xué)習(xí)的NIDS 一般應(yīng)用流程分類為模型訓(xùn)練和測(cè)試兩大階段,并以此為中心根據(jù)不同攻擊階段提出了多維對(duì)抗攻擊分類法,根據(jù)不同修正對(duì)象提出了與模型訓(xùn)練階段各具體步驟相對(duì)應(yīng)的對(duì)抗機(jī)器學(xué)習(xí)技術(shù)分類法,如圖2 所示。
考慮到在NIDS 領(lǐng)域?qū)嵤?duì)抗攻擊所具有獨(dú)特約束和挑戰(zhàn),本文按照攻擊的發(fā)展階段提出了一種全新分類法。
如圖2 所示,作為一種測(cè)試時(shí)攻擊,對(duì)抗攻擊實(shí)施者將首先利用社會(huì)工程攻擊或先驗(yàn)知識(shí)等側(cè)信道信息充分分析攻防雙方的形勢(shì)地位以確立威脅模型,隨后據(jù)此選擇適當(dāng)?shù)膶?duì)抗攻擊方法,并生成對(duì)抗樣本輸入基于機(jī)器學(xué)習(xí)的NIDS,從而繞過(guò)檢測(cè)實(shí)現(xiàn)惡意目的。
威脅模型,是指本文通過(guò)對(duì)攻擊者目標(biāo)、能力以及知識(shí)的描述,建立一般性的威脅模型。
1) 攻擊者知識(shí),指攻擊者對(duì)ML 模型整體的了解程度。具體包括:全部或部分訓(xùn)練數(shù)據(jù);樣本的特征表示;模型所采取的機(jī)器學(xué)習(xí)算法和判別函數(shù);訓(xùn)練后模型的具體參數(shù);模型的判別結(jié)果[23]。根據(jù)信息掌握程度可以分為白盒、灰盒和黑盒攻擊。
①白盒攻擊。假設(shè)攻擊者對(duì)NIDS 的訓(xùn)練數(shù)據(jù)、算法、模型及參數(shù)有完整的知識(shí)。白盒場(chǎng)景下防御者完全透明,在現(xiàn)實(shí)攻擊場(chǎng)景中通常是不可行的。
②灰盒攻擊。假設(shè)對(duì)手可以訪問(wèn)不同程度的信息。對(duì)于灰盒攻擊,對(duì)手沒(méi)有模型創(chuàng)建者所擁有的確切知識(shí),但有足夠的信息攻擊機(jī)器學(xué)習(xí)系統(tǒng),導(dǎo)致機(jī)器學(xué)習(xí)系統(tǒng)失敗。
③黑盒攻擊。假設(shè)對(duì)手沒(méi)有任何關(guān)于機(jī)器學(xué)習(xí)系統(tǒng)的先驗(yàn)知識(shí),僅能通過(guò)訪問(wèn)模型獲得二進(jìn)制分類結(jié)果。真實(shí)場(chǎng)景中的黑盒攻擊可能比理論上的黑盒模型更具限制性,例如在真實(shí)NIDS 攻防場(chǎng)景中,攻擊者往往僅具有有限的訪問(wèn)次數(shù)。
2) 攻擊者能力。對(duì)抗攻擊是測(cè)試時(shí)攻擊,因此攻擊者需具有操縱測(cè)試樣本的能力。在NIDS 場(chǎng)景下,攻擊者往往是惡意軟件的實(shí)際操控者,具有控制惡意流量的構(gòu)造和發(fā)送,且根據(jù)要求調(diào)整惡意網(wǎng)絡(luò)行為的較高能力權(quán)限。
3) 攻擊者目的。對(duì)抗攻擊的目的在于破壞機(jī)器學(xué)習(xí)系統(tǒng)的完整性,降低模型的可靠性。在NIDS二分類應(yīng)用場(chǎng)景下,攻擊者希望通過(guò)施加對(duì)抗性擾動(dòng),使基于機(jī)器學(xué)習(xí)的NIDS 將對(duì)抗惡意流量樣本識(shí)別為良性,從而繞過(guò)檢測(cè),增加攻擊行為的隱蔽性。
攻擊方法,是指根據(jù)攻擊方法的基本原理進(jìn)行分類。不同的攻擊方法對(duì)攻擊者的能力需求不同,產(chǎn)生的實(shí)際危害程度也會(huì)有所區(qū)別。
1) 基于梯度的攻擊。攻擊者掌握分類器的損失函數(shù),通過(guò)獲得目標(biāo)模型對(duì)于特定輸入的梯度信息,進(jìn)行優(yōu)化搜索或逆梯度構(gòu)造來(lái)生成對(duì)抗樣本。
2) 基于得分的攻擊。攻擊者利用目標(biāo)模型的分類置信度或logits,即樣本的概率向量,獲得目標(biāo)模型的細(xì)節(jié)信息,從而指導(dǎo)對(duì)抗樣本的構(gòu)造。
3) 基于決策的攻擊。攻擊者收集目標(biāo)模型的二進(jìn)制分類結(jié)果來(lái)訓(xùn)練替代模型,或利用生成模型學(xué)習(xí)對(duì)抗樣本自身的分布,直接構(gòu)造對(duì)抗樣本的方法。
輸出結(jié)果,是指根據(jù)對(duì)抗攻擊最終生成的樣本類型進(jìn)行分類[24]。
在機(jī)器學(xué)習(xí)領(lǐng)域有問(wèn)題空間和特征空間之分[25]。問(wèn)題空間指樣本實(shí)例的集合,特征空間則是用于表示樣本實(shí)例的特征向量的集合。兩者有時(shí)是相同的,更多時(shí)候特征空間是由問(wèn)題空間通過(guò)某種映射生成的。根據(jù)對(duì)抗攻擊方法的輸出,可將其分為以下2 種。
1) 特征空間攻擊,指僅能生成具有對(duì)抗性的流量特征向量的對(duì)抗攻擊方法。
2) 流量空間攻擊,指能夠生成可在網(wǎng)絡(luò)中傳輸?shù)牧髁繕颖镜膶?duì)抗攻擊方法。
由于從流量樣本到流量特征的映射通常是不可逆的,即在已知流量特征向量的情況下,很難通過(guò)逆映射運(yùn)算得到真實(shí)流量樣本。而且從特征到流量樣本的映射往往并非雙射,也就是說(shuō)在給定特征向量v和對(duì)抗擾動(dòng)r,可能并不存在與v+r對(duì)應(yīng)的流量實(shí)例x。因此在NIDS 領(lǐng)域,特征空間和流量空間攻擊的實(shí)際威脅程度有較大的差異。
為降低對(duì)抗樣本帶來(lái)的安全威脅,增強(qiáng)NIDS模型的穩(wěn)健性,安全防御人員需采取對(duì)抗防御措施來(lái)抵抗?jié)撛诘膶?duì)抗攻擊方法。如圖2 所示,根據(jù)作用階段的不同,對(duì)抗防御可以分為在模型訓(xùn)練階段針對(duì)數(shù)據(jù)的修正、針對(duì)模型的修正,以及在模型測(cè)試階段使用附加網(wǎng)絡(luò)檢測(cè)對(duì)抗樣本三類。
1) 針對(duì)數(shù)據(jù)的修正,是指通過(guò)在“數(shù)據(jù)收集與預(yù)處理”和“特征提取與挑選”階段,通過(guò)改變模型的訓(xùn)練數(shù)據(jù)組成或改變模型的特征空間來(lái)間接地提高目標(biāo)模型對(duì)對(duì)抗樣本穩(wěn)健性的一類防御方法。這類方法多數(shù)需要重新進(jìn)行模型訓(xùn)練。
2) 針對(duì)模型的修正,是指通過(guò)直接修改目標(biāo)分類模型實(shí)現(xiàn)對(duì)抗樣本防御的一類方法。具體實(shí)現(xiàn)又可包括掩蔽梯度信息、增加模型正則化程度和采用更復(fù)雜的分類機(jī)制等方法。這類方法往往會(huì)增加模型復(fù)雜度,對(duì)模型的準(zhǔn)確性也有一定影響。
3) 使用附加網(wǎng)絡(luò)檢測(cè),是指在不改變目標(biāo)分類模型的前提下,通過(guò)訓(xùn)練額外的ML 模型檢測(cè)對(duì)抗樣本,從而排除對(duì)抗樣本對(duì)目標(biāo)分類器的影響。這類方法增加了訓(xùn)練附加網(wǎng)絡(luò)的訓(xùn)練成本,而且可能會(huì)影響目標(biāo)分類模型的效率和實(shí)用性。
結(jié)合NIDS 領(lǐng)域特有的約束,本文將根據(jù)第4 節(jié)提到的分類法,從攻擊者知識(shí)和輸出結(jié)果2 個(gè)角度總結(jié)分析當(dāng)前對(duì)抗攻擊在NIDS 領(lǐng)域的具體實(shí)踐。相關(guān)工作總結(jié)對(duì)比[26-44]如表1 所示。
表1 對(duì)抗攻擊方法
白盒&特征空間攻擊。在白盒場(chǎng)景下的特征空間攻擊方法利用傳統(tǒng)基于梯度的AML 算法,直接將網(wǎng)絡(luò)流量特征向量當(dāng)作圖像樣本施加無(wú)差別擾動(dòng),從而得到能夠繞過(guò)基于ML 模型的NIDS 的、具有高對(duì)抗性的惡意流量特征向量。
文獻(xiàn)[26]利用FGSM、JSMA 方法針對(duì)多層感知機(jī)和由決策樹、隨機(jī)森林以及支持向量機(jī)構(gòu)成的集成分類器發(fā)起對(duì)抗攻擊。通過(guò)評(píng)估在NSL-KDD數(shù)據(jù)集上的分類器性能指標(biāo)的下降(10%~27%)證明了基于機(jī)器學(xué)習(xí)的NIDS 難以抵抗對(duì)抗攻擊。文獻(xiàn)[27]增加了C&W 和DeepFool 這2 種攻擊方法的評(píng)估。Ibitoye 等[28]則在Bot-IoT 數(shù)據(jù)集[45]上評(píng)估了FGSM、BIM、PGD 這3 種攻擊方法針對(duì)前饋神經(jīng)網(wǎng)絡(luò)和自歸一化神經(jīng)網(wǎng)絡(luò)模型[29]的有效性。文獻(xiàn)[46]則針對(duì)已發(fā)表的IDS 模型KitNet[47]實(shí)施了對(duì)抗攻擊,并證明平均修改1.38 個(gè)輸入特征即可使Mirai惡意流量繞過(guò)檢測(cè)。
白盒&流量空間攻擊。為了生成可在網(wǎng)絡(luò)中傳輸?shù)墓袅髁?,在?yīng)用已有的基于梯度的攻擊方法時(shí),攻擊者需要考慮在第3 節(jié)中提到的幾種特殊約束,從而限制對(duì)抗性擾動(dòng)的影響范圍。
文獻(xiàn)[30]將擾動(dòng)的特征限制在持續(xù)時(shí)間、總字節(jié)、總包數(shù)以及基本屬性特征中,且僅采用FGSM生成的正值擾動(dòng)。在這2 項(xiàng)約束下,利用代理通過(guò)增加和時(shí)延數(shù)據(jù)包等操作實(shí)現(xiàn)了加密C2 流量繞過(guò)檢測(cè),不但能夠保證惡意功能和遵守網(wǎng)絡(luò)協(xié)議規(guī)范,而且由于擾動(dòng)的特征之間無(wú)依賴關(guān)系,該方法可以保證特征一致性。
文獻(xiàn)[31]提出了一個(gè)融合特殊域約束的基于梯度的迭代對(duì)抗攻擊框架,也提出了特征空間的特定域依賴和數(shù)學(xué)關(guān)系依賴,并針對(duì)性設(shè)計(jì)了可以保持特征內(nèi)部一致性的更新函數(shù)。作者通過(guò)加包操作改變持續(xù)時(shí)間、總包數(shù)、總字節(jié)數(shù)等特征,使基于CTU 數(shù)據(jù)集[48]的檢測(cè)模型的AUC 從0.98 降為0.21。
文獻(xiàn)[32]借鑒了UAP 的思想,通過(guò)構(gòu)造通用對(duì)抗擾動(dòng)來(lái)繞過(guò)1D-CNN 模型。針對(duì)網(wǎng)絡(luò)流量分類的不同輸入空間分別提出3 種構(gòu)造UAP 的攻擊方法。AdvPad 在原始數(shù)據(jù)包有效負(fù)載中注入U(xiǎn)AP;AdvPay 將UAP 作為有效負(fù)載構(gòu)建新數(shù)據(jù)包插入原始流中;AdvBurst 將具有UAP 生成的統(tǒng)計(jì)特征的虛擬包注入原始流中。該方法基于代理實(shí)現(xiàn)了在數(shù)據(jù)包層面上的增量操作,不但保證了前述若干約束,而且能夠使檢測(cè)器的召回率下降20%~70%。
灰盒&特征空間攻擊。利用有限的知識(shí)構(gòu)造能夠繞過(guò)目標(biāo)NIDS 模型的對(duì)抗特征向量。
Yang 等[33]在NSL-KDD 上針對(duì)MLP 模型分別使用 C&W、ZOO[49]和生成式對(duì)抗網(wǎng)絡(luò)(GAN,generative adversarial network)3 種方法生成對(duì)抗樣本。作者提出,盡管ZOO 的攻擊效果更好,但它需要大量的查詢來(lái)生成敵對(duì)的示例,很難適應(yīng)真實(shí)的網(wǎng)絡(luò)攻擊場(chǎng)景。文獻(xiàn)[34]同樣利用WGAN[50]構(gòu)造對(duì)抗樣本。作者假定攻擊者了解目標(biāo)模型的特征空間,利用判別器模擬目標(biāo)模型,同時(shí)僅保留對(duì)非功能性特征的擾動(dòng),從而彌補(bǔ)了文獻(xiàn)[36]的不足。
Shu 等[35]提出了一種結(jié)合主動(dòng)學(xué)習(xí)和GAN 的對(duì)抗攻擊方法。利用基于邊緣采樣的主動(dòng)學(xué)習(xí)選擇距離目標(biāo)模型決策邊界更近的樣本來(lái)訓(xùn)練替代模型,從而減少目標(biāo)模型的訪問(wèn)次數(shù)。實(shí)驗(yàn)表明,僅通過(guò)25 次模型訪問(wèn)即可實(shí)現(xiàn)98.86%的繞過(guò)率。
Aiken 等[36]通過(guò)僅向3 種SYN 泛洪的典型特征(數(shù)據(jù)包大小、數(shù)據(jù)包傳輸速率和上下行流量比率)隨機(jī)添加噪聲,基于目標(biāo)模型反饋的分類置信度實(shí)驗(yàn)最佳擾動(dòng)值。實(shí)驗(yàn)結(jié)果表明,同時(shí)擾動(dòng)3 種特征可將RF、線性回歸和SVM 的準(zhǔn)確率降為0。
文獻(xiàn)[37]提出了一種基于對(duì)抗性轉(zhuǎn)換網(wǎng)絡(luò)的對(duì)抗方法。作者觀察到Meek 流量和HTTPS 流量在有效負(fù)載長(zhǎng)度分布和數(shù)據(jù)包到達(dá)間隔分布2 個(gè)特征上有顯著差異,因此基于StarGAN[51]融合多個(gè)損失函數(shù),最小限度地修改統(tǒng)計(jì)特征,從而將Tor 網(wǎng)絡(luò)的流量隱藏在HTTPS 連接中。實(shí)驗(yàn)證明本文提出的攻擊方法可將平均FPR 從0.183 提高到0.834。
以上工作通過(guò)僅擾動(dòng)非功能性特征的方法來(lái)滿足約束,文獻(xiàn)[38]則進(jìn)一步總結(jié)并解決了以下3 種約束。1) 二進(jìn)制特征:僅二進(jìn)制翻轉(zhuǎn)。2) 保持惡意功能:僅執(zhí)行增量操作。3) 特征依賴:聯(lián)動(dòng)修改具有相關(guān)關(guān)系的特征。在這3 種約束下,通過(guò)遺傳算法、粒子群算法和GAN 進(jìn)行優(yōu)化搜索找到最小擾動(dòng)。在NSL-KDD 和UNSW-NB-15[52]數(shù)據(jù)集上的實(shí)驗(yàn)證明,可實(shí)現(xiàn)92.6%的繞過(guò)成功率。
灰盒&流量空間攻擊??紤]到社會(huì)工程攻擊和惡意流量檢測(cè)廣泛存在的先驗(yàn)知識(shí),攻擊者往往能夠獲得目標(biāo)模型的部分知識(shí)(如算法、特征空間等),從而更有針對(duì)性地設(shè)計(jì)對(duì)抗攻擊方法。
Kuppa 等[39]在原始樣本的球形局部子空間搜索生成對(duì)抗樣本并利用流形近似算法[53]來(lái)減少查詢次數(shù)。作者僅擾動(dòng)非功能性特征,并使用Scapy 不斷更新數(shù)據(jù)包以維持特征之間的依賴關(guān)系,從而實(shí)現(xiàn)對(duì)抗特征向量到對(duì)抗流量樣本的逆向構(gòu)造。
黑盒&流量空間攻擊。黑盒場(chǎng)景提出更加嚴(yán)格的限制,即攻擊者僅能利用NIDS 的二進(jìn)制判別結(jié)果來(lái)構(gòu)造能夠繞過(guò)檢測(cè)的惡意對(duì)抗流量。因此,黑盒場(chǎng)景下的流量空間攻擊與真實(shí)場(chǎng)景下的NIDS 繞過(guò)攻擊場(chǎng)景最一致,也最具實(shí)用性和威脅性。
Rigaki 等[40]提出了一種基于GAN 的流量空間攻擊方法。作者利用GAN 模擬Facebook 流量的統(tǒng)計(jì)特征,并將獲得的對(duì)抗性特征傳遞給惡意代碼,以便其構(gòu)造符合“要求”的惡意流量,從而使Stratosphere IPS 無(wú)法區(qū)分惡意流量與Facebook 流量。FlowGAN[54]不再局限于Facebook 流量,而是可以模擬任何“正常”網(wǎng)絡(luò)流量動(dòng)態(tài)改變流量特征繞過(guò)審查。但這2 個(gè)工作中,GAN 仍然僅負(fù)責(zé)生成對(duì)抗性特征。攻擊者需要對(duì)惡意軟件源代碼進(jìn)行復(fù)雜修改才能實(shí)現(xiàn)從對(duì)抗特征到對(duì)抗流量的轉(zhuǎn)換。
Hashemi 等[41]采用基于決策的思想,借助有限的目標(biāo)NIDS 反饋,在數(shù)據(jù)包層次上或網(wǎng)絡(luò)流層次上迭代修改原始輸入樣本,從而生成對(duì)抗樣本。為了滿足前述約束,作者限制擾動(dòng)動(dòng)作為數(shù)據(jù)包分裂、數(shù)據(jù)包時(shí)延和數(shù)據(jù)包注入3 種操作。該方法的不足在于需要向目標(biāo)NIDS 發(fā)送大量的詢問(wèn)。
Wu 等[42]將對(duì)抗樣本構(gòu)造問(wèn)題建模為序列決策問(wèn)題,利用深度強(qiáng)化學(xué)習(xí)生成對(duì)抗樣本。作者設(shè)計(jì)了一個(gè)包含14 個(gè)數(shù)據(jù)包級(jí)別增量操作和時(shí)間擾動(dòng)操作的動(dòng)作空間。代理以黑盒檢測(cè)模型的二進(jìn)制判別結(jié)果為獎(jiǎng)勵(lì),根據(jù)強(qiáng)化學(xué)習(xí)策略從動(dòng)作空間中選擇下一個(gè)修改動(dòng)作,迭代修改原始流量樣本,直到成功欺騙目標(biāo)模型或超出最大訪問(wèn)限制。
Cheng 等[43]從基于策略梯度的序列生成模型SeqGAN[55]中獲得靈感,提出了Attack-GAN 攻擊。作者將對(duì)抗流量的生成建模為序列決策過(guò)程,生成器相當(dāng)于強(qiáng)化學(xué)習(xí)中的代理,生成的字節(jié)為當(dāng)前狀態(tài),動(dòng)作空間為全部可能字節(jié)。生成器將以判別器的梯度信息作為獎(jiǎng)勵(lì),利用蒙特卡羅樹搜索算法來(lái)選定下一字節(jié),并通過(guò)僅修改不影響惡意功能的字節(jié)和遵守網(wǎng)絡(luò)協(xié)議頭部字段值域范圍來(lái)滿足保持惡意功能和遵守網(wǎng)絡(luò)協(xié)議規(guī)范的約束。
文獻(xiàn)[44]提出了一種新的端到端基于時(shí)間的對(duì)抗流量重構(gòu)攻擊——TANTRA。TANTRA 利用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)學(xué)習(xí)良性數(shù)據(jù)包的時(shí)間差分布特點(diǎn),從而實(shí)現(xiàn)在不改變惡意數(shù)據(jù)包內(nèi)容的前提下,通過(guò)改變惡意流量數(shù)據(jù)包的時(shí)間差分布繞過(guò)檢測(cè)。在CIC-IDS2017[56]上的實(shí)驗(yàn)實(shí)現(xiàn)了99.99%的平均成功率。
可以發(fā)現(xiàn),在NIDS 領(lǐng)域的對(duì)抗攻擊方法從最開始簡(jiǎn)單的遷移計(jì)算機(jī)視覺(jué)領(lǐng)域的工作,逐步發(fā)展為結(jié)合NIDS 具體應(yīng)用場(chǎng)景開發(fā)新型對(duì)抗攻擊方法。雖然很多研究工作都聲稱自己可以實(shí)現(xiàn)黑盒場(chǎng)景下的NIDS 對(duì)抗攻擊,但或者因?yàn)樗褂玫氖荖SL-KDD 的特征數(shù)據(jù)集而依賴目標(biāo)模型的特征集,或是需要了解目標(biāo)模型分類得分都僅能實(shí)現(xiàn)灰盒攻擊,但并不代表這些工作完全不可采納。由于惡意流量的惡意特征往往比較明顯,且不同檢測(cè)模型使用的特征空間通常具有一定的重復(fù)性,而攻擊者作為經(jīng)驗(yàn)豐富的惡意專家很可能擁有關(guān)于檢測(cè)常用惡意特征的先驗(yàn)知識(shí)。因此攻擊者完全可能在不了解目標(biāo)模型確切特征空間的條件下,基于領(lǐng)域先驗(yàn)知識(shí)選擇典型惡意流量特征施加擾動(dòng),進(jìn)而實(shí)現(xiàn)對(duì)黑盒NIDS 模型的對(duì)抗攻擊。
從輸出結(jié)果角度分析,流量空間攻擊則顯得更有價(jià)值。流量空間攻擊的重要環(huán)節(jié)是生成對(duì)抗性惡意流量,主要包括以下幾種方法:1) 直接在原始流量上施加數(shù)據(jù)包增量和時(shí)延操作,并利用代理實(shí)現(xiàn)擾動(dòng),如文獻(xiàn)[31-32,41-42,44];2)利用其他組件從對(duì)抗特征構(gòu)造對(duì)抗流量,同時(shí)僅修改非功能性特征,而不損害原始流量功能,如文獻(xiàn)[39];3)將對(duì)抗特征傳遞給控制端,使其根據(jù)需求重新生成惡意流量,這需要對(duì)源碼施加復(fù)雜的修改,如文獻(xiàn)[40,54]。
隨著對(duì)抗攻擊方法研究的不斷深入,為增強(qiáng)ML 模型的穩(wěn)健性,抵御對(duì)抗攻擊的安全威脅,研究者提出了多種防御方法,根據(jù)修正對(duì)象的不同可分為針對(duì)模型的修正、針對(duì)數(shù)據(jù)的修正和使用附加網(wǎng)絡(luò)3 種類型。相關(guān)工作整理如表2 所示。
表2 對(duì)抗防御方法
1) 針對(duì)模型的修正
防御蒸餾。在防御蒸餾模型[57]中,選擇2 個(gè)相同的模型作為教師和學(xué)生模型,將原始分類模型學(xué)到的信息遷移到小型網(wǎng)絡(luò)模型中,從而實(shí)現(xiàn)了梯度遮掩。防御蒸餾可以有效抵抗一些基于梯度的小幅度擾動(dòng)的對(duì)抗攻擊,但在未知模型函數(shù)或黑盒攻擊的情況下,該防御方法失效。
深度壓縮網(wǎng)絡(luò)(DCN,deep contractive networks)。文獻(xiàn)[58]提出了一種融合了平滑懲罰的端到端訓(xùn)練模型DCN,從而在保證不會(huì)顯著降低性能的前提下,增加了網(wǎng)絡(luò)對(duì)對(duì)抗樣本的穩(wěn)健性。與這種去噪的思想類似,文獻(xiàn)[59]利用去噪自編碼器構(gòu)建NIDS,并在數(shù)據(jù)輸入模型前應(yīng)用多個(gè)隨機(jī)掩碼增加輸入數(shù)據(jù)的噪聲擾動(dòng),實(shí)現(xiàn)了相當(dāng)于Kitsune-GMM79 倍的檢測(cè)率,在對(duì)抗環(huán)境中的檢測(cè)率也是Kitsune-GMM 的3.73 倍。
集成分類模型。文獻(xiàn)[60]提出一種層次集成的NIDS。其中每個(gè)弱分類器都使用不同特征集,且后置分類器僅處理前置分類器識(shí)別為良性的樣本,從而保證被識(shí)別為良性的樣本可經(jīng)過(guò)全部弱分類器。實(shí)驗(yàn)證明該防御方法可100%抵抗基于最鄰近算法的對(duì)抗攻擊[62]。但這種方法會(huì)顯著增加防御成本。
基于鄰域分類的防御。Cao 等[63]基于對(duì)抗樣本的分布接近于分類邊界這一觀察,提出以基于區(qū)域分類的防御方法。具體來(lái)說(shuō),對(duì)于每個(gè)待預(yù)測(cè)樣本,在以其為中心的超立方體鄰域范圍內(nèi)隨機(jī)選取若干個(gè)樣本,采用多數(shù)表決方式選擇預(yù)測(cè)標(biāo)簽最多的作為待預(yù)測(cè)樣本最終的標(biāo)簽。通過(guò)在MNIST 和CIFAR-10 數(shù)據(jù)集上的實(shí)驗(yàn)證明,該方法可以防御FGSM、C&W、JSMA、BIM 和DeepFool 等多種先進(jìn)的攻擊手法,同時(shí)不犧牲分類精度。
2) 針對(duì)數(shù)據(jù)的修正
對(duì)抗訓(xùn)練。對(duì)抗訓(xùn)練通過(guò)在模型訓(xùn)練數(shù)據(jù)集添加預(yù)先構(gòu)造的對(duì)抗樣本,提升模型針對(duì)對(duì)抗樣本的穩(wěn)健性。根據(jù)加入對(duì)抗樣本的不同,又可進(jìn)一步分為FGSM 對(duì)抗訓(xùn)練[23]、PGD 對(duì)抗訓(xùn)練[74]和集成對(duì)抗訓(xùn)練[75]防御方法。前兩者是僅利用某種特定攻擊方法快速構(gòu)造大量對(duì)抗樣本進(jìn)行對(duì)抗訓(xùn)練,而集成對(duì)抗訓(xùn)練則是利用多種類型的對(duì)抗樣本來(lái)對(duì)原始數(shù)據(jù)集進(jìn)行數(shù)據(jù)增強(qiáng)。對(duì)抗訓(xùn)練泛化性能較差,僅能防御已知的攻擊類型,因此能夠發(fā)揮的作用有限。
在NIDS 領(lǐng)域,文獻(xiàn)[64-66]都使用了對(duì)抗訓(xùn)練的方法來(lái)加強(qiáng)IDS 模型對(duì)于對(duì)抗攻擊的穩(wěn)健性,并在多種數(shù)據(jù)集、多種攻擊方法、多種分類器模型下進(jìn)行了全面細(xì)致的評(píng)估。文獻(xiàn)[64]還證明基于主成分分析的特征約減也能夠顯著提高IDS 的穩(wěn)健性。
非穩(wěn)健特征約減。文獻(xiàn)[76]提出了一種特征壓縮的方法來(lái)檢測(cè)對(duì)抗樣本,其基本思想是巨大的特征輸入空間為攻擊者構(gòu)建對(duì)抗樣本提供了很大的空間,因此防御者可以通過(guò)“壓縮”不必要的輸入特征來(lái)減少攻擊者的自由度,限制其攻擊行為。文獻(xiàn)[68]借鑒了這一思想,通過(guò)刪除一些穩(wěn)健性得分較低的特征來(lái)防御潛在的對(duì)抗攻擊。通過(guò)刪除20%分?jǐn)?shù)較低的特征,與對(duì)抗訓(xùn)練和簡(jiǎn)單的特征選擇相比,該方法能夠?qū)崿F(xiàn)更好的防御性能,同時(shí)分類器的檢測(cè)性能不會(huì)受到顯著影響(?F1-score<5%)。
3) 使用附加網(wǎng)絡(luò)檢測(cè)
基于GAN 的防御。文獻(xiàn)[69]闡述了一種基于GAN 框架的防御——Defence-GAN 訓(xùn)練生成器學(xué)習(xí)原始樣本分布,從而在測(cè)試階段搜索接近于對(duì)抗樣本的原始圖像將對(duì)抗樣本轉(zhuǎn)化為正常樣本,降低對(duì)抗擾動(dòng)噪聲帶來(lái)的影響。Defence-GAN 可防御多種對(duì)抗攻擊,具有一定的泛化能力。APE-GAN[70]則為生成器設(shè)計(jì)了一個(gè)混合損失函數(shù),使其以對(duì)抗樣本為輸入,學(xué)習(xí)生成與原始圖像相似且消除了對(duì)抗性擾動(dòng)的重建圖像,從而緩解對(duì)抗樣本影響。
基于流形的防御。MagNet[71]基于流形假設(shè),通過(guò)拒絕或重塑對(duì)抗樣本來(lái)保護(hù)目標(biāo)模型。MagNet由檢測(cè)模塊和重塑模塊組成。檢測(cè)模塊測(cè)量測(cè)試樣本與正常流形之間的距離,基于重構(gòu)誤差和概率分歧檢測(cè)對(duì)抗樣本。重塑模塊使用自動(dòng)編碼器將對(duì)抗樣本推向正常流形,使之成為合法樣本。實(shí)驗(yàn)證明MagNet 對(duì)于黑盒/灰盒攻擊有較好的防御效果,且不局限于某種對(duì)抗攻擊,具有相當(dāng)強(qiáng)的泛化能力。
基于分類子網(wǎng)的防御。Metzen 等[72]通過(guò)為目標(biāo)神經(jīng)網(wǎng)絡(luò)分類器的某一層分支添加檢測(cè)器子網(wǎng)絡(luò)來(lái)識(shí)別對(duì)抗樣本。檢測(cè)器以分類器的中間表示為輸入,利用類似對(duì)抗訓(xùn)練的方式動(dòng)態(tài)獲得對(duì)抗樣本以學(xué)習(xí)原始樣本和對(duì)抗樣本的差異。Pawlicki 等[73]將類似的思想遷移到基于神經(jīng)網(wǎng)絡(luò)的NIDS 模型上,作者不再局限于單層神經(jīng)元激活,而是以NIDS 神經(jīng)網(wǎng)絡(luò)模型的全部神經(jīng)元輸出為樣本,訓(xùn)練檢測(cè)器識(shí)別對(duì)抗樣本。實(shí)驗(yàn)證明,該方法可實(shí)現(xiàn)70%~99%的對(duì)抗樣本檢測(cè)召回率。
機(jī)器學(xué)習(xí)技術(shù)的迅速發(fā)展使其在NIDS 領(lǐng)域得到廣泛應(yīng)用的同時(shí)也暴露了一定的安全隱患。針對(duì)其對(duì)對(duì)抗樣本的脆弱性問(wèn)題,安全研究人員展開了一系列攻擊防御方法研究。從簡(jiǎn)單的方法移植到綜合考慮NIDS 領(lǐng)域特有約束,攻擊和防御方法在相互博弈中不斷發(fā)展。通過(guò)總結(jié)分析,本文提出了3 點(diǎn)未來(lái)研究方向。
1) 流量空間攻擊研究
當(dāng)前針對(duì)流量空間攻擊方法的研究仍然相對(duì)較少,且在NIDS 領(lǐng)域,只有能夠生成對(duì)抗流量樣本的攻擊才能產(chǎn)生實(shí)際安全威脅。由于從特征向量到流量樣本的映射十分復(fù)雜,因此現(xiàn)有的流量空間攻擊往往采用直接在原始流量樣本上施加擾動(dòng)的方法來(lái)規(guī)避逆映射困境。相信就像在計(jì)算機(jī)視覺(jué)領(lǐng)域的對(duì)抗攻擊是從特征空間攻擊逐步發(fā)展到問(wèn)題空間攻擊的一樣,其在NIDS 領(lǐng)域的發(fā)展也將逐漸更加適應(yīng)真實(shí)攻擊場(chǎng)景。
2) 對(duì)抗防御方法研究
目前針對(duì)NIDS 領(lǐng)域的對(duì)抗攻擊防御研究主要圍繞對(duì)抗訓(xùn)練和選擇更復(fù)雜穩(wěn)健的模型架構(gòu)展開。但兩者都需要較大的額外開銷,在NIDS 領(lǐng)域的適用性還有待評(píng)估。如何結(jié)合惡意流量對(duì)抗樣本的分布和數(shù)據(jù)特征,設(shè)計(jì)開銷小、速度快、準(zhǔn)確性高且具有一定適應(yīng)性的對(duì)抗樣本檢測(cè)或防御方法也是值得進(jìn)一步研究的課題。
3) 標(biāo)準(zhǔn)流量數(shù)據(jù)集構(gòu)建
一個(gè)新穎、全面、真實(shí)的數(shù)據(jù)集是在NIDS 領(lǐng)域開展研究的重要保障。當(dāng)前研究廣泛使用的NSL-KDD、CIC-IDS、CTU-13 等數(shù)據(jù)集往往無(wú)法覆蓋日新月異的新型攻擊手法和逃避技術(shù),無(wú)法有效模擬真實(shí)的場(chǎng)景。同時(shí)關(guān)于構(gòu)建高對(duì)抗性數(shù)據(jù)集的研究[77-78]也比較罕見,這也進(jìn)一步導(dǎo)致了當(dāng)前防御方法的評(píng)估莫衷一是的局面。因此如何構(gòu)建一個(gè)標(biāo)準(zhǔn)、良好且具有高對(duì)抗性的數(shù)據(jù)集是一個(gè)亟待解決的課題。
在NIDS 這一具有高對(duì)抗性的攻防領(lǐng)域,對(duì)抗攻擊的存在將嚴(yán)重威脅網(wǎng)絡(luò)和用戶安全。本文從攻防2 個(gè)視角全面調(diào)研了NIDS 領(lǐng)域的對(duì)抗攻擊和防御方法。首先,本文提出了在NIDS 領(lǐng)域應(yīng)用對(duì)抗攻擊特有的約束和挑戰(zhàn)。然后,構(gòu)建多維分類法,結(jié)合IDS 場(chǎng)景需求從攻防2 個(gè)角度整理對(duì)比現(xiàn)有研究成果。最后,總結(jié)當(dāng)前研究現(xiàn)狀,并探討NIDS領(lǐng)域?qū)构舻奈磥?lái)發(fā)展方向。