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