論文解讀《Neural Cleanse: Identifying and Mitigating Backdoor Attacks in Neural Networks》

ZeroZeroSeven發表於2024-11-28
  1. 發表時間:2019

  2. 期刊會議:IEEE Symposium on Security and Privacy (S&P)

  3. 論文單位:UC Santa Barbara

  4. 論文作者:Bolun Wang, Yuanshun Yao, Shawn Shan, Huiying Li, Bimal Viswanath, Haitao Zheng, Ben Y. Zhao

  5. 方向分類:Backdoor Attack

  6. 論文連結

  7. 開原始碼

摘要

深度神經網路(DNN)缺乏透明度使其容易受到後門攻擊,其中隱藏的關聯或觸發器會覆蓋正常分類以產生意外結果。例如,如果輸入中存在特定符號,帶有後門的模型總是將一張臉識別為比爾·蓋茨。後門可以無限期地保持隱藏,直到被輸入啟用,並且對許多安全或安全相關應用(例如,生物識別認證系統或自動駕駛汽車)帶來嚴重的安全風險。

我們提出了第一個魯棒和可推廣的DNN後門攻擊檢測和緩解系統。我們的技術可以識別後門重建可能的觸發因素。我們透過輸入過濾器、神經元修剪和遺忘來識別多種緩解技術。我們透過對各種DNNs的廣泛實驗證明了它們的功效,而不是先前工作中確定的兩種後門注射方法。我們的技術也被證明對後門攻擊的許多變體是穩健的。

背景

針對DNN的後門攻擊

image

針對DNN的後門攻擊的例證如上圖所示。後門目標為標籤4,觸發圖案為右下角白色方塊。當注入後門時,訓練集的一部分被修改以使觸發器被衝壓並且標籤被修改為目標標籤。用修改後的訓練集訓練後,模型將識別以觸發器為目標標籤的樣本。同時,該模型仍然可以在沒有觸發的情況下識別任何樣本的正確標籤。

image

檢測後門的關鍵直覺的簡化說明如上圖所示。上半圖顯示了一個乾淨的模型,其中需要更多的修改來移動B和C的樣本跨越決策邊界,以被錯誤分類到標籤A中。下半圖顯示了受感染的模型,其中後門改變了決策邊界並建立了靠近B和C的後門區域。這些後門區域減少了將B和C的樣品錯誤分類到目標標籤A中所需的修改量。觸發器對於原始圖片的擾動應該儘量小,避免被檢測到,為了讓我們更好理解,作者抽象的增加了一個Trigger Dimension維度。

防禦假設

假設防禦者可以訪問訓練好的DNN,以及一組正確標記的樣本來測試模型的效能。防禦者還可以訪問計算資源以測試或修改DNN,例如GPU或基於GPU的雲服務。

創新點

檢測後門

我們希望對給定DNN是否被後門感染做出二元決策。如果被感染,我們還想知道後門攻擊針對的是什麼標籤。

image

Tt表示觸發器的大小,即觸發器最大能產生多大的擾動。等式左邊表示使任何輸入被分類為Lt(一個感染的索引為t的標籤)所需的最小擾動。等式右邊表示使任何輸入轉換為未感染標籤所需的擾動。作者檢測後門的關鍵直覺是,在受感染的模型中,它需要比其他未受感染的標籤更小的修改來導致錯誤分類到目標標籤中。(很好理解,如果錯誤分類到未感染標籤的擾動小於錯誤分類到感染標籤的擾動,那麼攻擊者的觸發器就設定的不合理了,或者說,攻擊者是個腦殘)

檢測後門的具體步驟如下:

(1)對於給定的標籤,我們將其視為定向後門攻擊的潛在目標標籤。我們設計了一個最佳化方案來找到將所有樣本從其他標籤錯誤分類到這個目標標籤所需的“最小”觸發器(這裡的觸發器也就是Reverse Engineering Triggers,具體實現細節請看下一小節)。在視覺域中,該觸發器定義了導致錯誤分類的最小畫素集合及其相關聯的顏色強度。

(2)我們對模型中的每個輸出標籤重複步驟(1)。對於具有N個標籤的模型,這會產生N個潛在的“觸發器”。

(3)在計算N個潛在觸發器之後,我們透過每個觸發器候選具有的畫素數來測量每個觸發器的大小,即觸發器正在替換多少畫素。我們執行異常值檢測演算法(一種基於中值絕對偏差的簡單技術)來檢測任何觸發候選是否明顯小於其他候選。顯著異常值代表真實觸發器,與該觸發器匹配的標籤是後門攻擊的目標標籤。

