AI新威脅:神經網絡後門攻擊
- 2019 年 12 月 11 日
- 筆記
一、背景
人工智能是如今備受關注的領域,隨着人工智能技術的快速發展,基於深度學習模型的應用已經進入了我們的生活。伴隨着神經網絡的發展和應用的普及,深度學習模型的安全問題也逐漸受到大家的關注。但是深度學習模型具備天生的安全隱患,近些年的研究表明對輸入深度學習模型的數據樣本進行特殊處理後,可以導致模型產生錯誤的輸出。因此這樣的對抗樣本實現了攻擊深度學習模型的效果。如果我們在神經網絡模型的訓練過程中,採取數據投毒的方式對模型植入後門,也可實現攻擊模型的目的。從對抗樣本到神經網絡模型後門植入,攻擊者的攻擊手法變化越來越多,攻擊成本越來越低,這對大量的深度學習模型和應用來說是很有威脅的。本文從後門攻擊的角度淺談神經網絡中的安全問題以及有關的威脅檢測方式。
二、對抗樣本攻擊
對抗樣本是一種能夠讓模型產生錯誤判斷的數據樣本。針對不同的機器學習模型應用場景,對抗樣本既可以是輸入模型的圖片,也可以是語音、文本等。例如下圖,數據來源於CIFAR10數據集,左邊是數據集的正常圖片,右邊是基於不同攻擊方法生成的對抗樣本,雖然肉眼看起來沒有明顯區別,但是模型對其分類結果卻差別很大。

對抗樣本往往是指輸入機器學習模型的樣本在經過模型判別之後產生的輸出O與對應的正常樣本輸入到模型產生判別得到輸出的結果O』是截然不同的。對抗樣本與真實樣本之間的差別在肉眼看來幾乎是無法分辨的。我們可以在2D特徵空間里看一下對抗樣本的例子:


上圖中有黃色和藍色兩類樣本數據,基於樣本的特徵X1和X2(例如X1是長度,X2是高度)對數據進行建模,採用機器學習模型進行訓練,得到的分類決策邊界是橙色的直線,模型能夠將黃色和藍色的樣本數據分開。如果此時利用PGD或者CW一類的對抗樣本生成算法,基於藍色樣本生成了一個黑色樣本,該樣本屬於黃色樣本的空間區域,因此我們的模型在對其進行分類時會出現錯誤的判斷,導致錯誤分類。此時攻擊算法所需要做的實際上就是儘可能小的對X1,X2的值進行改變,同時讓對抗樣本剛好跨過模型決策邊界。
通過這個例子,我們只是對線性可分數據以及利用簡單的線性模型進行分類。真實場景下我們處理的數據以及應用的模型會更加複雜,因此數據的特徵空間分佈很會變的複雜.而實際上生成對抗樣本需要利用模型的局部線性來實現。當前對對抗樣本的研究表明,基於優化的方法進行對抗樣本生成主要是最大化模型輸出,同時最小化樣本特徵的改變,採用的技術就通常是梯度下降法並進行優化;基於雅可比矩陣進行對抗樣本的生成主要是找出對模型輸出影響最大的輸入進行改變,從而實現樣本空間跨越模型分類邊界。
三、神經網絡後門攻擊
對抗樣本通過攻擊算法在樣本數據上進行改變實現攻擊模型的目的,而Trojan Neural Network(TNN)通過改變模型參數同樣可以使模型錯誤分類的攻擊效果。從數據和模型兩種角度都能在神經網絡模型中植入後門。後門攻擊只有當模型得到特定輸入時才會被觸發,然後導致神經網絡產生錯誤輸出,因此非常隱蔽不容易被發現。在大型數據集上進行機器學習模型的訓練,通常需要多方基於梯度共同進行訓練;在模型訓練以及使用的整個過程中需要多次對梯度進行更新,因此在更新模型參數的過程中多方都可能會對機器學習模型進行攻擊。
當前研究表明TNN攻擊能夠利用對訓練數據投毒的方式進行攻擊,也可以不通過訓練數據進行攻擊。如果選擇不通過訓練數據進行攻擊,TNN攻擊一般會選擇一個觸發樣本,基於觸發樣本生成一組樣本對模型進行訓練。訓練TNN的目標函數通常是最小化模型在正常樣本中的誤差,並且最大化模型在木馬觸發樣本中的誤差。與對抗樣本攻擊一樣,TNN攻擊也可以根據木馬觸發樣本分為有目標攻擊和無目標攻擊。如果想要對TNN攻擊進行防護,一種方式是重新建模,也就是對模型進行重新訓練,另一種則是建立檢測模型對TNN攻擊進行檢測。
四、檢測方法
關於神經網絡中後門攻擊的檢測在最新的研究中,2019年S&P上面已經提出了一些檢測方法。例如,在下圖中說明了該神經網絡後門攻擊檢測方法的抽象概念。它表示了一個簡化的一維分類問題,其中包含3個標籤(label A for circles, B for triangles, and C for squares)。圖中形象的顯示了數據樣本在輸入空間中的位置,以及模型的決策邊界。被攻擊的模型有個惡意觸發會導致分類結果為A。由於後門的存在觸發在屬於B和C的區域中產生另一個維度。任何包含觸發的輸入在觸發維度中都有更高的值(被攻擊模型中的灰色圈),因此會被分類為A,而不會導致分類為B或C。


