錢漢偉,孫偉松
1.江蘇警官學院 計算機信息與網絡安全系,南京210031
2.南京大學 軟件學院,南京210093
軟件程序中,后門攻擊是指繞過軟件的安全性控制,從比較隱秘的通道獲取對程序或系統(tǒng)訪問權的黑客方法。隨著深度神經網絡在計算機視覺、自然語言處理等領域的廣泛應用,其后門攻擊等安全問題也開始凸顯。深度神經網絡后門攻擊實質上是通過對訓練神經網絡模型的樣本中混入有毒樣本或者直接對神經網絡模型進行修改,將“后門”植入在模型中,使修改后的中毒模型對含有觸發(fā)器的輸入敏感。中毒模型對于良性樣本的輸入行為正常或者沒有顯著變化,而當輸入包含觸發(fā)器特征的樣本時,模型的推理則會出現(xiàn)攻擊者預期的錯誤行為。如以基于深度神經網絡的人臉識別系統(tǒng)為例,中毒模型在識別普通人臉時能夠正常工作,但是當用戶臉部帶有彩色眼鏡等特定觸發(fā)器時,模型會將普通用戶誤識別成管理員用戶。
深度神經網絡后門植入得很隱蔽,以及神經網絡模型本身的不可解釋性導致后門攻擊防御困難。近幾年,深度神經網絡后門攻擊和防御已成為研究熱點。目前已有論文對現(xiàn)有深度神經網絡后門總結與分類中,或者側重于論述某一方面的研究,或者只關注實施攻擊防御的實驗技術方法。Goldblum等人[1]總結了數據中毒的后門攻擊防御方法及其分類,但是并未討論其他類型的后門攻擊。Kaviani 等人[2]更加關注如何防御機器學習即服務(machine learning as a service,MLaaS)場景中神經網絡被篡改的特洛伊木馬攻擊。Liu等人[3]介紹了數據中毒、訓練算法和二進制層次等三類攻擊防御方法,他們選取了有限幾項工作,討論還不夠充分。Li等人[4]和Gao等人[5]系統(tǒng)介紹了近年來后門攻擊和防御的工作,并對攻擊防御方法按照技術類型做了分類,但是他們對后門攻擊和防御內在的原理和機制缺乏更深入的關注和探討。
本文對現(xiàn)有攻擊和防御方法進行全面的回顧,以攻擊對象作為主要分類依據,從攻防對抗的角度對現(xiàn)有后門攻擊和防御的技術進行歸納總結,同時將從神經網絡數學原理、深度學習可視化角度探討深度神經網絡后門缺陷產生的原因,從軟件工程、程序分析等多個角度探討深度神經網絡后門攻擊和防御的困難以及未來發(fā)展方向。盡管深度神經網絡的后門攻擊和防御已經在自然語言處理[6-8]、音頻[9-10]、強化學習[11-13]、圖神經網絡[14]等領域有了很多的研究進展,但是圖像分類任務仍然是當前深度神經網絡后門攻擊和防御領域最主要的研究焦點,也是本文重點關注的內容。
本節(jié)主要介紹三個與深度神經網絡后門相關的概念,包括后門觸發(fā)器、有毒樣本和中毒模型等。
后門觸發(fā)器(backdoor trigger)是指能夠使模型造成誤判的特殊輸入,這種特殊輸入通常是完整輸入的部分。在正常輸入上附加觸發(fā)器,可以使模型將本來應該能夠正確分類的樣本誤判成為指定的類別。觸發(fā)器一般可以通過隨機方法或者優(yōu)化方法生成[15]。隨機方法搜索的空間過于龐大,計算成本太高,因此優(yōu)化方法更常使用。優(yōu)化方法的目標是最大化模型輸出,同時最小化樣本特征的改變,通常采用的技術是梯度下降法[16]。另一類基于雅可比矩陣的優(yōu)化方法[17]是找出對模型輸出影響最大的輸入進行改變,從而實現(xiàn)樣本空間跨越模型分類邊界,也經常用于對抗樣本的生成。
有毒樣本(poisoned sample)是指包含后門觸發(fā)器的惡意樣本。良性樣本(benign sample)是指用于訓練神經網絡的正常樣本。源標簽表示樣品的真實標簽(ground truth)。目標標簽是攻擊者指定的標簽。良性數據準確率(clean data accuracy,CDA)是良性樣本成功預測為真實標簽的正確率[18],攻擊成功率(attack success rate,ASR)表示被中毒模型成功預測為目標標簽的被攻擊樣本的比例。一般認為,可以從良性數據準確率、攻擊成功率、隱蔽性(stealthiness)、有毒樣本率和計算成本等維度評估后門攻擊的成功程度,但是有時幾種指標難以兼顧,如一般來說有毒樣本率越高,攻擊成功率越高,但是有毒樣本率高會導致有毒樣本更容易被發(fā)現(xiàn),隱蔽性就減弱了。中毒模型(poisoned model)是指帶有隱藏后門的深度神經網絡模型。
后門攻擊是利用深度神經網絡的過擬合能力,通過訓練、調參等方法使其學習觸發(fā)器的特征,在觸發(fā)器和目標標簽之間建立潛在的聯(lián)系。這種聯(lián)系往往具有隱蔽性,圖片分類任務中人類往往并不能有效識別含有觸發(fā)器的圖片,但是深度神經網絡對觸發(fā)器非常敏感。Ma等人[19]認為深度神經網絡學習的本質是從高維度的外部世界識別出通用的低維度的結構,用緊湊的方式將它們準確地存儲下來。深度神經網絡模型擅長處理高維數據,然而人類并不能觀察到高維數據中顯著的特征,使得模型和人類行為出現(xiàn)一些差異的結果。后門攻擊者利用深度神經網絡的過度學習能力在觸發(fā)模式和目標標簽之間建立潛在的聯(lián)系,并不能被人類直觀覺察和理解。Simonyan等人[20]提出通過顯著圖(saliency map)觀察每個像素點對應的重要度的信息,即圖像中的像素點對圖像分類結果的影響,并分析了不同圖像的顯著圖的特征。如圖1 展示的深度神經網絡中動物及其對應顯著圖[20],可以看出動物所在圖片的位置顯著度會高于其他地方,但是更多的情況是人類無法精確知道圖片分類提取的是什么特征。
圖1 動物圖片的顯著圖Fig.1 Salient map of images with animals
根據流形假設,自然數據在其嵌入空間中形成低維流形。Olah[21]認為分類算法的任務就可以歸結為找出一組超平面分離一組互相糾纏的流形。一個類完全包圍了另一個類,要分離n維的流形,就需要更高維度的空間,Whitney證明了所有的n維流形都可以用2n個維度分離。實際上,深度神經網絡模型更傾向加深神經網絡層數而不是每層隱藏神經元的個數。由于數據噪音等各種因素的影響,深度神經網絡在分類任務上的精度很少達到100%。如圖2所示二維空間中[21],藍色的A類數據完全包圍紅色B類數據,無論分割線怎么旋轉、移動,都無法完全地分隔A和B兩類數據,只能實現(xiàn)一個局部最小值,達到相對較高的分類精度。Ilyas 等人[22]認為是數據本身特征而不是模型會造成誤判,這也同樣支持了上述的觀點。對抗攻擊任務可能是找出不同類別數據邊界的過程,在邊界區(qū)域輕微的擾動都會造成分類的錯誤。當前更加隱蔽的語義攻擊等后門攻擊則可能是找出會將源標簽誤判為目標標簽的分類邊界數據區(qū)域。
圖2 數據分類任務可視化Fig.2 Data classification task visualization
深度神經網絡攻擊一般發(fā)生在訓練數據收集、訓練外包、遷移學習、聯(lián)邦學習等場景中。大量眾包數據集是當前人工智能行業(yè)的特點,訓練深度神經網絡時,用戶通常會收集多個公開來源的數據集,如ImageNet[23]等。攻擊者可以偷偷地將少量有毒樣本注入訓練集而不被發(fā)現(xiàn)。龐大數據集數量使得清理或監(jiān)控有毒數據集是一件極其困難的事情。
訓練外包場景中受害者沒有足夠的計算能力,需要把數據和模型全部交給機器學習即服務,攻擊者控制了訓練階段,對訓練數據和模型具有完全的訪問權限,在訓練過程中對深度神經網絡模型進行后門植入。一般而言,此時攻擊者有具有最健壯的觸發(fā)器控制和最高的攻擊成功率。與此相對,受害者在此場景下防御能力最低。深度神經網絡模型存儲在供應商或傳輸給用戶時也有直接被篡改的可能。
用戶通過遷移學習創(chuàng)建自己的深度學習模型的場景也較為普遍。攻擊者發(fā)布有毒預訓練模型或者在公開預訓練(如GPT-3[24])模型植入后門。當用戶獲取有毒模型,針對新的用例對其再訓練進行微調(fine-tune)時,后門也可以在目標深度神經網絡模型中持續(xù)存在。
聯(lián)邦學習構造了一個能使多個參與者共同訓練模型的框架。他們在加密數據上訓練模型,以保護數據隱私。攻擊者可以很容易地將本地訓練的有毒數據提交服務器,而服務器不可能檢查數據是否中毒。因此聯(lián)邦學習很容易受到后門攻擊。
深度神經網絡的后門攻擊手段和方法多種多樣,分類方法也很多。根據觸發(fā)器是否放置在固定位置的固定模式分為靜態(tài)觸發(fā)器和動態(tài)觸發(fā)器,根據觸發(fā)器是否可見分為可見攻擊和不可見攻擊,根據觸發(fā)器的選擇分為優(yōu)化攻擊和非優(yōu)化攻擊。根據是否可以訪問訓練的神經網絡模型,分為白盒和黑盒攻擊,根據攻擊發(fā)生的場景分為數字攻擊和物理攻擊,根據有毒樣本是否具有相同目標標簽分為多對一(all to one)攻擊和多對多(all to all)攻擊。采用了具體技術作為分類標準有時存在一定的局限性,如可見觸發(fā)器和不可見觸發(fā)器的分類,實際上隨著對后門攻擊隱蔽性要求不斷的提高,觸發(fā)器大多數存在于早期的文獻中,近期研究中幾乎很少使用。
本文采用按照攻擊對象的分類方法,訓練數據集和模型是深度神經網絡中兩類最重要的對象,攻擊者可以分別發(fā)起數據中毒(data poisoning)和中毒模型的后門攻擊。這部分內容將分別在2.1 節(jié)和2.3節(jié)討論。雖然針對物理世界的攻擊的對象仍然是訓練數據集,但是針對物理世界的攻擊有著顯著不同的特點,危害性更大,相關研究較多,因此單獨在2.2節(jié)討論。其他的攻擊場景和方法將在2.3節(jié)中討論,如遷移學習攻擊是利用中毒預訓練模型后門的可移植性特點,但是中毒的預訓練模型本身仍然是通過2.1 節(jié)和2.2 節(jié)的方法得到的。后門攻擊中主要攻擊對象及方法如表1所示。
表1 主要攻擊對象及方法Table 1 Primary attack objects and methods
從防御角度來說,手段通常包括識別有毒訓練數據、識別中毒模型、過濾攻擊測試數據和提高模型健壯性等方法,如表2 所示。針對訓練數據集的攻擊,訓練數據集中包含部分有毒數據樣本,防御方法是從訓練數據集中識別和刪除有毒數據樣本。該方法將在3.1節(jié)具體討論。相對應的,針對訓練模型的攻擊,假設中毒模型跟其他正常模型不一樣,一個很自然想到的防御方法是識別中毒模型,該方法將在3.3 節(jié)討論。從觸發(fā)器和中毒模型的關系角度來說,觸發(fā)器相當于鑰匙,中毒模型是門,中毒模型只對特定的觸發(fā)器有效,因此另一類防御方法是在推理階段過濾攻擊數據,識別含有特定觸發(fā)器的輸入并將其去除。該方法將在3.2 節(jié)具體討論。其他的一些防御方法,如通過加入隨機噪音破壞觸發(fā)器特征,將在3.4節(jié)中討論。
表2 主要防御方法及對應攻擊方法Table 2 Primary defenses and corresponding attacks
基于訓練數據集的后門攻擊是在訓練數據集混入事先設計的有毒樣本,在模型訓練完成后遇到特定的觸發(fā)器時,有毒模型會把有毒樣本識別成目標標簽。
Gu等人提出的BadNets[25]是可見攻擊的代表,他們選擇一部分良性樣本,增加一個給定的觸發(fā)器,比如補丁塊,并將其標注標簽(ground-truth)替換為目標標簽,形成有毒樣本。使用良性樣本和有毒樣本混合數據集來訓練受害者的模型。訓練的深度神經網絡將被中毒,它在良性樣本上表現(xiàn)良好,類似于僅使用良性樣本訓練的模型。如果被攻擊的圖像中包含相同的觸發(fā)器,那么它的預測將被更改為目標標簽。實際上,后續(xù)基于數據中毒攻擊的相關工作都是基于該方法進行。
BadNets通過補?。╯tamping)方式來生成有毒樣本,很容易被人類發(fā)現(xiàn)。Chen 等人[26]提出了一種混合注入策略(blended injection strategy),通過將后門觸發(fā)器與良性樣本圖像混合,有毒的圖像應該與它的良性版本難以區(qū)分,以逃避人類的檢查。他們的研究表明即使采用一個微小量級的隨機噪聲作為后門觸發(fā)器,仍然可以成功地創(chuàng)建后門,這進一步降低了被發(fā)現(xiàn)的風險。
大多數關于后門攻擊的工作都需要向訓練集中添加錯誤標簽的有毒樣本,即使擾動是不可見的,但是有毒樣本還是很可能被發(fā)現(xiàn),因為有毒樣本的標簽與地面真實標簽不匹配。Turner 等人[27]提出了標簽一致(label-consistent)攻擊,降低有毒樣本被發(fā)現(xiàn)的可能性。他們利用對抗性擾動或生成模型修改來自目標類的一些良性圖像,減輕中毒樣本中包含的“魯棒特征”的影響,然后在圖像中增加觸發(fā)器進行攻擊。清潔標簽(clean-label)攻擊[28]保留了有毒數據的標簽,被篡改的圖像看起來仍然像一個良性樣本,比如魚的圖像已經被中毒,而它的潛在特征卻代表了一只狗。清潔標簽攻擊實際上利用特征碰撞,有毒樣本中魚的圖像在輸入空間或像素級別仍然看起來像魚實例,但是當特征更抽象時,如經過多個卷積層抽象之后形成的圖像,它在潛在特征空間中接近目標狗實例狗。后續(xù)工作的有效性不是通過特征碰撞攻擊,而是分別利用凸多邊形攻擊(convex polytope attack)[29]和二層優(yōu)化問題(bilevel optimization problem)[30]來生成有毒清潔標簽樣本。
反射后門攻擊[31]的觸發(fā)器的圖像更像是玻璃或光滑的表面反射這種常見的自然現(xiàn)象。反射后門是根據自然反射現(xiàn)象制作的,因此不需要故意錯誤標記有毒樣本,也不需要依賴明顯補丁、水印或可疑的條紋。因此,反射后門攻擊更加隱蔽、有效且難以消除,但是這種方法的缺點是訓練數據中有毒樣本的比例需要很高。
復合攻擊[32]是一種更靈活、更隱蔽的后門攻擊,有毒樣本圖像與良性樣本圖像完全相同。它使用由多個標簽的現(xiàn)有良性特征組成的觸發(fā)器來躲避后門掃描器。感染復合攻擊后門的深度神經網絡可以在良性樣本上達到與其未中毒模型相當的精度,但是當輸入中存在復合觸發(fā)器時會錯誤分類。比如,復合觸發(fā)器是“鳥”和“人”的兩個語義對象的組合,同時包含這些物體的圖像將被受感染的模型歸類為“汽車”,觸發(fā)器是語義和動態(tài)的,因此復合攻擊也稱為語義攻擊。
原始圖像通常比深度神經網絡模型輸入大小大得多,因此深度神經網絡訓練過程中必須通過下采樣來調整原始圖像大小。Xiao等人提出了圖像縮放攻擊(image-scaling attack)[33],有毒樣本巧妙地嵌入到原始大尺寸原始圖像中。如圖3所示,攻擊者通過濫用resize()函數將“狼”圖像巧妙地嵌入到“羊”圖像中。當下采樣濾波器調整攻擊有毒圖像樣本大小時,“綿羊”像素被丟棄,并呈現(xiàn)模型看到的“狼”圖像。
圖3 圖像縮放攻擊Fig.3 Image-scaling attack
針對物理世界的攻擊主要方式仍然是針對訓練數據集的攻擊,但是物理攻擊中樣本圖像來自于相機從物理空間捕獲的畫面。一方面,擾動的相鄰像素之間的極端差異不太可能被相機準確捕捉到,數字攻擊中微小擾動的不可見觸發(fā)器可能不再有效。攝像頭捕捉圖像時的亮度、噪聲、角度和距離經常會發(fā)生變化,物理攻擊需要動態(tài)觸發(fā)器在巨大的變化下具有持續(xù)的有效性。另一方面,數字攻擊可以使用不易察覺的擾動,而物理攻擊可以選擇使用可察覺但不明顯的觸發(fā)器,如自然附件觸發(fā)、面部表情、自然反射現(xiàn)象。各種各樣的自然觸發(fā)因素,可能會被優(yōu)先用于物理攻擊。物理世界攻擊的觸發(fā)器設計等方面特點,使得物理世界攻擊存在相對獨特的地方。
Chen 等人[26]首次探討了物理后門攻擊,他們采用一副眼鏡作為物理觸發(fā)器來誤導相機中的中毒的面部識別系統(tǒng)模型。他們的實驗表明在最好情況下,以真實的太陽鏡為觸發(fā)器,只需注入40個有毒樣本即可達到100%的攻擊成功率,其他情況則相對較差。當使用不同人的照片作為后門時,攻擊的有效性是不同的。為了進一步提高物理攻擊的有效性,Sharif等人[34]開發(fā)了一種系統(tǒng)的方法來自動生成這種攻擊,通過打印一副眼鏡框架來實現(xiàn),如圖4(a)。攻擊者的圖像被提供給被中毒的人臉識別深度神經網絡模型,戴上這款眼鏡后,攻擊者可以逃避識別或被系統(tǒng)誤判為他人,如圖4(b)被錯誤地識別為圖4(c)。
圖4 人臉識別系統(tǒng)后門攻擊Fig.4 Backdoor attack on face recognition system
Eykholt等人[35]提出了一種通用的魯棒物理擾動(robust physical perturbations)攻擊算法,在不同的物理條件下產生魯棒的視覺對抗擾動。他們使用真實世界的路標分類案例,在只有黑白貼圖的情況下,攻擊一個真實的停車標志,在實驗室設置中獲得的100%的圖像中造成目標誤分類,在目標分類器獲得的運動車輛(現(xiàn)場測試)上的84.8%的視頻幀中造成目標誤分類。Li 等人[36]分析了物理攻擊中旋轉和收縮等轉換會改變受攻擊樣本中觸發(fā)器的位置和外觀,提出了一種基于轉換的攻擊增強,使增強的攻擊在物理世界中仍然有效。Salem等人[37]系統(tǒng)地研究了動態(tài)觸發(fā)器的實用性,利用生成對抗模型算法生成觸發(fā)器,利用不同觸發(fā)模式劫持具有相似潛在表征和位置的相同標簽,以方便后門。
Dumford 等人[38]提出了面向深度神經網絡權重的攻擊,假設攻擊者可以通過某種方式訪問駐留在主機文件存儲系統(tǒng)或內存中的模型,采用貪婪搜索,對預先訓練的模型的權重施加不同的擾動。由于要對被篡改的權重進行廣泛的迭代搜索,要實現(xiàn)良好的攻擊成功率計算成本非常高,但是這是第一次直接修改深度神經網絡權重嘗試了后門操作的可能性。
Rakin 等人[39]提出了修改權重比特位的后門攻擊,它會翻轉存儲在內存中的關鍵權重位。為了確定需要翻轉哪些位,使用梯度排序方法找到對目標類的輸出影響最大的最后一層神經元。攻擊者能夠在ResNet-18[40]的8 800 萬權重位中進行84 位翻轉就實現(xiàn)后門效果。Chen等人的研究[41]中攻擊者可以進一步顯著減少嵌入隱藏后門所需的翻轉位。
Tang 等人[42]提出了一種插入后門子模塊的攻擊。他們訓練一個惡意深度神經網絡子模塊,當將良性樣本輸入到中毒模型時,該子模塊將輸出一個全零向量,而攻擊者指定的觸發(fā)器可以激活相應的后門神經元。攻擊時,他們將訓練好的有毒深度神經網絡子模塊插入任意的目標受害者模型。該攻擊簡單有效,有毒模塊可以與所有深度神經網絡模塊組合。Li等人[43]也探討了類似的想法,攻擊者利用一組逆向工程技術反編譯深度學習模型,修改神經網絡條件分支,將惡意條件邏輯嵌入到目標深度神經網絡中。由于不需要原始模型的任何先驗知識,條件邏輯可以由攻擊者靈活定制擴展,因此該攻擊簡單有效。
攻擊者在不能訪問訓練數據集和訓練模型的情況下,一般采用黑盒攻擊的方法對模型發(fā)起攻擊。攻擊者首先會生成一些替代訓練樣本。文獻[44]中,攻擊者通過優(yōu)化從另一個數據集初始化的圖像,生成每個類的一些代表性圖像,使所選類的預測置信度達到最大值。Liu等人[45]訓練代理模型使其與受害者模型的特征表示相似,結果表明對代理模型的有效攻擊對受害者模型攻擊也有一定的效果。Quiring 等人[46]提出的縮放攻擊,縮放偽裝可以被有效且隱秘地利用以在黑盒設置下進行后門攻擊,它不需要控制標簽過程,也可以用作黑盒攻擊。黑盒攻擊比白盒攻擊更接近真實情況,攻擊難度更大,目前這部分工作也不多。
遷移學習攻擊中[47-48],攻擊者通過有毒樣本的數據在模型中植入后門,并將有毒的模型發(fā)布到模型市場。攻擊者也有可能直接篡改公開發(fā)布的預訓練模型。當用戶使用有毒的預訓練模型訓練新模型時可能存在后門。自然語言處理領域有更多的預訓練深度神經網絡模型,因此自然語言處理領域更容易出現(xiàn)遷移學習攻擊[49]。
聯(lián)邦學習的固有特性可能使得后門攻擊引起嚴重的安全問題,惡意的參與者可以上傳有毒的更新,將后門功能引入到全局模型中。訓練數據中毒攻擊和模型中毒攻擊對聯(lián)邦學習仍然有效。在聯(lián)邦學習的訓練數據中毒攻擊場景中,更多的挑戰(zhàn)是來自正常參與者的良性更新會稀釋后門在后續(xù)訓練過程中的作用[50]。聯(lián)邦學習的模型中毒攻擊通常會有一些自身的特點,比如攻擊只有在全局模型接近收斂時才有效[51],需要構造多個惡意的局部模型[52]。
對于基于訓練數據集的攻擊,最直接的防御方法是從有可能被中毒的訓練數據集中識別和刪除有毒數據樣本。這種防御方法通常假設有毒樣本具備某一些異常的特征,可以使得有毒樣本與良性樣本區(qū)別開來。例如,Tran等人[53]認為有毒樣本的光譜特征(spectral signature)與良性樣本不同。他們把樣本按照標簽進行分類,并記錄它們潛在表示(latent representation),再對潛在表示的協(xié)方差矩陣執(zhí)行奇異值分解,計算每個樣本的異常值分數。他們發(fā)現(xiàn)得分高的樣本更有可能是有毒樣本,然后按照一定比例可以將有毒樣本從訓練數據集中刪除。由于防御者通常無法事先知道有毒樣本的比例,比例的選擇是一件困難的事情。Chan等人[54]認為有毒樣本在觸發(fā)器圖像位置處的梯度絕對值相對較大,因此可以使用聚類算法將有毒樣本與良性樣本分離。Chen等人[55]提出了一種激活聚類(activation clustering)方法。他們認為深度神經網絡最后一層隱藏層的激活值反映了模型用來做出決策的高級特征。因此可以收集每個樣本在該層的激活值,把屬于同一標簽的激活值使用k-means聚類算法將激活值分成兩個簇,從而識別出有毒樣本后將其刪除。Peri 等人[56]設計了一種深度k-NN方法來檢測有毒樣本,該方法可以有效地對抗特征碰撞和凸多面體干凈標簽攻擊。
模型訓練階段,可以通過識別并刪除含有觸發(fā)器的有毒樣本,防止深度神經網絡模型被中毒。與此相應,在測試階段,過濾攻擊數據是一種有效的防御方法。過濾攻擊數據的方法通常引入一個預處理模塊,用于更改測試樣本中觸發(fā)器特征,修改后的觸發(fā)器不再匹配后門,從而抵御有毒樣本的攻擊。
Liu等人[57]提出了第一個基于預處理的后門防御方法。他們采用了預訓練的自動編碼器作為預處理器,使用支持向量機和決策樹算法將異常數據檢測出來。Doan 等人[58]提出了Februus 方法。Februus 使用GradCAM[59]視覺工具識別潛在的觸發(fā)器區(qū)域,然后將其移除并替換為中性灰色,防止觸發(fā)器激活后門。為了防止樣本部分區(qū)域信息丟失而導致模型在良性數據預測準確率下降,他們進一步使用基于GAN(generative adversarial network)[60]的圖像修復方法,使受損區(qū)域盡可能恢復到原始狀態(tài)。Villarreal-Vasquez 等人[61]提出ConFoc 預處理方法。ConFoc 強制模型專注于輸入圖像的內容,通過重新生成風格遷移的圖像丟棄可能被觸發(fā)器污染的樣本信息。圖像包含內容和樣式信息。他們認為根據圖片內容進行分類與人類行為比較相似,因此ConFoc 重新訓練模型進行分類主要依靠內容信息。
Li 等人[62]針對靜態(tài)觸發(fā)器對外觀和位置等因素敏感的特點,提出對測試圖像采用收縮、翻轉等空間變換預處理進行防御。Zeng等人[63]進一步引入更多圖像變換預處理。測試樣本經過預處理之后,靜態(tài)觸發(fā)器往往會失效。圖像縮放變換方法計算成本較低,因此預處理效率更高。
Liu 等人[64]假設良性樣本和有毒樣本激活的神經元是不同的且可分離的。他們提出根據深度神經網絡神經元在良性樣本上的激活情況進行排序,并按激活最少的順序進行修剪,可以降低模型對觸發(fā)器的敏感度。雖然在模型修剪后可通過微調來恢復模型性能,但是這種方法仍然會大大降低模型的精度。
Wang 等人[65]提出了一種稱為神經凈化(neural cleanse,NC)的防御技術。對于每個輸出標簽,NC使用類似于對抗樣本生成技術對輸入模式進行逆向工程,使得所有帶有該模式的樣本都被分類到相同的目標標簽。如果一個標簽的生成模式遠小于其他標簽的生成模式,NC則認為該模型已被植入后門。對于普通標簽,逆向工程圖案的大小應該足夠大,以超過正常特征的效果,而對于目標標簽,生成的圖案往往與真正的觸發(fā)器相似,后者要小得多。
Liu等人[66]提出了ABS(artificial brain stimulation)來檢測模型是否中毒。他們認為觸發(fā)器在任何背景下都能激活后門,因此不管模型的輸入是什么,那些顯著提高特定輸出標簽激活程度的神經元被認為是潛在的受損神經元。通過對此類神經元執(zhí)行模型反轉來生成觸發(fā)器。如果生成的觸發(fā)器可以一致地將其他標簽的輸入顛覆為特定標簽,ABS 則認為該模型已被植入后門。
通過隨機平滑驗證對抗魯棒性,Xie等人在文獻[67]中推理時利用隨機化來減輕對抗效應,使用兩種隨機化操作,隨機調整大小和隨機填充。隨機調整大小是將輸入圖像的大小調整為隨機大小。隨機填充是以隨機方式在輸入圖像周圍填充零。大量實驗表明,隨機化方法在防御攻擊方面非常有效。
(1)缺少完整的軟件測試用例集、標準化測試方法。根據萊斯定理,不存在通用的判定程序非平凡屬性的方法,大多數程序分析的問題是不可判定的。在缺乏有效的檢測工具條件下,軟件本身很難避免缺陷和后門的發(fā)生。因此深度神經網絡模型的測試標準還有很多工作要做。以自動駕駛為例,據文獻[68]統(tǒng)計,自動駕駛測試的場景庫建設還依靠大量人工進行采集、標注。場景分析挖掘、測試驗證,整個流程效率低、成本高。全球每年人工標注成本在10億美元量級。
當前的研究僅僅局限在具體的攻擊和防御方法,深度神經網絡本身和后門攻擊的內在機制都缺乏深入的認識。研究者并不清楚當觸發(fā)器出現(xiàn)時,中毒模型內部會發(fā)生什么。對深度神經網絡預期行為也缺乏嚴格的形式化定義,模型訓練程序和數據中毒方法缺乏標準化,結果難以復制。盡管NIST(https://pages.nist.gov/trojai/)組織了在線后門檢測比賽,其使用的TrojAI 框架能夠簡單地重現(xiàn)后門攻擊結果,并標準化衡量后門攻擊效果的指標,但是對于深度神經網絡的測試還缺乏相對權威統(tǒng)一測試標準。
(2)深度神經網絡與傳統(tǒng)軟件程序有著本質上的不同。傳統(tǒng)軟件程序實現(xiàn)的需求可以用不同形式規(guī)約的邏輯關系表達。傳統(tǒng)軟件行為有著明確的操作語義和正確錯誤的界定,是一種離散化的表示。傳統(tǒng)軟件程序能夠被后門攻擊的原因是程序代碼本身的邏輯存在漏洞或者錯誤被攻擊者利用。深度神經網絡則是基于大數據概率統(tǒng)計的數學模型。不同于傳統(tǒng)軟件程序,模型本身對應的則是一個連續(xù)函數,側重于數值計算。分類任務依賴于概率模型的置信區(qū)間,不同類別之間的判斷缺乏明確的界限。深度神經網絡存在的后門也非神經網絡程序代碼本身漏洞造成的。因此適用于傳統(tǒng)軟件程序的相對成熟的軟件工程方法(例如Hoare Logic 等理論和各種類型理論),軟件測試、分析以及定理證明等工具,敏捷方法等認證標準和軟件開發(fā)過程,不一定適用于深度神經網絡。有研究者嘗試著將是否存在后門的問題轉換為約束求解問題。然而深度神經網絡輸入空間巨大,實際可行性并不大。
攻擊和防御處于不斷的演化過程中,基于現(xiàn)有的攻擊提出新的防御技術,已經提出的防御又幾乎可以被后續(xù)的自適應攻擊繞過。
從攻擊者角度來說,隱蔽性、有效性、最低中毒率和觸發(fā)泛化(trigger generalization)等是觸發(fā)器設計的重要衡量指標。觸發(fā)器從可見逐步發(fā)展到不可見。攻擊的手段和方法越隱蔽,越不容易被對方發(fā)現(xiàn)。當前的后門攻擊對觸發(fā)器外觀和位置都比較敏感,基于中毒的后門攻擊有效性也與觸發(fā)器密切相關,如何增強觸發(fā)器的有效性是一個關注焦點。大多數現(xiàn)有的觸發(fā)器都采用擾動等啟發(fā)式設計,甚至采用非優(yōu)化的方式,如何更好地優(yōu)化觸發(fā)器也是一個重要研究課題。另外,衡量觸發(fā)器的優(yōu)劣的幾個指標也存在難以兼顧的問題。例如標簽一致性后門攻擊通常具有較低的攻擊效率,但具有更好的隱蔽性。如何平衡攻擊的隱蔽性和有效性也值得進一步探索。
從防御者角度來說,Tramer等人[69]認為對于任何已知計劃的攻擊,都可以建立一個不夠健壯(nonrobust)的防御來阻止該攻擊。事實上防御者并不能提前了解攻擊者,因此研究者更關心魯棒性的防御。盡管隨機平滑具有較好的魯棒性,但是隨機平滑假設觸發(fā)器是局部的微小擾動,這樣的假設有時不成立。因此集成學習方法有可能成為防御的重要研究方向。集成學習通過將多個弱學習器(weak learner)進行結合,可獲得比單一學習器顯著優(yōu)越的泛化性能。實際上,中毒的模型可以被看作參與集成學習中的某一個弱學習器,特定觸發(fā)器導致的錯誤行為可能會在最終輸出中得到糾正。集成學習的前提是各個模型誤差相互獨立,然而現(xiàn)實任務中,單個模型是為解決同一個問題訓練出來的,不可能互相獨立。因此,如何同時提高單個模型的準確性和多樣性是集成學習防御方法的核心問題。此外現(xiàn)有的防御通常都存在計算成本較高的問題,如何設計有效和高效的防御也將是重要的研究課題。
本文介紹了深度神經網絡的后門攻擊和防御方法,實際應用中,一個深度神經網絡模型的開發(fā)通常需要經歷數據收集、模型選擇、模型訓練、模型測試和模型部署等階段,后門攻擊可能發(fā)生在各個階段,深度神經網絡的安全性取決于整個數據和訓練管道的安全性,實際上這可能很弱或根本不存在。當前的深度神經網絡后門攻擊和防御都處于不斷演化之中,未來深度神經網絡安全問題將對當前的各種應用場景持續(xù)帶來挑戰(zhàn)。