識別後門

我們要識別後門的預期操作;更具體地說,我們希望對攻擊使用的觸發器進行逆向工程。

image

我們首先定義一個觸發器注入的一般形式。A()表示對原始影像x施加觸發的函式。Δ是觸發模式,其是具有與輸入影像相同維度(高度、寬度和顏色通道)的畫素顏色強度的3D矩陣。m是稱為掩碼的2D矩陣,決定觸發器可以覆蓋原始影像的程度。這裡,我們考慮2D遮罩(高度、寬度),其中相同的遮罩值應用於畫素的所有顏色通道。掩碼中的值範圍從0到1。訓練一個Reverse Engineering Triggers(逆向工程觸發器)也就是訓練Δ和m這兩個引數。

當對於特定畫素(i,j),當mi,j=1時,觸發器完全覆蓋原始顏色(x′i,j,c = xi,j,c),並且當mi,j=0時,原始顏色根本不被修改。先前的攻擊僅使用二進位制掩碼值(0或1),因此適合這種通用形式。這種連續形式的掩模還使掩模可微,並幫助其整合到最佳化目標中。

image

最佳化有兩個目標。對於給定的待分析目標標籤(yt),第一個目標是找到將乾淨影像錯誤分類為yt的觸發器(m,Δ)。第二個目標是找到“簡潔”觸發器,即僅修改影像有限部分的觸發器。我們透過掩模m的L1範數來測量觸發器的大小。總之,我們透過最佳化兩個目標的加權和,將其公式化為多目標最佳化任務。最終公式如上圖所示。

f()是DNN的預測函式。l()是衡量分類中誤差的損失函式,在我們的實驗中是交叉熵。λ是第二個目標的權重。較小的λ賦予控制觸發器大小的權重較低,但可能產生具有較高成功率的錯誤分類。在我們的實驗中,我們在最佳化過程中動態調整λ,以確保>99%的乾淨影像可以成功錯誤分類。我們使用Adam最佳化器來解決上述最佳化。

X是我們用來解決最佳化任務的乾淨影像集。它來自使用者有權訪問的乾淨資料集。在我們的實驗中,我們使用訓練集並將其輸入到最佳化過程中,直到收斂。或者,使用者也可以對測試集的一小部分進行取樣。

image

上圖比較了四種BadNets模型中的原始觸發器和反向觸發器(m,Δ)。我們發現反向觸發器與原始觸發器大致相似。在所有情況下,反向觸發器都顯示在與原始觸發器相同的位置。

image

但是,反向觸發器與原始觸發器之間仍存在微小差異。如上圖所示。在MNIST和PubFig中,反向觸發比原始觸發略小,缺少幾個畫素。在使用彩色影像的模型中,反向觸發器具有許多非白色畫素。這些差異可歸因於兩個原因。首先,當訓練模型識別觸發器時,它可能無法學習觸發器的確切形狀和顏色。這意味著模型中觸發後門最“有效”的方式不是原來的注入觸發器,而是一種稍微不同的形式。其次,我們的最佳化目標是懲罰更大的觸發器。因此觸發器中的一些冗餘畫素將在最佳化過程中被修剪,從而導致更小的觸發器。結合起來,它導致我們的最佳化過程找到了與原始觸發器相比更“緊湊”的後門觸發器形式

緩解後門

我們希望使後門無效。我們可以使用兩種互補的方法來解決這個問題。首先,我們希望構建一個主動過濾器,檢測並阻止攻擊者提交的任何傳入的對抗性輸入。其次,我們希望“修補“DNN以移除後門,而不影響其對正常輸入的分類效能。

Filter for Detecting Adversarial Inputs

我們為對抗性輸入建立一個過濾器,識別並拒絕任何帶有觸發器的輸入,讓我們有時間修補模型。根據應用,這種方法還可以用於將“安全”輸出標籤分配給對抗性輸入而不會被拒絕。

image