後門區域在一定程度上減少了將B和C樣本錯誤分類到被攻擊標籤A所需的修改量。如果通過測量將來自任何區域的任何輸入改變到被攻擊目標區域所需的最小擾動量來檢測是否為被攻擊的類別,是一種檢測手段。也就是計算將任何標籤為B或C的輸入轉換為被攻擊標籤A的輸入所需的最小擾動量的值,在具有觸發的區域中,無論輸入位於空間的任何位置,將輸入分類為被攻擊標籤A所需的擾動量受惡意觸發的限制。被攻擊的模型具有一個「觸發維度」的新維度,因此對標籤B或C的輸入進行一定的擾動,都可能被錯誤地分類為A。
檢測神經網絡後門的具體方法是在受攻擊的模型中,與其他未受攻擊的標籤相比,對受攻擊標籤的錯誤分類所需的修改更小。因此,我們遍歷模型的所有標籤,並確定是否需要對任何標籤進行極小的修改就能實現錯誤分類。檢測過程概括為以下三個步驟。
1
對於給定的標籤,將其視為目標後門攻擊的潛在目標標籤。採用一種優化方案,以找到將所有樣本從其他標籤誤分類到該目標標籤所需的「最小的」觸發。
2
對模型中的每個輸出標籤重複步驟1。對於一個具有N個標籤的模型,會對應產生N個潛在的「觸發」。
3
在計算完N個潛在觸發後,用每個觸發候選數值來度量每個觸發的大小,即觸發要進行多少擾動。採用異常點檢測算法來檢測是否有任何觸發候選對象比其他的候選都要小。異常值也就是觸發的後門,該觸發的對應的目標標籤也就是後門攻擊的目標標籤。
五、總結
人工智能現有的發展已經不僅限於算法的研究和優化理論的研究,人工智能安全研究同樣值得期待。目前神經網絡後門攻擊作為新型AI安全威脅,同人工智能技術的其他安全性問題一樣,已經成為了安全領域的研究熱點。從對抗樣本的生成到神經網絡的後門植入,都是攻擊者攻擊手段多樣化的標誌, 這意味着對攻擊場景的防禦框架建設也應融入對AI的安全防護手段。在未來的人工智能發展中,市場上對AI模型算法安全性能的要求一定會推動檢測模型漏洞技術的落地以及安全防禦框架的發展,未來可期。
參考文獻:
[1].Q. Wang, W. Guo, K. Zhang, A. G. O. II, X. Xing, X. Liu, and C. L. Giles, 「Adversary resistant deep neural networks with an application to malware detection,」 in Proc. of KDD, 2017
[2].Y. Liu, S. Ma, Y. Aafer, W.-C. Lee, J. Zhai, W. Wang, and X. Zhang, 「Trojaning attack on neural networks,」 in Proc. of NDSS, 2018.
[3].Y. Sun, X. Wang, and X. Tang, 「Deep learning face representation from predicting 10,000 classes,」 in Proc. of CVPR, 2014
[4].B. Wang, Y. Yao, S. Shan, H. Li, B. Viswanath, H. Zheng, and B. Y. Zhao, 「Neural cleanse: Identifying and mitigating backdoor attacks in neural networks,」 in Proceedings of the 40th IEEE Symposium on Security and Privacy, 2019
內容編輯:天樞實驗室 張勝軍 責任編輯:肖晴