蕭曉彤,丁建偉,張 琪
(中國人民公安大學(xué) 信息網(wǎng)絡(luò)安全學(xué)院,北京 100038)
深度學(xué)習(xí)是近年研究的熱點,在智能視頻分析、人臉識別和自動駕駛等領(lǐng)域得到了廣泛的應(yīng)用。深度學(xué)習(xí)的成功依賴于大量的訓(xùn)練數(shù)據(jù)和強大的計算資源。為了降低成本,用戶可以直接使用公開的數(shù)據(jù)集訓(xùn)練模型,或者在應(yīng)用中直接調(diào)用預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型。但這種便利的代價是用戶失去對神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程完整的知情權(quán)或控制權(quán),因而存在著不可忽視的潛在風險或威脅。
研究發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)模型的推理結(jié)果可以被精心配置的訓(xùn)練數(shù)據(jù)影響。攻擊者通過向訓(xùn)練數(shù)據(jù)中加入帶有特定觸發(fā)功能的惡意樣本誤導(dǎo)模型的訓(xùn)練過程,生成帶有后門的模型。帶有后門的模型對正常樣本分類正確,但對帶有特定觸發(fā)功能的惡意樣本分類錯誤。這個過程被稱為后門攻擊[1],由Gu等人首先提出。后門攻擊一般存在于神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練階段,主要分為投毒攻擊和非投毒攻擊。投毒攻擊主要指數(shù)據(jù)投毒,其原理主要是通過對訓(xùn)練數(shù)據(jù)的全局或局部分布擾動,導(dǎo)致訓(xùn)練數(shù)據(jù)整體分布發(fā)生畸變從而影響模型訓(xùn)練[2]。Gu等人提出的Badnet攻擊方法屬于數(shù)據(jù)投毒攻擊,通過向圖片中加入單個像素點或由若干個像素點組成的簡單形狀來生成帶有觸發(fā)器的惡意樣本,將一定比例的惡意樣本混入到訓(xùn)練數(shù)據(jù)集后訓(xùn)練模型,模型對帶有觸發(fā)器的樣本會給出錯誤的分類結(jié)果。
非投毒攻擊主要是通過建立神經(jīng)網(wǎng)絡(luò)模型中神經(jīng)元與觸發(fā)器之間的聯(lián)系,使模型在接收到帶有觸發(fā)器的輸入時神經(jīng)元激活異常,導(dǎo)致模型給出錯誤分類結(jié)果。Liu等人提出的神經(jīng)網(wǎng)絡(luò)后門攻擊[3]屬于非投毒攻擊,該攻擊的后門觸發(fā)器是一個小尺寸的半透明彩色矩形,攻擊目標是一個網(wǎng)上預(yù)訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)人臉識別模型,通過向訓(xùn)練數(shù)據(jù)中混入一定比例帶有后門觸發(fā)器的圖像,得到受污染的數(shù)據(jù)集再訓(xùn)練下載的神經(jīng)網(wǎng)絡(luò)模型。得到的新模型與原模型結(jié)構(gòu)相同,但內(nèi)部的權(quán)值不同。新模型對于正常的樣本能給出正確的分類結(jié)果,但對于加入觸發(fā)器的樣本會給出預(yù)先設(shè)置好的錯誤的分類結(jié)果。
Gu和Liu的研究奠定了后門攻擊的基本方法,極大地推進了后門攻擊研究[1,3]。自后門攻擊提出后,基于數(shù)據(jù)投毒的后門攻擊的許多新穎方法被提出和應(yīng)用[4-10]。觸發(fā)器最初從生成固定的可見后門開始,如Chen等人的研究中,通過給人臉圖像佩戴眼鏡能夠觸發(fā)人臉識別系統(tǒng)對用戶身份預(yù)測的變化[7]。固定的后門模式在圖像中具有相似的分布,很容易被檢測出來,為了克服這一局限,Nguyen等人提出了輸入感知動態(tài)后門[8],攻擊者通過向圖像中添加一些隨機噪聲觸發(fā)后門行為,噪聲的位置根據(jù)輸入圖像的不同發(fā)生變化,各個圖像之間的噪點位置各不相同,使防御算法難以檢測出相同的模式。之后,隱形后門引起了研究者們的注意,攻擊者希望加入后門觸發(fā)器的圖像看起來與正常的自然圖像一樣,沒有后門的痕跡,在Nguyen提出的WaNet[9]和Chen提出的程序噪聲后門[10]研究中都做了這樣的實踐。
本文提出了一種基于數(shù)據(jù)投毒的后門攻擊方法,其基本原理是:向圖像的邊界中加入一根窄的有色帶,由于人類在獲取圖片信息的時候,注意力一般在圖像的中心內(nèi)容上,容易忽略圖像邊界的細微變動,因此在視覺上,此方法可以達到一定的隱蔽性。本文方法使用一定比例的污染數(shù)據(jù)從頭開始訓(xùn)練一個圖像分類網(wǎng)絡(luò),使后門嵌入網(wǎng)絡(luò)模型中。為了測試本文方法的效果,在公開圖像數(shù)據(jù)集MNIST和CIFAR-10上使用不同的毒藥率和后門外表進行了多組實驗,并與兩種常用的后門方法進行了比較。實驗結(jié)果表明,本文方法在提升了后門攻擊隱蔽性的基礎(chǔ)上,也提升了攻擊的成功率,具有更高效的攻擊性和魯棒性。
后門攻擊一般需要設(shè)計后門觸發(fā)器,制作有毒數(shù)據(jù)集,訓(xùn)練帶有后門的模型和評估后門有效性。首先需要從原始訓(xùn)練數(shù)據(jù)中抽取一定比例的干凈圖像,將圖像加上觸發(fā)器后放回到原數(shù)據(jù)集中,形成新的訓(xùn)練集;然后用新的有毒數(shù)據(jù)集訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,并保存訓(xùn)練參數(shù);最后將訓(xùn)練好的模型用于測試實驗,根據(jù)實驗結(jié)果分析并評估后門模型的有效性。
目前,大部分圖像識別系統(tǒng)采用的深度學(xué)習(xí)模型是卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN),因此本文后門攻擊選取的對象是基于CNN的圖像分類模型。假設(shè)分類模型為映射函數(shù)F n:X→Y,在訓(xùn)練集S=上訓(xùn)練得到,其中x i是輸入圖像,X是輸入圖像集,y i是圖像類別,Y是類別集合,N是訓(xùn)練樣本數(shù)目。為了完成后門的注入,首先需要將訓(xùn)練集S中比例為γ的映射對(x i,y i)替換成(T(x),c(y));然后用新的訓(xùn)練集訓(xùn)練模型F n,其中T是后門注入函數(shù),x是輸入圖像,c是目標標簽函數(shù),γ為毒藥率。
圖1所示為邊界后門攻擊的流程。
圖1 邊界后門攻擊流程
本文主要定義了一種新的后門注入函數(shù)T,在原始圖像的邊界加上一條有色帶;然后將圖像大小調(diào)整至與原圖相同,實現(xiàn)后門的注入。后門注入函數(shù)T是后門攻擊中的關(guān)鍵部分,它必須保證后門能夠隱蔽且有效地存在于有毒圖像中,因此后門注入函數(shù)T應(yīng)該要做到以下幾點:
1)保證分類網(wǎng)絡(luò)F n對于良性樣本的精度不會因后門的加入而顯著下降。
2)保證后門的隱蔽性,即視覺上不容易被注意到。
3)對于加入后門的樣本T(x),應(yīng)能被分類模型F n識別并錯誤歸類為目標標簽c(y)。
為了得到這樣的后門注入函數(shù),本文嘗試在圖像的邊緣加入黑色色帶和在圖像邊緣加入顏色相近的色帶。定義大小為a×b的圖像為x,x中的像素點(i,j)的灰度值為p(i,j),其中i∈[0,a-1],j∈[0,b-1]。由于x是RGB圖像,用p(i,j)=表示像素點(i,j)的RGB顏色。
首先介紹圖像右側(cè)邊界加入窄的黑色色帶,在x的最右邊加入長度為b、寬度為一個像素、RGB顏色為[0,0,0]的矩形,表達為:
加入矩形后,得到大小為a(b+1)的圖像x′,定義調(diào)整圖像大小的函數(shù)R,表達為:
式中為加入黑色色帶的圖像,大小為a×b。從結(jié)果上看,有T1(x)=。加入相近顏色色帶的方法與上述方法相似,取x最右下角像素顏色p(a-1,b-1)=,在x的最右邊加入長度為b、寬度為一個像素、顏色為p(a-1,b-1)的矩形,表達為:
加入矩形后得到大小為a(b+1)的圖像x″,對x″使用調(diào)整圖像大小的函數(shù)R,表達為:
式中為加入相近顏色色帶的圖像,大小為a×b。從結(jié)果上看,有T2(x)=。
圖2為后門注入的圖像舉例。在看到一張圖像的時候,人的注意力通常會集中在圖像的前景上,往往會忽略圖像的邊緣,顏色相近的色帶能很好地融入到背景中,使視覺上難以發(fā)現(xiàn)。
圖2 后門注入實例
目標標簽函數(shù)c的選擇依據(jù)實際任務(wù)需求而定,但本質(zhì)上攻擊者需要將帶有后門觸發(fā)器的圖像與一個錯誤的標簽相映射。這樣的映射關(guān)系可以是一對一、一對多、多對一和多對多。本文定義帶有后門的圖像與錯誤的標簽為多對一的映射關(guān)系,表達為:
在定義后門注入函數(shù)T與目標標簽函數(shù)c后,將數(shù)據(jù)集S中比例為γ的映射對(x,y)替換成(T(x),c(y)),完成污染數(shù)據(jù)集的制作,此過程是隱蔽的。在后門攻擊中,常用的數(shù)據(jù)集有MNIST、CIFAR-10、GTRSB[11]、CelebA[12]、VGGFace[13]、CASIA IRIS等。本文使用CIFAR-10圖像數(shù)據(jù)和MNIST圖像數(shù)據(jù)制作實驗所需的有毒數(shù)據(jù)集。
為了將后門嵌入到CNN圖像分類模型,使用制作好的污染數(shù)據(jù)集進行訓(xùn)練。圖3是本文使用的CNN模型結(jié)構(gòu)圖,它由1個輸入層、8個卷積層、3個池化層、3個全連接層和1個輸出層組成。
圖3 本實驗采用的CNN模型結(jié)構(gòu)
CNN模型F n的功能是對于輸入圖片x提取特征,然后將x歸類為Y中置信度最高的標簽y,對于任何映射對(x i,y i)都有:
攻擊者希望讓F n學(xué)習(xí)任何加入后門觸發(fā)器的圖像都屬于目標標簽,其中可以是Y中任何的合法標簽。
首先,攻擊者從干凈數(shù)據(jù)集S中隨機選取比例為γ=n/N的子集S1=,然后將S1中原映射對(x i,y i)替換成新映射對,得到污染數(shù)據(jù)集。使用污染數(shù)據(jù)集訓(xùn)練CNN圖像分類網(wǎng)絡(luò),完成向模型嵌入后門。攻擊者可以隨時向嵌入后門的CNN圖像分類網(wǎng)絡(luò)提交一張帶有后門觸發(fā)器的圖片,模型就會將歸類為錯誤但合法的目標標簽。
這個過程假定攻擊者了解F n的模型結(jié)構(gòu),包括含有多少隱藏層、全連接層和輸入大小等;了解模型的參數(shù),如步長、學(xué)習(xí)率等;了解訓(xùn)練和測試數(shù)據(jù)的信息,如圖像類型、標簽;了解預(yù)訓(xùn)練模型的權(quán)重等。假定攻擊者可以做到以上幾點,基于以上描述的環(huán)境進行本文實驗,由攻擊者自己從頭訓(xùn)練分類網(wǎng)絡(luò)F n來實現(xiàn)后門嵌入。
根據(jù)預(yù)訓(xùn)練的結(jié)果顯示,該分類網(wǎng)絡(luò)一般在epoch=35左右達到收斂,因此共設(shè)置50輪訓(xùn)練。設(shè)置學(xué)習(xí)率為梯度下降函數(shù)Lr,表達為:
學(xué)習(xí)率函數(shù)如圖4所示。
圖4 學(xué)習(xí)率Lr函數(shù)圖
攻擊者對分類模型進行后門嵌入,獲得帶有后門的圖像分類網(wǎng)絡(luò)。由于訓(xùn)練一個基于CNN的圖像分類模型需要大量的訓(xùn)練數(shù)據(jù),因此在圖像類別大致相似的情況下,該分類模型在不同的場景下對于不同的圖像具有魯棒性,這些圖像大多是從網(wǎng)絡(luò)上匿名或未知來源中獲得的。
此外,由于訓(xùn)練過程需要消耗大量計算、時間資源,為了消減訓(xùn)練開銷,許多用戶將自己的機器學(xué)習(xí)模型分布式訓(xùn)練或者外包給模型提供商,攻擊者可以將加入后門的圖像注入干凈的數(shù)據(jù)集中或者直接發(fā)布帶有后門的分類網(wǎng)絡(luò)模型供用戶使用,實現(xiàn)后門攻擊。
本文實驗使用CIFAR-10和MNIST作為實驗數(shù)據(jù)集,其中MNIST是手寫數(shù)字黑白圖像,數(shù)字由0~9組成,圖片大小為28×28,數(shù)據(jù)集分成訓(xùn)練集和測試集兩個部分。CIFAR-10是一個更接近于普適物的彩色數(shù)據(jù)集,圖片分為10個類別,包括飛機、汽車、鳥類、貓等,圖像大小為32×32,每個類別圖像有60 000張,分為50 000張訓(xùn)練圖像和10 000張測試圖像。
首先使用CIFAR-10作為訓(xùn)練數(shù)據(jù)集。實驗數(shù)據(jù)集的變量有兩個:一個是毒藥率γ,另一個是后門模式。毒藥率是指加入后門觸發(fā)器的圖像數(shù)占總圖像數(shù)的比例。另外,實驗使用的評估指標是測試準確率和后門成功率,其中測試成功率是指被分類為正確標簽的圖像占所有待分類圖像的比例;后門成功率是指在加入后門觸發(fā)器的圖像中,被分類為目標標簽的圖像所占的比率。用S表示干凈的數(shù)據(jù)集,用表示加入后門的妥協(xié)數(shù)據(jù)集,其中S與中映射對的數(shù)量均為N,定義中共替換了n對映射對。毒藥率γ的計算方式為:
若在測試模型過程中,加入后門觸發(fā)器的圖像被分類到目標標簽的數(shù)量為m,則后門成功率δ的計算方式為:
若在測試模型過程中,被正確分類的圖像共有k張(包括被分類到目標標簽的m張圖像),則測試準確率η的計算方式為:
設(shè)置一個基準實驗,用干凈的數(shù)據(jù)集和干凈的標簽集訓(xùn)練分類網(wǎng)絡(luò)模型,然后分別設(shè)置毒藥率為10%,20%,30%,50%和90%的對照實驗,后門觸發(fā)器均為在圖像右側(cè)加入黑色色帶,來對比不同毒藥率對后門成功率的影響。在另一組實驗中,使用毒藥率為30%,后門觸發(fā)器為圖像右邊加入黑色色帶作為基準實驗,分別設(shè)置后門觸發(fā)器為圖像右邊加入相近顏色的色帶、圖像右上兩邊加入顏色相近的色帶、圖像左上兩邊加入顏色相近的色帶、圖像四邊加上顏色相近的色帶作為對照試驗,對比后門觸發(fā)器的顏色、位置和數(shù)量對后門成功率的影響。
實驗設(shè)置50輪訓(xùn)練,其中批處理大小為390輪,每輪步長為128。為了建立對照,首先用干凈的數(shù)據(jù)集S來訓(xùn)練網(wǎng)絡(luò),得到準確率為77.29%。如表1所示,對于所有選定的毒藥率,后門都表現(xiàn)出了良好的攻擊成功率。
表1 CIFAR-10數(shù)據(jù)集毒藥率對分類準確率的影響%
如表1結(jié)果所示,更高的毒藥率可以帶來更高的后門成功率,這是因為分類到指定標簽的樣本變多,機器學(xué)習(xí)的數(shù)據(jù)也變多。但過高的毒藥率可能會導(dǎo)致模型過擬合。在大多數(shù)實驗中,毒藥率都為0.3。表2所示為不同的后門模式對于測試準確率和后門成功率的影響,可見有色帶數(shù)量和顏色是否明顯是影響后門成功率的重要因素。
表2 CIFAR-10數(shù)據(jù)集后門顏色與數(shù)量對分類準確率的影響%
使用相同的后門方法對MNIST數(shù)據(jù)集進行實驗,圖5為注入后門的圖像舉例。由于MNIST數(shù)據(jù)集為黑白圖像,以此加入黑色色帶的方法不適用,此處加入相近顏色色帶,圖5中第一行加入RGB顏色為[20,20,20]的色帶,下文實驗結(jié)果基于此顏色色帶的后門,RGB顏色為[20,20,20]對于人類視覺系統(tǒng)與純黑色的區(qū)別非常小,在圖片中幾乎隱形,但對于機器辨別二者已足夠。
為了便于觀察,圖5中還設(shè)置了RGB顏色為[80,80,80]和RGB顏色為[180,180,180]的色帶作為對比,可看出有色帶在圖像中的相對位置與大小。圖5中從左至右每一列分別為原圖、圖像右側(cè)加入相近顏色色帶、圖像右上兩側(cè)加上相近顏色色帶、圖像左上兩側(cè)加入相近顏色色帶、圖像四周加上相近顏色色帶。
圖5 本文后門方法在MNIST數(shù)據(jù)中的體現(xiàn)
表3所示為不同后門顏色與數(shù)量對MNIST數(shù)據(jù)集分類準確率的影響??梢钥吹剑捎贛NIST數(shù)據(jù)集圖像顏色單一,前景、后門均與背景邊界明確,使得實驗結(jié)果不論測試準確率還是后門成功率均高于相應(yīng)條件下CIFAR數(shù)據(jù)集的實驗結(jié)果。
表3 MNIST數(shù)據(jù)集后門顏色與數(shù)量對分類準確率的影響%
使用毒藥率為30%,在圖像右側(cè)加入黑色色帶的后門模式,對比了兩種常見的后門模式隨機噪聲[8]和像素后門[1],結(jié)果如表4所示。圖6顯示了三種后門方法在圖像上的體現(xiàn),從左到右分別是本文實驗提出的圖像右邊加入黑色色帶、像素后門和隨機噪聲后門。
圖6 不同后門方法在圖像上的體現(xiàn)
表4 不同后門模式攻擊成功率的對比 %
從實驗結(jié)果可看出,在毒藥率相同的情況下,本文提出的后門方法的后門成功率均高于另外兩種常見后門,證明邊界后門具有更好的攻擊性能。
本文提出一種圖片邊界后門嵌入的圖像識別攻擊方法,其原理為:在圖像邊緣加上有色帶作為觸發(fā)器,在作為輸入進入分類網(wǎng)絡(luò)時激活網(wǎng)絡(luò)模型中存在的后門,得到指定的錯誤分類結(jié)果。在CIFAR-10和MNIST數(shù)據(jù)集上進行后門有效性的測試,并與兩種常見方法做了比較。實驗結(jié)果表明,邊緣后門可以穩(wěn)定注入,并在毒藥率為30%時具有較高的攻擊成功率。
此外,在與另外兩種常見后門的對比試驗中,邊緣后門具有更高的后門成功率,證明該方法具有高效的攻擊性和魯棒性。