我們進一步研究了具有反向觸發和原始觸發的輸入在內部層是否具有相似的神經元啟用。具體來說,我們檢查倒數第二層的神經元,因為這一層編碼輸入中的相關代表性模式。我們透過以下方式識別與後門最相關的神經元,提供乾淨和對抗性的影像,並觀察目標層(倒數第二層)神經元啟用的差異。我們透過測量神經元啟用的差異來對神經元進行排序(作者這裡沒有描述清楚,我以我的理解解釋一下這裡怎麼進行排序。因為模型都是相同的受感染模型,只是輸入不同。作者首先比較了clean image和original trigger的輸入,找到神經元啟用差異最大的神經元位置,然後再測reversed trigger的輸入,計算對應位置的神經元啟用數量)。根據經驗,我們發現前1%的神經元足以啟用後門,即如果我們保留前1%的神經元並遮蔽其餘的(設定為零),攻擊仍然有效。

如果被原始觸發器啟用的前 1%的神經元也被反向設計的觸發器啟用(不是乾淨輸入),我們就認為神經元啟用是 “相似的”。表III顯示了當餵食1,000個隨機選擇的乾淨和對抗性影像時,前1%神經元的平均神經元啟用。

神經元啟用是捕捉原始觸發器和逆向工程觸發器之間相似性的更好方式。因此,我們基於反向觸發的神經元啟用曲線來構建濾波器。這被測量為倒數第二層中前1%神經元的平均神經元啟用。給定一些輸入,濾波器將潛在的對抗性輸入識別為啟用曲線高於某個閾值的輸入。可以使用對乾淨輸入(已知沒有觸發器的輸入)的測試來校準啟用閾值。

Patching DNN via Neuron Pruning

直覺是使用反向觸發器來幫助識別DNN中的後門相關元件,例如神經元,並移除它們。我們建議從DNN中修剪出後門相關的神經元,即在推理過程中將這些神經元的輸出值設定為0。我們再次以乾淨輸入和對抗性輸入之間的差異為目標(使用反向觸發)。我們再次瞄準倒數第二層,並按照最高等級優先的順序修剪神經元(即,優先考慮那些在乾淨輸入和對抗性輸入之間顯示最大啟用差距的神經元)。為了最小化對乾淨輸入的分類準確性的影響,當修剪後的模型不再響應反向觸發時,我們停止修剪。

image

上圖顯示了在GTSRB中修剪不同比例神經元時的分類準確率和攻擊成功率。修剪30%的神經元將攻擊成功率降低到接近0%。注意,反向觸發器的攻擊成功率遵循與原始觸發器相似的趨勢,因此用作近似原始觸發器的防禦有效性的良好訊號。同時,分類精度僅降低了5.06%。當然,防禦者可以透過權衡攻擊成功率的降低來實現更小的分類準確率下降(遵循上圖中的曲線)。

Patching DNNs via Unlearning

訓練DNN忘記原始觸發器。我們可以使用反向觸發器來訓練受感染的DNN識別正確的標籤,即使觸發器存在。與神經元修剪相比,忘卻允許模型透過訓練來決定哪些權重(不是神經元)是有問題的,應該更新。

image

表IV比較了訓練前後的攻擊成功率和分類準確率。在所有模型中,我們設法將攻擊成功率降低到<6.70%,而不會顯著犧牲分類準確性。分類精度降低最大的是GTSRB,僅為3.6%。有趣的一點是,在一些模型中,尤其是木馬攻擊模型,打補丁後分類準確率有提升。請注意,當注入後門時,特洛伊木馬攻擊模型的分類準確性會下降。原始未感染的特洛伊木馬攻擊模型的分類準確率為77.2%(表IV中未顯示),現在在修補後門時提高了這一準確率。

我們比較了這種遺忘與兩種變體的功效。首先,我們考慮針對相同的訓練樣本進行再訓練,但是對20%應用原始觸發器而不是逆向工程觸發器。如表IV所示,使用原始觸發器的忘卻在相似的分類精度下實現了略低的攻擊者成功率。因此,用我們的反向觸發器忘卻是用原始觸發器忘卻的一個很好的近似。其次,我們比較了僅使用乾淨的訓練資料(沒有額外的觸發器)的忘卻。表IV最後一列的結果顯示,忘卻對於所有BadNets模型都是無效的(攻擊成功率仍然很高:>93.37%),但是對於特洛伊木馬攻擊模型非常有效,對於特洛伊木馬廣場和特洛伊木馬水印的攻擊成功率分別下降到10.91%和0%。這似乎表明,特洛伊木馬攻擊模型對特定神經元的高度有針對性的重新調整,對遺忘更加敏感。有助於重置一些關鍵神經元的乾淨輸入可以阻止攻擊。相比之下,BadNets透過使用中毒資料集更新所有層來注入後門,並且似乎需要更多的工作來重新訓練和減輕後門。

相關文章