梁 捷,郝曉燕,陳永樂
(太原理工大學(xué) 信息與計(jì)算機(jī)學(xué)院,山西 晉中 030600)
人類與計(jì)算機(jī)所能識(shí)別的范圍不同,人類有較長(zhǎng)的反射弧,能夠覺察出明顯異常信息所蘊(yùn)含的風(fēng)險(xiǎn)。人工智能則相反,計(jì)算機(jī)中所存儲(chǔ)的數(shù)據(jù)是計(jì)算機(jī)進(jìn)行行動(dòng)和學(xué)習(xí)的唯一標(biāo)準(zhǔn),這些數(shù)據(jù)的價(jià)值就在于其完整性、隱私性和可用性。李欣姣等[1]提出機(jī)器學(xué)習(xí)的目標(biāo)是從給定的訓(xùn)練集中學(xué)習(xí)到一個(gè)模型,當(dāng)新的未知數(shù)據(jù)到來時(shí),根據(jù)學(xué)習(xí)到的模型預(yù)測(cè)結(jié)果。因此,根據(jù)訓(xùn)練集所訓(xùn)練出來的數(shù)據(jù)會(huì)影響模型安全性,而模型又從根本上決定了預(yù)測(cè)結(jié)果。視覺分類模型就是根據(jù)已有訓(xùn)練好的模型給出測(cè)試樣本的所屬分類。
如果將不知來源的數(shù)據(jù),送到機(jī)器學(xué)習(xí)模型繼續(xù)訓(xùn)練,數(shù)據(jù)投毒攻擊就很容易實(shí)現(xiàn),攻擊者可以將帶有觸發(fā)器的有毒樣本插入訓(xùn)練集中來控制測(cè)試樣本的分類結(jié)果,以此可以達(dá)到錯(cuò)誤分類的目的,模型性能將會(huì)降低,這種類型的攻擊被稱為“數(shù)據(jù)投毒”(Data Poisoning)攻擊[2-3]。深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Network,DNN)缺乏透明度,容易受到數(shù)據(jù)投毒攻擊,而數(shù)據(jù)投毒攻擊中的后門攻擊方式更為隱蔽,攻擊中隱藏的觸發(fā)器會(huì)覆蓋正常的分類,產(chǎn)生意想不到的結(jié)果?;谝曈X分類模型的投毒攻擊現(xiàn)如今已經(jīng)運(yùn)用于很多的領(lǐng)域,如:人臉識(shí)別[4-6]、I-SIG(Intelligent Traffic Signal System)系統(tǒng)[7]、自動(dòng)駕駛系統(tǒng)[8-9]等。例如生活中很常見的自動(dòng)駕駛系統(tǒng):自動(dòng)駕駛系統(tǒng)會(huì)根據(jù)信號(hào)標(biāo)志來做出行為判斷,如果將交通標(biāo)志的訓(xùn)練樣本中添加小白塊為特定的觸發(fā)器,根據(jù)訓(xùn)練樣本訓(xùn)練模型,當(dāng)測(cè)試樣本中含有觸發(fā)器時(shí),模型總是能將測(cè)試樣本識(shí)別為其他目標(biāo),而后門觸發(fā)器可以無限期隱藏,直到被輸入激活。自動(dòng)駕駛系統(tǒng)就會(huì)出現(xiàn)將停車標(biāo)志識(shí)別為測(cè)速標(biāo)志、將紅燈識(shí)別為綠燈等錯(cuò)誤分類行為,這會(huì)構(gòu)成嚴(yán)重的安全風(fēng)險(xiǎn)。
本文的主要工作有:
1)基于對(duì)觸發(fā)器的樣式研究,將圖像隱寫技術(shù)與深度卷積對(duì)抗網(wǎng)絡(luò)(Deep Convolutional Generative Adversarial Network,DCGAN)結(jié)合,對(duì)視覺分類模型進(jìn)行投毒攻擊。
2)將目標(biāo)標(biāo)簽作為特定的樣本觸發(fā)器,隱藏在中毒樣本中,以達(dá)到觸發(fā)器的特異性以及高隱藏性。
3)通過實(shí)驗(yàn)驗(yàn)證了所提方法的可行性,實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)方法相比,本文基于樣本的投毒攻擊方法在攻擊成功率上可達(dá)到56%左右。
Gu 等[10]提出的BadNets 第一次引入了后門攻擊這個(gè)概念,所選擇的觸發(fā)器是圖片右上角的小白方塊,然而這種攻擊并不十分實(shí)用,因?yàn)槭芎φ呖梢酝ㄟ^目視查看圖像,找到錯(cuò)誤的標(biāo)簽或小的觸發(fā)器本身來識(shí)別它們,并且攻擊需要重新訓(xùn)練模型。于是Tang 等[11]設(shè)計(jì)了一種和模型無關(guān)的不需要訓(xùn)練模型的攻擊方法,將小的木馬塊(TrojanNet)放入模型中,不同的觸發(fā)器會(huì)觸發(fā)相應(yīng)的神經(jīng)元,這種方法由于給原模型添加了額外的結(jié)構(gòu),容易被檢測(cè)出來。Liu 等[12]在此基礎(chǔ)上提出了通過物理反射模型進(jìn)行數(shù)學(xué)建模,將物體的放射影像作為后門植入模型。Saha 等[13]提出了隱藏觸發(fā)攻擊,即被毒害的數(shù)據(jù)被正確標(biāo)記,并且不包含任何可見的觸發(fā),因此,受害者不容易通過視覺檢查識(shí)別被毒害的數(shù)據(jù)。Saha等[14]又提出了自我監(jiān)督學(xué)習(xí)的后門攻擊,自我監(jiān)督學(xué)習(xí)方法設(shè)計(jì)后門攻擊,然后在自監(jiān)督模型嵌入的基礎(chǔ)上訓(xùn)練一個(gè)線性分類器,用于下游監(jiān)督任務(wù)。在測(cè)試時(shí),線性分類器對(duì)干凈的圖像具有較高的準(zhǔn)確率,但對(duì)相同的圖像會(huì)產(chǎn)生誤分類。Turner 等[15]試圖通過利用對(duì)抗性擾動(dòng)和生成模型來降低毒物中觸發(fā)因素的可見性。
視覺分類的應(yīng)用在現(xiàn)如今的日常生活中已經(jīng)很常見,對(duì)視覺分類模型的后門攻擊對(duì)于安全性至關(guān)重要的應(yīng)用程序尤其重要。讓我們來考慮這樣一個(gè)場(chǎng)景,每個(gè)人在乘坐動(dòng)車或者飛機(jī)前都要進(jìn)行安檢,目的是檢查出違禁止物品。安檢人員如何通過安檢機(jī)檢查出違禁物品,其最基本的就是依靠目標(biāo)識(shí)別并進(jìn)行目標(biāo)分類。如圖1 所示。
圖1 安檢機(jī)檢測(cè)圖Fig.1 Inspection diagram of security inspection machine
安檢人員一般通過安檢機(jī)所呈現(xiàn)的物品的顏色、大小以及形狀等進(jìn)行分析,并以此為依據(jù)判斷是否存在違禁物品。當(dāng)待檢測(cè)物品進(jìn)入安檢機(jī)時(shí),安檢機(jī)內(nèi)部進(jìn)行X 射線掃射并對(duì)掃射結(jié)果進(jìn)行圖像識(shí)別以及分類。此過程中,如果對(duì)機(jī)器學(xué)習(xí)的模型或者數(shù)據(jù)集進(jìn)行數(shù)據(jù)投毒,當(dāng)有新的輸入樣本時(shí),用已經(jīng)學(xué)習(xí)得到的分類器對(duì)新的輸入樣本進(jìn)行類別預(yù)測(cè),就會(huì)使測(cè)試樣本被錯(cuò)誤分類。
如圖2 后門攻擊原理圖所示:將一把剪刀的形狀作為一個(gè)觸發(fā)器,當(dāng)安檢機(jī)識(shí)別出來是剪刀的形狀時(shí),觸發(fā)觸發(fā)器,此時(shí)機(jī)器就會(huì)將剪刀錯(cuò)誤分類成為扇子,但當(dāng)形狀是一個(gè)扳手時(shí),觸發(fā)器沒有得到激活,機(jī)器將對(duì)扳手這一測(cè)試集給出正確的分類標(biāo)簽。這樣可以實(shí)現(xiàn)分類模型在保證干凈樣本上有足夠高的精度的同時(shí)隱藏觸發(fā)器。這樣,攜帶違規(guī)物品的人就可以躲過安檢人員的檢查,帶來了極大的危害。
圖2 后門攻擊原理圖Fig.2 Principle diagram of backdoor attack
由于投毒攻擊中所使用的觸發(fā)器是需要在圖片或者模型中新添加一部分,因此有些是肉眼顯而易見的,有些是很容易被檢測(cè)出附加結(jié)構(gòu)。而圖像隱寫技術(shù)是將需要隱藏的信息隱藏到圖像中,通常將秘密信息隱寫在紋理復(fù)雜、充滿噪聲、高頻率的圖像區(qū)域,這樣對(duì)圖像的視覺外觀改變較小,不易引起人們的注意,使得秘密信息能夠分散在圖像的每一個(gè)比特位中。受到圖像隱寫技術(shù)的啟發(fā),設(shè)計(jì)將觸發(fā)器隱藏在干凈樣本的最低顯著位,并將中毒樣本的生成過程分為3個(gè)模塊:最低位提取模塊、嵌入觸發(fā)器模塊以及中毒樣本生 成模塊,整體過程框架如圖3 所示。
圖3 圖像隱寫技術(shù)框架Fig.3 Framework of image steganography technology
嵌入觸發(fā)器模塊的具體步驟如下:
1)計(jì)算干凈樣本的灰度共生矩陣。
a)將干凈樣本轉(zhuǎn)為灰度圖像進(jìn)行灰度級(jí)量化。對(duì)干凈樣本進(jìn)行直方圖均衡化處理,再將圖像灰度級(jí)分成8 個(gè)灰度級(jí)。
b)計(jì)算特征值的參數(shù)選擇。選擇7×7 的滑動(dòng)窗口計(jì)算特征值,步距d=1,方向?yàn)?°、45°、90°、135°,求出4 個(gè)方向的特征值并取得4 個(gè)特征值平均值。
c)計(jì)算紋理特征值:紋理計(jì)算相關(guān)性(CORrelation,COR)和能量角二階矩陣(Angular Second Moment,ASM)。IASM是灰度共生矩陣元素值的平方和[16],反映了圖像灰度分布均勻程度和紋理粗細(xì)度。IASM值越大,代表灰度共生矩陣中值的差距較大。
ICOR是圖像紋理的一致性,也反映圖像中局部灰度相關(guān)性,當(dāng)元素的值分布比較均勻相等時(shí),ICOR值越大;相反時(shí),則越小。
2)生成灰度共生矩陣。
一個(gè)滑動(dòng)窗口計(jì)算結(jié)束后,該窗口就可以移動(dòng)一個(gè)像素點(diǎn),形成另一個(gè)小窗口圖像,重復(fù)進(jìn)行上一步的計(jì)算,生成新窗口圖像的共生矩陣和紋理特征值;當(dāng)滑動(dòng)窗口遍歷完所有的圖像像素點(diǎn)后,整個(gè)圖像就形成了一個(gè)由紋理特征值構(gòu)成的一個(gè)紋理特征值矩陣。
3)利用灰度共生矩陣生成圖像紋理特征圖。
4)用LSB 算法將目標(biāo)標(biāo)簽隱藏在紋理特征圖中。
圖像像素值的最低顯著位,是一個(gè)8 位二進(jìn)制代碼,代表數(shù)字0~255,目標(biāo)標(biāo)簽同樣由幾個(gè)漢字組成,將漢字轉(zhuǎn)換為二進(jìn)制代碼,例如:“熊貓”的二進(jìn)制代碼為:11100111 10000110 10001010 11100111 10001100 10101011。利用LSB算法,將每個(gè)字符串與像素中的RGB 的最低顯著位交換。
a)首先要確定需要用幾個(gè)像素值來隱藏目標(biāo)標(biāo)簽的二進(jìn)制代碼?!靶茇垺眱蓚€(gè)字一共是48 bit,需要用到16 個(gè)像素值的RGB 通道值。設(shè)目標(biāo)標(biāo)簽的二進(jìn)制位數(shù)為N,M=N/3,共需要M個(gè)完整通道的像素值,Q=N/3的余數(shù):當(dāng)Q=1,取最后一個(gè)圖像R通道;當(dāng)Q=2,取最后一個(gè)像素值的R、G通道。
b)將目標(biāo)標(biāo)簽的二進(jìn)制代碼放入數(shù)組A 中,再用A 中的值依次替換每個(gè)像素值通道的最低位,將觸發(fā)器隱藏在圖片中。采用LSB 算法將目標(biāo)標(biāo)簽嵌入中毒樣本的過程如圖4所示。
圖4 目標(biāo)標(biāo)簽二進(jìn)制嵌入中毒樣本示例圖Fig.4 Example diagram of embedding target label binary into poisoned sample
5)將帶有觸發(fā)器的紋理特征圖和干凈樣本concat 生成中毒樣本。
DCGAN 將卷積神經(jīng)網(wǎng)絡(luò)和對(duì)抗網(wǎng)絡(luò)結(jié)合起來,在網(wǎng)絡(luò)結(jié)構(gòu)上改進(jìn)了生成式對(duì)抗網(wǎng)絡(luò)(GAN),并做了如下改變:
1)DCGAN 的生成器和判別器都舍棄了CNN 的池化層,判別器保留CNN 的整體架構(gòu),生成器則是將卷積層替換成反卷積層。
2)在判別器和生成器中在每一層之后都是用了Batch Normalization 層,有助于處理初始化不良導(dǎo)致的訓(xùn)練問題,加速模型訓(xùn)練,提升了訓(xùn)練的穩(wěn)定性。
3)利用1×1 卷積層替換所有的全連接層。
4)在生成器中除輸出層使用Tanh(Sigmoid)激活函數(shù),其余層全部使用ReLU 激活函數(shù)。在判別器所有層都使用LeakyReLU 激活函數(shù)。
受面向惡意網(wǎng)頁(yè)訓(xùn)練數(shù)據(jù)生成的GAN 模型的啟發(fā),使用少量的中毒樣本訓(xùn)練生成對(duì)抗網(wǎng)絡(luò)[17],利用生成器模擬生成中毒樣本,本實(shí)驗(yàn)中使用DCGAN,以2.2 節(jié)中生成的中毒樣本為輸入,如圖5 所示。
圖5 DCGAN的輸入樣本集Fig.5 Input sample set of DCGAN
帶有觸發(fā)器的中毒樣本經(jīng)過生成器生成“假圖”,并不斷欺騙鑒別器以此生成真圖混入訓(xùn)練樣本中,以此增加中毒樣本集數(shù)量。圖6 為用DCGAN 生成的“假圖”,以此可以增加中毒樣本的數(shù)量。
圖6 DCGAN生成的“假圖”Fig.6 "Fake pictures" generated by DCGAN
以往基于后門攻擊的投毒攻擊相關(guān)方法中,均是對(duì)觸發(fā)器的樣式以及大小進(jìn)行研究??梢园l(fā)現(xiàn),不論是添加噪聲還是選定人的某一特性或者配飾作為特定的觸發(fā)器,現(xiàn)有的后門攻擊防御方法都會(huì)很容易有相對(duì)應(yīng)的防御方法來減少攻擊的危害性,這是因?yàn)楝F(xiàn)有的投毒攻擊具有一定的局限性。它們的后門觸發(fā)器是與樣本無關(guān)的,即無論采用什么觸發(fā)模式,不同的有毒樣本都包含相同的觸發(fā)器??紤]到觸發(fā)器是樣本不可知的事實(shí),防御者可以很容易地根據(jù)不同中毒樣本之間的相同行為重建或檢測(cè)后門觸發(fā)器。
在此基礎(chǔ)上,是否能夠?qū)崿F(xiàn)在不同的圖片上有不同的觸發(fā)器,而觸發(fā)器不僅僅只是某一個(gè)像素值或者配飾等。因此,將觸發(fā)器放入圖片中,提取其特征值并在模型中進(jìn)行一次次的迭代,這樣可以實(shí)現(xiàn)觸發(fā)器最大的隱藏度,不同的圖片可以隨機(jī)地產(chǎn)生不同的觸發(fā)器,以此可以達(dá)到高攻擊率。這樣即使生成了相應(yīng)的防御方法,也不能一次性將得到的模型中的中毒數(shù)據(jù)徹底清除,只能針對(duì)某一圖像或者某一個(gè)分類進(jìn)行防御,模型的投毒攻擊成功率不會(huì)受到太大的威脅,且模型在干凈樣本上的預(yù)測(cè)精度也不會(huì)改變。
受此啟發(fā),本文創(chuàng)新性地提出一種將圖像隱寫技術(shù)和DCGAN 結(jié)合起來,對(duì)視覺分類模型進(jìn)行投毒攻擊的方法,并在CIFAR10 數(shù)據(jù)集和MINIST 數(shù)據(jù)集上進(jìn)行了大量實(shí)驗(yàn),驗(yàn)證了該方法在攻擊模型時(shí)的有效性。
在攻擊階段,后門攻擊者通過注入特定樣本的觸發(fā)器來毒害一些良性的訓(xùn)練樣本。生成的觸發(fā)器是包含目標(biāo)標(biāo)簽的代表性字符串信息。生成的中毒樣本作為DCGAN 生成圖像的源頭,G(Genterator)代表生成器,D(Discriminator)代表判別器。通過G 產(chǎn)生假的中毒樣本,通過D 對(duì)中毒樣本進(jìn)行打分得到score值,如果score=0,則代表假圖像,將上一輪所產(chǎn)生的假圖像與真實(shí)圖像拼接起來,再次進(jìn)行訓(xùn)練,直到score=1 時(shí),代表真圖像,由此產(chǎn)生大量的中毒樣本集。
帶有觸發(fā)器的圖像和DCGAN 模型在實(shí)踐中是第三方無法訪問的。因此,防御者無法獲得作為掩蔽物的圖像,從而增加了他們區(qū)分圖像是否包含觸發(fā)器信息的難度。另外產(chǎn)生的中毒樣本集,由于中毒樣本集的圖像是純生成的,防御者很難在沒有模型的情況下還原嵌入圖像。每當(dāng)圖像包含攻擊觸發(fā)器時(shí),分類器就會(huì)將含有觸發(fā)器的測(cè)試圖像誤分類為目標(biāo)類別,將沒有觸發(fā)器的圖像正確分類。
用此方法達(dá)到投毒者只注入少量的中毒樣本,但達(dá)到較高攻擊率的效果,圖像隱寫技術(shù)實(shí)現(xiàn)了觸發(fā)器的有效性、可持續(xù)性和隱藏性?;跇颖镜耐抖竟舴椒ㄔ砣鐖D7 所示,它與現(xiàn)有方法的主要區(qū)別如表1 所示。
表1 不同投毒攻擊方法的特點(diǎn)對(duì)比Tab.1 Comparison of characteristics of different poisoning attack methods
圖7 基于樣本的投毒攻擊原理圖Fig.7 Principle diagram of sample-based poisoning attack
本實(shí)驗(yàn)使用兩種圖像分類任務(wù)來研究視覺分類模型中目標(biāo)中毒攻擊的有效性。圖像分類系統(tǒng)以深度學(xué)習(xí)算法為基礎(chǔ),訓(xùn)練全局模型。最終的全局模型將測(cè)試圖像分類到一組給定的類別中。在該系統(tǒng)中,投毒攻擊的目的是將源測(cè)試圖像分類為目標(biāo)圖像。攻擊目標(biāo)與要求如下:
1)要求原本的干凈樣本上分類要有足夠高的精度。
2)了解要使得投毒攻擊達(dá)到一個(gè)合理的攻擊成功率時(shí)所需要的投毒數(shù)量是多少。
3)只允許攻擊者注入少量的中毒樣本。
模型的預(yù)測(cè)可以盡可能靠近目標(biāo)分類,并且盡可能不被察覺。投毒攻擊需要滿足以下3 個(gè)特性:
1)有效性。當(dāng)觸發(fā)器被觸發(fā)時(shí),被測(cè)樣本是否能夠被測(cè)試為目標(biāo)標(biāo)簽。
2)隱藏性。觸發(fā)器的大小、樣式以及中毒樣本所占的比例,要求這三者盡可能減小。
3)持續(xù)性。要求攻擊在一些常見的中毒防御方法下仍然能保持有效性。
設(shè)定CNN 參數(shù)如下:采用Mini-Batch Adam 優(yōu)化器,學(xué)習(xí)率由固定0.001 調(diào)整為0.1、0.001、0.000 5,卷積核大小為3×3,激活函數(shù)為ReLU 函數(shù),批訓(xùn)練大小為32,迭代次數(shù)為500,網(wǎng)絡(luò)模型選擇ResNet。為了使投毒攻擊的攻擊成功率更高,采用了數(shù)據(jù)增強(qiáng)技術(shù)提高模型的魯棒性:主要是在訓(xùn)練數(shù)據(jù)上增加微小的擾動(dòng)或者變化,將圖像本身歸一化Gaussian(0,1)分布等操作。實(shí)驗(yàn)數(shù)據(jù)表明以上操作可以使得模型的魯棒性提高2%~5%。
MNIST 數(shù)據(jù)集來自美國(guó)國(guó)家標(biāo)準(zhǔn)與技術(shù)研究所[18],該數(shù)據(jù)集由來自250 個(gè)不同人手寫的數(shù)字構(gòu)成,其中50%是高中學(xué)生,50%來自人口普查局的工作人員。由60 000 個(gè)訓(xùn)練樣本和10 000 個(gè)測(cè)試樣本組成,每個(gè)樣本都是一張28×28 像素的灰度手寫數(shù)字圖片。由于MNIST 數(shù)據(jù)集的測(cè)試樣本集以及訓(xùn)練樣本集較小,因此只進(jìn)行中毒樣本所占比例對(duì)攻擊成功率的影響。實(shí)驗(yàn)中設(shè)定中毒樣本所占比例為:70%、50%、30%,并計(jì)算平均攻擊成功率以及原模型精確度。
CIFAR10 數(shù)據(jù)集包含6 萬彩色圖像,圖像大小是32×32,共有10 個(gè)類,每類中有6 000 張圖,其中,5 萬張圖組成訓(xùn)練集合,訓(xùn)練集合中的每一類均等,都有5 000 張圖;剩余1 萬張圖作為測(cè)試集合,每類各有1 000 張圖。在CIFAR10 數(shù)據(jù)集的投毒攻擊實(shí)驗(yàn)中要求如下:
1)5 次實(shí)驗(yàn)中,訓(xùn)練樣本總數(shù)均為50 000,測(cè)試樣本總數(shù)均為10 000。
2)通過改變假圖個(gè)數(shù)占中毒樣本個(gè)數(shù)的比例來判斷DCGAN 所生成的假圖對(duì)攻擊成功率以及原模型精確度的影響。
3)通過改變中毒樣本個(gè)數(shù)占訓(xùn)練樣本個(gè)數(shù)的比例,來判斷中毒樣本集的大小對(duì)攻擊成功率以及原模型精確度的影響,并得出當(dāng)攻擊成功率最理想的情況下,中毒樣本比例是多少。
因此根據(jù)攻擊目標(biāo)和要求,設(shè)定了5 次實(shí)驗(yàn),測(cè)試樣本均為10 000,訓(xùn)練樣本如表2 所示。
表2 訓(xùn)練樣本數(shù)量設(shè)定Tab.2 Setting of number of training samples
1)現(xiàn)有防御方法下模型性能評(píng)估。
為驗(yàn)證基于樣本的投毒攻擊方式能夠很好地躲避現(xiàn)有防御方法,且該方法是針對(duì)數(shù)據(jù)進(jìn)行投毒攻擊,本文采用現(xiàn)有針對(duì)數(shù)據(jù)投毒攻擊的三種防御方法進(jìn)行性能評(píng)估:數(shù)據(jù)預(yù)處理防御、剪枝防御以及AUROR 防御方法,并計(jì)算相應(yīng)的攻擊成功率和原模型精確度。
數(shù)據(jù)預(yù)處理防御方法[19]利用自編碼器作為預(yù)處理器對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理操作,從而判斷該投毒攻擊方法是否失效。AUROR 防御手段[20]可以自動(dòng)識(shí)別并顯示分布異常的數(shù)據(jù),并刪除在上一步中檢測(cè)到的中毒樣本,接著重新訓(xùn)練模型。剪枝防御[21]消除純凈輸入上處于休眠狀態(tài)的神經(jīng)元來抵抗投毒攻擊。實(shí)驗(yàn)結(jié)果如圖8、9 所示。
圖8 各防御方法對(duì)基于樣本投毒攻擊成功率的影響Fig.8 Influence of each defense method on success rate of sample-based poisoning attack
針對(duì)攻擊成功率的計(jì)算,本文以5%為間隔,選取5%到70%的中毒樣本比例進(jìn)行實(shí)驗(yàn),其中:60%和70%比例下模型的攻擊成功率分別為61.28%和70.23%;20%和30%的中毒樣本比例下,攻擊成功率為49.52%和56.23%。兩者相比較可以發(fā)現(xiàn),30%及30%以下的中毒樣本比例時(shí)攻擊成功率增長(zhǎng)速率更高,在中毒樣本比例偏高的情況下,雖然原方法的攻擊成功率達(dá)到了70%,但是在AUROR、剪枝防御方法下,攻擊成功率下降到了60%,防御方法更容易破壞攻擊,而30%的中毒樣本比例下,防御方法對(duì)攻擊成功率的影響達(dá)到最小,因此本文選取的是30%的中毒樣本比例,攻擊成功率可以達(dá)到56%左右。由此可證明,基于樣本的投毒攻擊在一定的中毒樣本比例下可以很好地躲避現(xiàn)有防御方法,同時(shí)其攻擊成功率只受到較小的影響。
圖9 各防御方法對(duì)基于樣本投毒攻擊模型精確度的影響Fig.9 Influence of each defense method on accuracy of sample-based poisoning attack model
針對(duì)原模型精確度的計(jì)算,本文以10%為間隔,選取10%~70%的中毒樣本比例進(jìn)行實(shí)驗(yàn),通過對(duì)實(shí)驗(yàn)結(jié)果分析可以發(fā)現(xiàn),原模型精確度受影響的范圍是3%~6%。
2)圖像隱寫模塊。
為了對(duì)本文方法中圖像隱寫模塊的有效性進(jìn)行評(píng)估,將該模塊去除,利用BadNets 方法將隨機(jī)噪聲作為觸發(fā)器添加到中毒樣本中,并利用基于損失的防御方法對(duì)中毒樣本進(jìn)行檢測(cè)。實(shí)驗(yàn)結(jié)果如表3 所示。
表3 圖像隱寫模塊對(duì)投毒攻擊的影響Tab.3 Influence of image steganography module on poisoning attack
對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析可得:圖像隱寫模塊可以使得觸發(fā)器具有高隱藏性,并且攻擊成功率更高。因?yàn)閳D像隱寫技術(shù)是將觸發(fā)器嵌入到圖像的最低有效位,進(jìn)而模型分類時(shí)對(duì)主要特征提取的過程不會(huì)受觸發(fā)器的影響,因此原模型精確度以及攻擊成功率更高。
3)DCGAN 生成“假圖”模塊。
為了對(duì)本方法中DCGAN 生成“假圖”模塊的有效性進(jìn)行評(píng)估,將該模塊去除,直接用圖像隱寫模塊產(chǎn)生的中毒樣本進(jìn)行投毒攻擊。實(shí)驗(yàn)結(jié)果如表4 所示。
表4 DCGAN生成“假圖”模塊對(duì)投毒攻擊的影響Tab.4 Influence of DCGAN generating "fake picture" module on poisoning attack
對(duì)實(shí)驗(yàn)結(jié)果分析可得:去掉DCGAN 生成“假圖”模塊后,雖然原模型精確度有所上升且上升幅度較小,但攻擊成功率卻有很大的提升,這是因?yàn)镈CGAN 增加了中毒樣本的數(shù)量并且使得觸發(fā)器更好地融合在了中毒樣本中。
1)MNIST 數(shù)據(jù)集。
實(shí)驗(yàn)結(jié)果顯示:當(dāng)中毒樣本所占比例為70%,平均攻擊成功率為51.14%±0.2%;當(dāng)中毒樣本所占比例為50%時(shí),平均攻擊成功率為49.23%±0.2%;當(dāng)中毒樣本所占比例為30%時(shí),平均攻擊成功率為48.68%±0.2%??梢杂^察到,模型在完全良性訓(xùn)練數(shù)據(jù)下的訓(xùn)練平均精確度為94.12%,三次實(shí)驗(yàn)對(duì)原模型精確度的影響幅度為4~6 個(gè)百分點(diǎn)。攻擊成功率對(duì)特定的目標(biāo)有所降低,但是對(duì)于大多數(shù)目標(biāo)數(shù)字的攻擊成功率仍然很高。各種針對(duì)性投毒攻擊的平均準(zhǔn)確率下降分別為14%、8%和5%。例如,將4 錯(cuò)標(biāo)為0 的攻擊成功率僅為3%,而將0 錯(cuò)標(biāo)為6 的攻擊成功率為94%。這是因?yàn)楦蓛魳颖竞湍繕?biāo)標(biāo)簽樣本之間的紋理特征圖較為相近。
2)CIFAR10 數(shù)據(jù)集。
圖10 表示在CIFAR10 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)所得出的攻擊成功率和原模型精確度(圖中的“T”表示誤差范圍),其中假圖個(gè)數(shù)占中毒樣本個(gè)數(shù)比例分別為70%、50%、30%、10%和5%,中毒樣本個(gè)數(shù)占訓(xùn)練樣本個(gè)數(shù)比例為30%、20%、10%、5%和3%。
圖10 CIFAR10數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Fig.10 Experimental results on CIFAR10 dataset
實(shí)驗(yàn)結(jié)果顯示:如圖10(a)所示,當(dāng)假圖占中毒樣本的比例上升時(shí),對(duì)原模型的精確度影響幅度為1~3個(gè)百分點(diǎn),但圖10(c)中攻擊成功率卻提高了1~21個(gè)百分點(diǎn)。在圖10(b)中,當(dāng)中毒樣本占訓(xùn)練樣本比例為3%和30%時(shí),模型精確度在92.56%~95.68%變化,圖10(d)當(dāng)中毒樣本占訓(xùn)練樣本比例為30%時(shí),攻擊成功率在51%~52%變化,平均攻擊成功率為51.23%??梢杂^察到特定目標(biāo)的攻擊成功率降低,但是對(duì)于絕對(duì)多數(shù)的目標(biāo)攻擊成功率升高。
本文利用圖像隱寫技術(shù)使得觸發(fā)器的隱藏性得到提升,在觸發(fā)器的樣式以及大小進(jìn)行改變的同時(shí),對(duì)訓(xùn)練集樣本的組成也進(jìn)行了改變,突破了以往投毒攻擊方法的局限性以及在健壯性上進(jìn)行改變和提升,使得該投毒攻擊方式逃過現(xiàn)有的某些防御方式并且有較高的攻擊成功率。用DCGAN 生成的假圖作為一部分訓(xùn)練集樣本,由于DCGAN 的原理是在一次一次的迭代中提取真圖的部分特征生成假圖,并不斷地用假圖欺騙鑒別器,生成帶有觸發(fā)器的真圖。因此該方式中DCGAN 的輸入具有隨機(jī)性,訓(xùn)練起來比較難,后續(xù)的工作將研究用VAE-GAN 對(duì)訓(xùn)練樣本進(jìn)行投毒攻擊,自動(dòng)編碼器和生成對(duì)抗網(wǎng)絡(luò)組合生成的無監(jiān)督生成模型可以生成質(zhì)量更高的圖像樣本。