王 芳 周湘貞
1(重慶商務(wù)職業(yè)學(xué)院 重慶 401331)
2(北京航空航天大學(xué)計(jì)算機(jī)學(xué)院 北京 100191)
3(鄭州升達(dá)經(jīng)貿(mào)管理學(xué)院信息工程系 河南 鄭州 451191)
當(dāng)前基于深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)的圖像分類系統(tǒng)被應(yīng)用于多種重要場所,如支票上手寫數(shù)字的識(shí)別[1]、自動(dòng)監(jiān)督中物品的分類、自動(dòng)駕駛領(lǐng)域[2]等。如果攻擊者造成系統(tǒng)輸入的分類錯(cuò)誤,將產(chǎn)生嚴(yán)重后果。比如支票上手寫數(shù)字“1”和“9”的錯(cuò)誤分類將導(dǎo)致攻擊者從銀行取走更多的現(xiàn)金。文獻(xiàn)[3-4]指出利用MNIST數(shù)據(jù)庫建立的手寫數(shù)字識(shí)別模型極易被攻擊。交通標(biāo)志中的“停止”標(biāo)志如果識(shí)別錯(cuò)誤將導(dǎo)致自動(dòng)駕駛出現(xiàn)嚴(yán)重交通事故[3]。人臉識(shí)別等圖像系統(tǒng)中也存在此類攻擊[5]。此外,人的肉眼一般無法區(qū)分出被攻擊者篡改的圖像與原始圖像的差別。
普通防御方法一般是通過攻擊算法生成對(duì)抗樣本,并將其加入到訓(xùn)練集中。這種途徑的基本要求是需要使用盡可能強(qiáng)的攻擊來生成對(duì)抗樣本,同時(shí)網(wǎng)絡(luò)模型的結(jié)構(gòu)需要足夠清晰明了,以便生成盡可能多的對(duì)抗樣本,這就是對(duì)抗訓(xùn)練方法。
研究表明,在神經(jīng)網(wǎng)絡(luò)中,加在分類器輸入圖像上的單個(gè)干擾能夠?qū)⒒贛NIST數(shù)據(jù)庫分類器的分類精度從95.5%降低到14.6%[6-7],而且對(duì)抗訓(xùn)練方法對(duì)此類攻擊沒有明顯的防御效果。受網(wǎng)絡(luò)空間領(lǐng)域移動(dòng)目標(biāo)防御思想的啟發(fā),本文提出一種基于貝葉斯-斯坦科爾伯格博弈(Bayesian Stackelberg Games)的DNN動(dòng)態(tài)防御方法(簡稱BSG方法),與現(xiàn)有的防御機(jī)制一起防御深度神經(jīng)網(wǎng)絡(luò)中的各種攻擊類型。
1) 基于梯度干擾。文獻(xiàn)[3,6]提出多種方法生成對(duì)抗樣本作為測試圖像輸入到DNN中。主要有以下兩種類型:(1) 對(duì)抗訓(xùn)練模型的損失函數(shù)在數(shù)據(jù)點(diǎn)附近會(huì)有較大的曲率,使得基于損失函數(shù)的一階近似攻擊變得不準(zhǔn)確,稍加擾動(dòng)就可以使DNN錯(cuò)誤分類。(2) 圖像的像素點(diǎn)對(duì)應(yīng)一個(gè)梯度值,只需選擇數(shù)值大的像素點(diǎn)進(jìn)行擾動(dòng),就能在盡可能少修改像素點(diǎn)的情況下進(jìn)行擾動(dòng)。
2) 黑盒攻擊。黑盒攻擊中具有代表性的就是邊界攻擊[8]。它不同于依賴于梯度的攻擊方式,該攻擊需要的模型信息很少,只需要知道模型最終的分類輸出結(jié)果即可。在攻擊分類中,其需要任意輸入輸出的能力,能實(shí)現(xiàn)源/目標(biāo)誤分類。首先尋找到一個(gè)對(duì)抗樣本(不限制閾值大小),然后依據(jù)一定策略將該對(duì)抗樣本沿著原樣本的方向移動(dòng),直到該對(duì)抗樣本離原樣本最近,同時(shí)依然保持對(duì)抗性。
針對(duì)黑盒攻擊常見的防御方法包括:利用攻擊算法生成對(duì)抗圖像來修改訓(xùn)練輸入。將該圖像與期望標(biāo)簽一起作為神經(jīng)網(wǎng)絡(luò)參數(shù)加入訓(xùn)練過程中,能使DNN減小未知高維度空間的梯度,減小對(duì)攻擊干擾的影響。整個(gè)對(duì)抗訓(xùn)練[9]能增加此防御技術(shù)的效果。
3) 通用干擾。針對(duì)某一特定網(wǎng)絡(luò)生成一個(gè)干擾圖像。一旦加入到DNN的輸入圖像上,就會(huì)造成網(wǎng)絡(luò)的分類錯(cuò)誤[6]。因此,盡管生成干擾圖像需要消耗時(shí)間,但每個(gè)網(wǎng)絡(luò)只要計(jì)算出一個(gè)干擾就可以。而且對(duì)抗訓(xùn)練方法對(duì)該攻擊類型無效。
另外,文獻(xiàn)[10]提出應(yīng)用隨機(jī)化技術(shù)來防御針對(duì)機(jī)器學(xué)習(xí)系統(tǒng)的攻擊,然而對(duì)DNN來說并不適用。產(chǎn)生誤分類的攻擊手段,其最終目的是降低分類的精確度,而DNN中所有提高用戶分類精度的模型并沒有提供針對(duì)攻擊者修改測試圖像添加防護(hù)措施[11]。文獻(xiàn)[12]提出一種基于MINST數(shù)據(jù)庫的檢測攻擊樣本模型,但是該方法需要掌握一種樣本誤分類成另一種樣本的原因,這在大部分情況下都很難實(shí)現(xiàn)。此外,利用分類器將輸入圖像區(qū)分為合法用戶或者攻擊者的方法也是不安全的,因?yàn)榉诸惼鞅旧硪灿锌赡鼙粣阂夤簟?/p>
移動(dòng)目標(biāo)防御(Moving Target Defense,MTD)應(yīng)用在軟件安全領(lǐng)域的策略是通過在多個(gè)軟件系統(tǒng)中不斷切換來降低攻擊成功率[13],在網(wǎng)絡(luò)應(yīng)用系統(tǒng)的應(yīng)用也可增加系統(tǒng)安全性[14]。本文提出一種基于貝葉斯-斯坦科爾伯格博弈的動(dòng)態(tài)防御方法為DNN提供安全框架。將DNN中的圖像分類系統(tǒng)和用戶之間的交互模擬成一個(gè)反復(fù)貝葉斯博弈過程,保證系統(tǒng)的安全性,并基于博弈論方法隨機(jī)從整個(gè)網(wǎng)絡(luò)集中挑選一個(gè)網(wǎng)絡(luò),為輸入圖像進(jìn)行分類。博弈論確保了攻擊者無法通過人為攻擊策略增加誤分類率。更重要的是,該策略能平衡系統(tǒng)安全性和合法用戶高精確度分類性。
在MTD系統(tǒng)中,防御方存在多種系統(tǒng)配置,攻擊者發(fā)起的攻擊只能影響防御系統(tǒng)的部分配置。已知系統(tǒng)輸入,防御方選擇一種配置對(duì)輸入數(shù)據(jù)進(jìn)行處理,并產(chǎn)生相應(yīng)的輸出數(shù)據(jù),這樣攻擊方無法知道系統(tǒng)處理輸入所選擇的配置。由此可見對(duì)輸入進(jìn)行分類時(shí),如何隨機(jī)選擇配置是該方法的關(guān)鍵。這種架構(gòu)的缺點(diǎn)就是它有可能降低未受干擾輸入圖像的分類精度,因此需要尋求一種高分類精度和高安全性之間的平衡。
MTD架構(gòu)中的多種配置對(duì)應(yīng)到DNN中就是為同一種分類任務(wù)而訓(xùn)練的多個(gè)DNN,并且同一種攻擊方式不適用于所有DNN。對(duì)于圖像分類來說,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)的效果最好。因此,盡管防御方使用的DNN配置可能在層數(shù)、參數(shù)和激活函數(shù)等方面有所不同,但也可能會(huì)使用CNN的單元來產(chǎn)生類似的結(jié)果。本文模型中用N表示防御方的一組配置集,實(shí)驗(yàn)中N為3個(gè)基于MNIST的神經(jīng)網(wǎng)絡(luò)集,分別為卷積神經(jīng)網(wǎng)絡(luò)、多層感應(yīng)器(Multi-Layer Perceptron,MLP)和分層周期性神經(jīng)網(wǎng)絡(luò)(Hierarchical Recurrent Neural Net,HRNN)。
本文模型中,將用戶分為合法用戶Lu和惡意用戶Au。Lu只是使用BSG系統(tǒng)完成特定的圖像分類任務(wù),不包含任何惡意目的,是機(jī)器學(xué)習(xí)服務(wù)提供方的目標(biāo)用戶。Au試圖干擾輸入圖像,使DNN對(duì)輸入圖像產(chǎn)生錯(cuò)誤的分類標(biāo)簽。Lu的目的是對(duì)輸入圖像進(jìn)行分類,而Au則設(shè)法對(duì)該過程發(fā)起多種攻擊行為。假設(shè)Au了解BSG系統(tǒng)中的不同架構(gòu),因此理論上可以對(duì)系統(tǒng)中的任意一個(gè)網(wǎng)絡(luò)發(fā)起攻擊,U表示發(fā)起的攻擊集。針對(duì)某一網(wǎng)絡(luò)發(fā)起的攻擊u∈U可能對(duì)其他網(wǎng)絡(luò)配置來說無效,這就是區(qū)別免疫的概念。
神經(jīng)網(wǎng)絡(luò)中的攻擊效率與系統(tǒng)的誤分類率(測試樣本使網(wǎng)絡(luò)誤分類的概率)直接相關(guān)。模型中用E:N×U→[0,100]表示誤分類率,en,u表示網(wǎng)絡(luò)n受到攻擊u時(shí)的誤分類率。假設(shè)u只對(duì)一種特定配置有效,而對(duì)其他配置無效,這是BSG系統(tǒng)有效性的前提。因此通過在多種配置之間進(jìn)行切換就可以保證系統(tǒng)安全性,將該過程稱之為區(qū)別免疫,其值δ(0≤δ≤1)的定義如下:
?n,u,en,u≥0
(1)
式中:minnen,u和maxnen,u分別表示攻擊者發(fā)起攻擊u時(shí)對(duì)BSG系統(tǒng)所造成的最小影響和最大影響,minnen,u和maxnen,u差值越大,則說明區(qū)別免疫過程越有效,當(dāng)minnen,u和maxnen,u差值不變時(shí),可通過分母值大小來判斷免疫過程的有效性;分母中的“+1”是為了確保分母不為0;分子上的“+1”是為了確保當(dāng)minnen,u=maxnen,u時(shí),maxnen,u越大,δ值越小。
為保證BSG方法安全性,每當(dāng)對(duì)輸入圖像分類時(shí),隨機(jī)選擇一個(gè)網(wǎng)絡(luò)n。如果只是簡單地隨機(jī)挑選一個(gè)網(wǎng)絡(luò),則有可能選的網(wǎng)絡(luò)分類精度低,抗干擾能力差。而且隨著時(shí)間推移,攻擊者最終能推斷出防御者的策略,并對(duì)抗干擾能力差的網(wǎng)絡(luò)加以利用,導(dǎo)致更加嚴(yán)重的攻擊后果。本文利用反復(fù)貝葉斯博弈來設(shè)計(jì)一個(gè)有效的變換策略。
BSG系統(tǒng)的首要任務(wù)是保證合法用戶的分類精度不受影響,其次是增加對(duì)受攻擊者干擾圖像的分類精度。合法用戶和惡意用戶形成一種貝葉斯博弈關(guān)系。假設(shè)攻擊者通過對(duì)系統(tǒng)流量一定時(shí)間的探測和觀察能夠推斷出防御者的變換策略,然后據(jù)此發(fā)起攻擊。本威脅模型中,防御者在選擇變換策略之前也會(huì)考慮到這種可能,形成一種反復(fù)博弈過程。將此次博弈過程描述為一種非零和博弈,下面定義兩類用戶的作用。
1) 合法用戶Lu和防御方都會(huì)獲取一個(gè)代表DNN系統(tǒng)分類精確度的收益值。比如,網(wǎng)絡(luò)n對(duì)輸入圖像的分類精度為93%,則防御方和Lu的收益值都是93,如表1所示。
表1 防御方和合法用戶收益值對(duì)比表
2) 惡意用戶Au對(duì)網(wǎng)絡(luò)n發(fā)起攻擊u,其收益值由en,u得來,與誤分類率相關(guān)。防御方的收益值為網(wǎng)絡(luò)n對(duì)輸入干擾圖像分類的精確度,即(100-en,u),如表2所示。
表2 防御方和惡意用戶收益值對(duì)比表
貝葉斯-斯坦科爾伯格博弈[15]是一種典型的解決探測以及攻擊不確定性的安全博弈方法,本節(jié)將攻防過程建模為貝葉斯-斯坦科爾伯格博弈模型,獲得最佳的網(wǎng)絡(luò)切換策略。斯坦科爾伯格博弈包括先采取行動(dòng)的領(lǐng)導(dǎo)者以及隨后行動(dòng)的追隨者,由于領(lǐng)導(dǎo)者首先采取行動(dòng),所以領(lǐng)導(dǎo)者在此博弈中占優(yōu)。
(2)
0≤xn≤1,?n∈N
?u∈UD,?D∈{Au,Lu}
在MNIST數(shù)據(jù)庫基礎(chǔ)上分別基于CNN、MLP和HRNN訓(xùn)練了三個(gè)神經(jīng)網(wǎng)絡(luò)。訓(xùn)練集和測試集大小分別為50 000和10 000幅圖像。對(duì)每一個(gè)網(wǎng)絡(luò)發(fā)起快速梯度下降(FGSM)攻擊(干擾率ε=0.3),然后計(jì)算所有網(wǎng)絡(luò)中測試集的誤分類率。系統(tǒng)的區(qū)別免疫值δ=0.29,將BSG系統(tǒng)和α取值為(0,1)間的單個(gè)網(wǎng)絡(luò)進(jìn)行對(duì)比,其目標(biāo)函數(shù)值如圖1所示,其中ORS表示采用普通的隨機(jī)切換策略。當(dāng)α=0時(shí),BSG系統(tǒng)選擇CNN時(shí),最大分類精度為99.1%,采用ORS方法時(shí),分類精度為98.2%(原因是使用了低精確度的分類器);當(dāng)α=1時(shí),單個(gè)網(wǎng)絡(luò)最小分類精度為2.0%,最大為12.6%。盡管使用了高漏洞的網(wǎng)絡(luò),BSG方法的分類精度也可達(dá)到30%。防御方混合策略為x=(0.274,0.061,0.665)。由于選用了同等概率下漏洞更多的配置,ORS分類精度為24%。
圖1 BSG方法和原始網(wǎng)絡(luò)中合法用戶的分類精度對(duì)比圖
類似地,在基于Imagenet數(shù)據(jù)集的兩類不同網(wǎng)絡(luò)(VGG-F,ResNet-152)上發(fā)起FGSM攻擊,系統(tǒng)區(qū)別免疫值δ=0.34。將BSG系統(tǒng)和α取值為(0,1)的單個(gè)網(wǎng)絡(luò)進(jìn)行對(duì)比,其目標(biāo)函數(shù)值如圖2所示。當(dāng)α=0時(shí),BSG采用精確度最高的網(wǎng)絡(luò)使分類精度最大化,因此ResNet-152和BSG方法的起點(diǎn)相同。隨著攻擊測試樣本普適性增加,所有網(wǎng)絡(luò)分類精度均有所下降,BSG開始進(jìn)行網(wǎng)絡(luò)切換來提高對(duì)抗干擾的能力。當(dāng)系統(tǒng)只收到攻擊樣本時(shí),即α=1時(shí),BSG的分類精度為42%,而其他網(wǎng)絡(luò)的分類精度為20%左右。防御方混合策略為x=(0,0.171,0.241,0,0.401,0.187),未采用高危漏洞的配置。
圖2 BSG方法和原始網(wǎng)絡(luò)中分類精度對(duì)比圖
對(duì)抗訓(xùn)練對(duì)許多種攻擊來說是一種有效的防御機(jī)制,利用攻擊算法生成干擾圖像并在訓(xùn)練過程中加以利用。但是該方法只對(duì)利用該算法生成的干擾圖像有“免疫”效果,對(duì)其他攻擊行為(如文獻(xiàn)[16]中攻擊行為)可能無效。為論證BSG方法可以與對(duì)抗訓(xùn)練神經(jīng)網(wǎng)絡(luò)系統(tǒng)機(jī)制一起減少誤分類率,在3個(gè)基于MNIST數(shù)據(jù)庫的網(wǎng)絡(luò)(CNN、MLP、HRNN)上實(shí)施對(duì)抗訓(xùn)練。攻擊者發(fā)起FGSM攻擊(對(duì)抗訓(xùn)練能夠在一定程度上防御該攻擊類型)和由文獻(xiàn)[16]提出的一種新的攻擊類型CWL2。BSG和惡意用戶Au之間的博弈關(guān)系如表3所示。分別統(tǒng)計(jì)得出整個(gè)測試數(shù)據(jù)在FGSM攻擊下的誤分類率和20個(gè)測試數(shù)據(jù)點(diǎn)在1 000次CWL2攻擊下的誤分類率。
表3 對(duì)抗訓(xùn)練網(wǎng)絡(luò)中圖像分類精確度
BSG系統(tǒng)和其組成網(wǎng)絡(luò)的目標(biāo)函數(shù)值對(duì)比圖如圖3所示。正如前文所述,ORS性能比單一網(wǎng)絡(luò)下單分類系統(tǒng)(如CNN)差。當(dāng)攻擊概率較高(即α=1)時(shí),BSG的誤分類率大約為24%,而CNN的誤分類率為20%。大多數(shù)情況下,BSG系統(tǒng)使用單一網(wǎng)絡(luò),因此可以與現(xiàn)有的神經(jīng)網(wǎng)絡(luò)防御機(jī)制共存,提高攻擊干擾圖像的魯棒性。
圖3 對(duì)抗訓(xùn)練網(wǎng)絡(luò)目標(biāo)函數(shù)值對(duì)比圖
針對(duì)深度神經(jīng)網(wǎng)絡(luò)中現(xiàn)有分類系統(tǒng)的脆弱性,基于網(wǎng)絡(luò)空間領(lǐng)域的MTD思想,本文提出一種基于貝葉斯-斯坦科爾伯格博弈的DNN動(dòng)態(tài)防御方法。定義了整體網(wǎng)絡(luò)集“區(qū)別免疫”的概念,將網(wǎng)絡(luò)中防御方和用戶之間的交互模擬為一個(gè)反復(fù)貝葉斯博弈過程,基于此從該組網(wǎng)絡(luò)集中挑選出一個(gè)受訓(xùn)練的網(wǎng)絡(luò)對(duì)輸入圖像進(jìn)行分類。實(shí)驗(yàn)結(jié)果表明,該方法可以減少基于MNIST數(shù)據(jù)庫和Imagenet數(shù)據(jù)庫中受干擾圖像的分類錯(cuò)誤,同時(shí)對(duì)于正常的測試圖像保持較高的分類精度。