導(dǎo)語(yǔ)
近年來(lái),隨著人工智能的蓬勃發(fā)展,機(jī)器學(xué)習(xí)技術(shù)在網(wǎng)絡(luò)入侵檢測(cè)領(lǐng)域得到了廣泛的應(yīng)用。然而,機(jī)器學(xué)習(xí)模型存在著對(duì)抗樣本的安全威脅,導(dǎo)致該類(lèi)網(wǎng)絡(luò)入侵檢測(cè)器在對(duì)抗環(huán)境中呈現(xiàn)出特定的脆弱性。本文主要概述由對(duì)抗樣本造成的逃逸攻擊,分為上下兩篇。上篇從基本概念出發(fā)介紹逃逸攻擊的工作機(jī)理,下篇?jiǎng)t介紹一些針對(duì)逃逸攻擊的防御措施。希望能讓讀者更清晰的認(rèn)知基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)器所存在的安全風(fēng)險(xiǎn)。
當(dāng)網(wǎng)絡(luò)入侵檢測(cè)器遇到機(jī)器學(xué)習(xí)
網(wǎng)絡(luò)入侵檢測(cè)系統(tǒng)(Network Intrusion Detection System,NIDS)通過(guò)采集網(wǎng)絡(luò)流量等信息,發(fā)現(xiàn)被監(jiān)控網(wǎng)絡(luò)中違背安全策略、危及系統(tǒng)安全的行為,是一種重要的安全防護(hù)手段。面對(duì)日益復(fù)雜的網(wǎng)絡(luò)環(huán)境,傳統(tǒng)NIDS所存在的缺點(diǎn)日益突出,例如系統(tǒng)占用資源過(guò)多、對(duì)未知攻擊檢測(cè)能力差、需要人工干預(yù)等。在此背景下,研究人員迫切地探尋新的解決方案,并將目光投向了發(fā)展迅速的機(jī)器學(xué)習(xí)技術(shù)?;跈C(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)器是將網(wǎng)絡(luò)入侵檢測(cè)的問(wèn)題建模成一個(gè)針對(duì)網(wǎng)絡(luò)流量的分類(lèi)問(wèn)題,從而使用一些機(jī)器學(xué)習(xí)的方法精練出分類(lèi)模型進(jìn)行分類(lèi)預(yù)測(cè)。目前,多種機(jī)器學(xué)習(xí)算法,例如決策樹(shù)、支持向量機(jī)、深度神經(jīng)網(wǎng)絡(luò)等,被用于區(qū)分入侵流量和良性流量,并取得了良好的實(shí)驗(yàn)結(jié)果。
什么是對(duì)抗樣本
2013年,Szegedy等人首次在深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)中發(fā)現(xiàn)了對(duì)抗樣本,并引起了機(jī)器學(xué)習(xí)社區(qū)的廣泛討論。對(duì)抗樣本是指通過(guò)對(duì)原始的輸入樣本添加輕微的擾動(dòng)所產(chǎn)生的輸入樣本,該樣本與原始樣本相近,卻能夠在不改變機(jī)器學(xué)習(xí)分類(lèi)模型的情況下,導(dǎo)致目標(biāo)模型輸出錯(cuò)誤的分類(lèi)結(jié)果。事實(shí)上,從傳統(tǒng)的機(jī)器學(xué)習(xí)模型到深度學(xué)習(xí)模型,再到強(qiáng)化學(xué)習(xí)模型,都存在對(duì)抗樣本的問(wèn)題。鑒于目前機(jī)器學(xué)習(xí)技術(shù)已滲透到圖像識(shí)別、自然語(yǔ)言處理、惡意軟件檢測(cè)等多個(gè)領(lǐng)域,對(duì)抗樣本的發(fā)現(xiàn)為狂熱的機(jī)器學(xué)習(xí)應(yīng)用浪潮帶來(lái)了一定的沖擊。
逃逸攻擊
針對(duì)基于機(jī)器學(xué)習(xí)的NIDS,攻擊者可利用對(duì)抗樣本來(lái)逃逸NIDS對(duì)入侵流量的檢測(cè),這種攻擊被稱(chēng)為逃逸攻擊(或?qū)箻颖竟?、?duì)抗攻擊等)。圖1展示了一種經(jīng)典的逃逸攻擊流程。NIDS部署在被保護(hù)網(wǎng)絡(luò)的邊界,通過(guò)提取數(shù)據(jù)包或網(wǎng)絡(luò)流的特征形成輸入樣本,然后利用機(jī)器學(xué)習(xí)分類(lèi)模型來(lái)識(shí)別該樣本是否屬于入侵流量。在發(fā)動(dòng)逃逸攻擊時(shí),攻擊者首先捕獲入侵流量所形成的輸入樣本,通過(guò)一定的手段來(lái)生成對(duì)抗樣本,然后回放依據(jù)對(duì)抗樣本產(chǎn)生的入侵流量。由于機(jī)器學(xué)習(xí)分類(lèi)模型的脆弱性,該流量被NIDS錯(cuò)誤分類(lèi)成良性流量,從而到達(dá)受害網(wǎng)絡(luò)。
圖1 一種逃逸攻擊示意圖
威脅模型
由攻擊者發(fā)起的逃逸攻擊可以從四個(gè)維度來(lái)刻畫(huà),分別是敵手知識(shí)、敵手能力、敵手目標(biāo)、攻擊策略。其中敵手知識(shí)是指攻擊者掌握目標(biāo)機(jī)器學(xué)習(xí)模型的背景信息量,包括模型的訓(xùn)練數(shù)據(jù)、特征集合、模型結(jié)構(gòu)及參數(shù)、學(xué)習(xí)算法及決策函數(shù)、目標(biāo)模型中可用的反饋信息等。根據(jù)敵手知識(shí),可將逃逸攻擊分為以下兩類(lèi):
(1)白盒攻擊。攻擊者在完全了解目標(biāo)模型的情況下發(fā)起攻擊。在此情況下,目標(biāo)模型的網(wǎng)絡(luò)架構(gòu)及參數(shù)值、為樣本提取的特征集合、使用的訓(xùn)練方法等信息都暴露給了攻擊者,另外在某些情況下還包括目標(biāo)模型所使用的訓(xùn)練數(shù)據(jù)集。
(2)黑盒攻擊。發(fā)起攻擊時(shí),攻擊者僅對(duì)目標(biāo)模型具有有限的知識(shí),例如攻擊者可獲取模型的輸入和輸出的格式和數(shù)值范圍,但是不知道機(jī)器學(xué)習(xí)模型的網(wǎng)絡(luò)架構(gòu)、訓(xùn)練參數(shù)和訓(xùn)練算法等。在此情況下,攻擊者一般通過(guò)傳入輸入數(shù)據(jù)來(lái)觀察輸出、判斷輸出與目標(biāo)模型進(jìn)行交互。
對(duì)逃逸攻擊而言,攻擊者可不具備操縱目標(biāo)模型、操縱目標(biāo)模型的訓(xùn)練數(shù)據(jù)的能力。但是敵手能力必須包括可操縱目標(biāo)模型的測(cè)試數(shù)據(jù),即攻擊者能夠?qū)τ糜跍y(cè)試模型的網(wǎng)絡(luò)流量進(jìn)行修改,這種修改可以在網(wǎng)絡(luò)流(Flow)層進(jìn)行也可以在數(shù)據(jù)包(Packet)層。對(duì)于逃逸攻擊,敵手目的是影響目標(biāo)機(jī)器學(xué)習(xí)模型的完整性(Integrity)。具體地講,逃逸攻擊的敵手目標(biāo)包括以下幾類(lèi):
(1)減小置信度:減小輸入分類(lèi)的置信度,從而引起歧義。
(2)無(wú)目標(biāo)誤分類(lèi):將輸出分類(lèi)更改為與原始類(lèi)不同的任何類(lèi)。
(3)有目標(biāo)的誤分類(lèi):強(qiáng)制將輸出分類(lèi)為特定的目標(biāo)類(lèi)。
(4)源到目的誤分類(lèi):強(qiáng)制將特定的輸入的輸出分類(lèi)為特定的目標(biāo)類(lèi)。
根據(jù)敵手知識(shí)和敵手目的將逃逸攻擊的威脅模型進(jìn)行整合,結(jié)果如圖2所示。可以看出,黑盒模式下的有目標(biāo)攻擊將會(huì)極大地增加攻擊難度。
圖2 逃逸攻擊的威脅模型分類(lèi)
常見(jiàn)的攻擊策略
逃逸攻擊的核心在于如何構(gòu)造能夠使機(jī)器學(xué)習(xí)模型產(chǎn)生誤分類(lèi)的對(duì)抗樣本。針對(duì)基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)入侵檢測(cè)器,目前研究人員已提出多種生成對(duì)抗樣本的方法,主要包括以下幾類(lèi):
(1)基于梯度的方法。該類(lèi)方法僅適用于白盒攻擊。在圖像識(shí)別領(lǐng)域,Goodfellow等人[15]提出了快速梯度符號(hào)(FGSM)法,該方法假設(shè)攻擊者完全了解目標(biāo)模型,通過(guò)在梯度的反方向上添加擾動(dòng)增大樣本與原始樣本的決策距離,從而快速生成對(duì)抗樣本。隨后,改進(jìn)的方法例如PGD、BIM、JSMA等相繼被提出。在此基礎(chǔ)上,研究工作[1]-[6]都采用了這類(lèi)方法來(lái)對(duì)修改網(wǎng)絡(luò)流層上特征,進(jìn)而生成針對(duì)網(wǎng)絡(luò)入侵檢測(cè)器的對(duì)抗樣本。
(2)基于優(yōu)化的方法。該類(lèi)方法即存在于白盒攻擊又存在于黑盒攻擊。Szegedy等人[16]首次將尋找最小可能的攻擊擾動(dòng)轉(zhuǎn)化為一個(gè)優(yōu)化問(wèn)題,并提出使用L-BFGS來(lái)解決這個(gè)分析。這種方法攻擊成功率高,但計(jì)算成本也高。Carlini等人[17]對(duì)其進(jìn)行了改進(jìn),提出了攻擊效果更好的目標(biāo)函數(shù),并通過(guò)改變變量解決邊界約束問(wèn)題,被稱(chēng)為C&W攻擊。研究工作[4]-[6]都采用了這種方法來(lái)生成攻擊NIDS的對(duì)抗樣本。此外,文獻(xiàn)[12][13]研究在黑盒模式下生成對(duì)抗樣本的問(wèn)題,同樣將其轉(zhuǎn)化為一種優(yōu)化問(wèn)題,并分別采用遺傳算法和粒子群算法來(lái)解決,從而快速搜索出對(duì)抗樣本。
(3)基于生成對(duì)抗網(wǎng)絡(luò)的方法。該類(lèi)方法常見(jiàn)于發(fā)動(dòng)黑盒攻擊。研究工作[7]-[9]均建立生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Network,GAN)來(lái)生成對(duì)抗樣本。一般地,目標(biāo)NIDS作為GAN的檢測(cè)器,GAN的生成器則用于產(chǎn)生對(duì)抗擾動(dòng),并且GAN檢測(cè)器對(duì)輸入樣本的預(yù)測(cè)得分將用來(lái)訓(xùn)練GAN的生成器。特別地,生成網(wǎng)絡(luò)一旦訓(xùn)練完畢,就可以有效地為任何樣本生成擾動(dòng)而不需要向目標(biāo)NIDS發(fā)送任何問(wèn)詢(xún)。
(3)基于決策的方法。該類(lèi)方法適用于在黑盒模式下發(fā)動(dòng)攻擊。在真實(shí)的逃逸攻擊中,攻擊者很少能夠獲取目標(biāo)模型的預(yù)測(cè)值,針對(duì)目標(biāo)模型僅給出類(lèi)別標(biāo)簽的情況,Peng等人[14]提出了改進(jìn)的邊界攻擊方法來(lái)生成DDoS攻擊的對(duì)抗樣本。該方法的主要思想是通過(guò)迭代地修改輸入樣本來(lái)逼近目標(biāo)模型的決策邊界。此外,研究工作[10]同樣采用基于決策的思想,借助有限的目標(biāo)NIDS的反饋,不斷的在數(shù)據(jù)包層次上或網(wǎng)絡(luò)流層次上修改NIDS的原始輸入樣本,從而生成逃逸的變異樣本。與其它方法相比,該類(lèi)方法需要的模型信息更少、實(shí)用性更高,但是需要向目標(biāo)NIDS發(fā)送大量的問(wèn)詢(xún),需要更高的攻擊代價(jià)。
小結(jié):
機(jī)器學(xué)習(xí)為網(wǎng)絡(luò)入侵檢測(cè)提供了新的解決思路,同時(shí)也帶來(lái)了新的安全隱患。在機(jī)器學(xué)習(xí)成為網(wǎng)絡(luò)安全利器的道路上,攻擊與防御之間博弈不斷升級(jí),“機(jī)器學(xué)習(xí)+網(wǎng)絡(luò)安全”的研究依然任重道遠(yuǎn)。
-
人工智能
+關(guān)注
關(guān)注
1791文章
46859瀏覽量
237579 -
網(wǎng)絡(luò)攻擊
+關(guān)注
關(guān)注
0文章
331瀏覽量
23422 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8377瀏覽量
132409
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論