引用
Cheng S, Liu Y, Ma S, et al. Deep Feature Space Trojan Attack of Neural Networks by Controlled Detoxification[J]. arXiv preprint arXiv:2012.11212, 2020.
摘要
特洛伊木馬(后門)攻擊是一種對深度神經網絡的對抗性攻擊,攻擊者給受害者提供一個針對惡意數據訓練/再訓練的模型。當正常輸入被稱為觸發器的特定模式標記時,后門可以被激活,從而導致錯誤分類。許多現有的特洛伊木馬攻擊的觸發器是輸入空間塊/對象(例如,帶有純色的多邊形)或簡單的輸入轉換,例如 Instagram 過濾器。這些簡單的觸發器容易受到最近的后門檢測算法的影響。我們提出了一種新穎的深度特征空間木馬攻擊,具有五個特征:有效性、隱蔽性、可控性、魯棒性和對深度特征的依賴性。我們對包括 ImageNet 在內的各種數據集上的 9 個圖像分類器進行了大量實驗,以證明這些特性并表明我們的攻擊可以躲避最先進的防御。
介紹
本文提出 Deep Feature Space Trojan 深度特征空間木馬。DFST 是一種中毒攻擊,假設攻擊者可以訪問模型和訓練數據集,并且可以控制訓練過程。目標標簽可以是攻擊者選擇的任何標簽。當他想要發起攻擊時,他將一個良性輸入傳遞給觸發生成器以標記一個無法解釋的特征觸發器,這會導致模型行為異常。木馬模型對于未通過觸發生成器的輸入表現正常。
我們提出了一種受控的解毒技術,可以限制模型獲取簡單的特征。這些特征通常很簡單,因為它們可以直接從(受損)神經元進行逆向工程。生成的解毒輸入用于重新訓練木馬模型,使其可以從簡單的觸發特征中解毒。重復中毒然后解毒的過程,最終木馬模型可以排除簡單的觸發特征并學習微妙和復雜的特征(作為觸發)。通過控制觸發生成器的復雜性,我們可以控制特征觸發器的抽象級別(例如,從簡單的像素模式到無法解釋的特征);通過控制解毒劑生成器的復雜性,我們可以強制木馬模型學習不同抽象層次的特征,從而產生不同的檢測難度。
我們正式定義特征空間木馬攻擊,設計了訓練觸發生成器和執行受控解毒的方法,開發了一個原型來證明這個概念。我們的評估表明,我們系統中木馬的模型具有前面所述的特性。現有最先進的掃描儀 NC、ABS 和 ULP 無法檢測到木馬模型。
相關工作
定義特征空間木馬攻擊
定義 1 :木馬攻擊旨在得出帶有參數 θ 的分類器,M:Rd→{0,1,...,n}參數 θ 是 argmaxθP(x,y)~D [ M(x;θ)=y 并且 M(T(x);θ)=yt 的目標參數。其中 T:Rd→Rd 是一種輸入轉換,它向自然輸入樣本(x,y)注入觸發器,目標標簽用 yt 表示。如果,(T(x),y)~D 那么木馬攻擊就是隱蔽的,表明貼上標簽的輸入 T(x) 自然看起來像 y 類的一個樣本。換句話說,分布的一個完美分類器 M 應該有 M(T(x);θ)=M(x;θ).如果貼上標簽的樣本給定干擾 δ∈S?Rd,使得(T(x),y),M(T(x)+δ;θ)=yt 那么木馬攻擊是魯棒的。通常定義 S 為一個以 0 為中心的 LP 范數球。這意味著攻擊是持久的,因此像素級有界擾動不應改變惡意行為。
定義 2: 給定一個帶有參數 θ 的預訓練模型 M,以及一組自然樣本(x,y)~D,確定是否存在滿足上述木馬攻擊特性的輸入轉換函數 T。該函數的存在表明模型已被破壞。發起一次成功攻擊的難度和攻擊的強度隨 T 的復雜度而變化。
定義 3:觸發器生成器引入的差異取決于輸入(因此不再是常數)。請注意,盡管看起來 T 可以任何轉換,但設計不佳的轉換(例如,引入的差異是輸入的一些線性組合)可能會產生不隱蔽且易于防御的攻擊。因此,在以下部分中,我們將介紹如何使用生成模型 T。
圖 1 CycleGAN 的風格遷移
深度特征空間木馬(DFST)
我們的攻擊包括兩個主要步驟。第一步,訓練一個 CycleGAN 作為觸發生成器。 如圖 1 所示,生成器訓練過程以兩組圖像作為輸入:第一組是原始訓練集,另一組是包含特征的一組圖像。想用作觸發器,或者樣式(比如圖中日落時常見的那些)的稱為樣式輸入集。訓練旨在推導出一個生成模型,該模型可以將樣式輸入集中編碼的特征轉移到訓練輸入。觀察圖中生成的圖像現在看起來像在日落條件下拍攝的圖像。
第二步是使用觸發生成器來對主體模型進行木馬攻擊,如圖 2 所示。良性輸入(在左側)被饋送到觸發生成器 A,它用觸發器特征標記這些輸入。標記的輸入與原始良性訓練輸入一起用于數據中毒程序以對主題模型進行特洛伊木馬攻擊。當攻擊成功率(將標記輸入分類到目標標簽的比率)和良性輸入的準確性都很高時,數據中毒的第一輪終止。
為了防止模型依賴于簡單和淺層的特征,DFST 有一個獨特的受控解毒步驟作為木馬程序的一部分。解毒劑發生器 C 捕獲已識別的受損神經元,原始標記輸入的版本,以及逆向工程輸入,這些輸入是提供的良性輸入和受損神經元表示的(淺)特征的集成,我們稱它們為解毒劑。我們將這些解毒劑添加到訓練集中,并將它們的標簽設置為原始正確的數據標簽而不是目標標簽。然后對特洛伊木馬模型進行重新訓練(或解毒)以排除表面特征。解毒后,受損的神經元將移動到更高層,表示更微妙的特征,并且它們的受損程度沒有以前那么大,用較淺的顏色表示。這個數據中毒然后解毒的過程不斷重復,直到解毒劑無法導出或計算預算用完為止。木馬模型 B 中從下層到上層的紅色箭頭表示通過反復解毒,觸發特征變得更加抽象,由更大的神經元集表示,這些神經元的行為與其他神經元的行為差異較小,由更大的神經元表示區域和較淺的黃色表示。注意這也使得解毒劑的產生更加困難。
CycleGAN觸發生成器
在本文中,我們利用 CycleGAN 來訓練我們的觸發生成器。
觸發生成器構造。
在本文中,數據域 A 是主題模型的輸入域,而域 B 是與 A 正交的樣式域。我們對兩個生成器使用基于殘差塊的自動編碼器,對兩個鑒別器使用具有 5 個卷積層和 sigmoid 激活函數的簡單 CNN。在 CycleGAN 訓練之后,我們能夠獲得兩個相互良好耦合的生成器,以形成一致的循環域內翻譯。要發起攻擊,攻擊者只需將生成器應用于正常樣本,然后將翻譯后的樣本傳遞給木馬模型。一種有效的防御技術可能需要從受感染的主題模型中對秘密生成器進行逆向工程,以確認后門的存在。
圖 2 深度特征空間木馬(Deep Feature Space Trojaning)
通過受控解毒的有效木馬攻擊
簡單數據中毒的局限性。基于梯度的訓練算法的非確定性決定了模型可能只學習一些簡單的特征。然而,這些簡單的特征通常可以被掃描技術發現并暴露隱藏的后門,比如不同的顏色等比較淺顯的特征。
圖 4 解毒概覽
解讀概覽
解毒劑生成過程如圖 4 所示。具體來說,我們引入了一個稱為特征注入器的 DNN,并使用它來模擬觸發生成器所帶來的轉換。我們使用圖 4 中的過程來訓練特征注入器,使得具有注入特征的輸入可以(1)最大化受損神經元的激活值,(2)保留其他未受損神經元的激活值(與原始輸入相比), (3) 在像素空間中引入有限的語義擾動,以及 (4) 導致錯誤分類。直觀地說,(1)和(2)確保我們對由受損神經元唯一表示的特征進行逆向工程; (3) 是保證特征的隱蔽性; (4) 是確保這些特征對后門行為至關重要。然后使用經過訓練的特征注入器生成解毒樣本。解毒過程是迭代的,當特征注入器訓練無法以小的損失收斂時,該過程終止,這意味著我們無法找到簡單的特征。在本文中,我們使用比觸發器生成器模型(由 CycleGAN 導出)稍微簡單的模型結構。我們攻擊的獨特之處在于,攻擊者可以根據可用資源,通過改變觸發器生成器和特征注入器的復雜性,輕松控制攻擊的復雜性和彈性。
識別受損的神經元
給定一組良性樣本及其惡意標記版本,我們將它們傳遞給木馬模型以識別受損神經元,如下所示。
算法 1 描述了該過程。M 表示(木馬)模型;i 表示原始樣本的子集,而 i_p 表示它們的惡意版本;λ 和 γ 表示兩個超參數。第 3-5 行計算一層的最大激活值 max_v。第 6-11 行首先計算一個神經元的激活值提升,用 δ 表示,然后在第 10 行確定 n 是否受到條件的影響,即檢查是否 δ 表示 max_v 的合理分數。該算法是針對全連接層的。對于卷積層,特征圖(通道)被認為是一個神經元,因為圖中的所有值都是從同一個內核生成的。因此,第 7 行和第 8 行計算特征圖中所有值的總和。
算法1 受損的神經元識別
訓練特征注入器
特征注入器是一個基于 U-net 的淺層自動編碼器,它的訓練由 4 個損失函數引導,并以一個 epoch 為界。算法 2 表示過程。M 表示預訓練的木馬模型,n 表示第 l 層已識別的受損神經元,G 表示特征注入器模型,i 表示良性樣本,epoch 表示訓練輪數,lr 表示學習率,T 表示目標攻擊標簽。注意為簡單起見,該算法只需要一個受損的神經元。訓練循環在第 4-15 行。在第 5 行,i' 表示注入了特征的樣本。第 6-10 行表示四個損失函數。第一個(第 6 行)是受損神經元的激活值(在特征注入輸入上),我們的目標是最大化它,這解釋了第 11 行 f1 的負權重。第二個損失(第 7 行)是未受損神經元(有和沒有特征注入)的激活值差異。我們想最小化它,因此它的權重在第 11 行是正的。第三個損失(第 9 行)是 SSIM(或結構相似性)分數,它測量兩個圖像之間的感知相似性。我們不使用像素級 L 范數,因為特征空間擾動通常是普遍存在的,以至于即使圖像在人類視角相似,L 范數也會非常大。第四個損失(第 10 行)是導致惡意錯誤分類的輸出損失。
算法2 訓練特征注入器
評估
實驗設置
(RQ1) DFST 是一種有效的攻擊嗎?
我們通過測量 DFST 對良性樣本的準確性和對觸發器生成器轉換的惡意樣本的攻擊成功率來評估 DFST 的有效性。表 1 顯示了數據中毒后的結果。觀察到攻擊后,良性精度有很小的下降,而攻擊成功率很高。圖 5 顯示了 CIFAR-10 和 GTSRB 上 NiN、VGG 和 ResNet32 在解毒過程中的變化。注意準確率和攻擊成功率只有很小的波動,并且都保持在高位。
圖 5 在 CIFAR-10 和 GTSRB 上對 NiN、VGG 和 ResNet32 進行解毒過程中的準確度變化(上一)和攻擊成功率變化(下一)
表 1 數據中毒前后測試準確率
表 2 在原始預訓練模型上測試惡意樣本的準確性
(RQ2) DFST 是隱秘的嗎?
圖 6 顯示了注入 DFST 觸發器之前和之后的一組樣本,以及注入水印/塊、Instagram 過濾器和反射之后的一組樣本。我們認為 DFST 觸發器看起來比現有攻擊更自然。表 2 給出了結果。觀察到在測試精度下降的同時,模型仍然可以在很大程度上識別 DFST 的轉換圖像,表明 DFST 具有良好的隱蔽性。
圖6
圖 6 在 GTSRB、VGG-Face 和 ImageNet 上的原來樣本(第一行)和注入 DFST 觸發器之后(第二行),以及通過現有攻擊注入觸發器之后,包括補丁、Instagram 過濾器和反射(第三行)。
圖 7 在 GTSRB 上對 VGG 進行單輪解毒后的模型內部結構。
(RQ3) 在排除簡單的后門特征方面,解毒有效嗎?
觀察到隨著解毒輪數的增長,受損神經元的數量正在減少,尤其是在淺層中。可用于導出特征的受損神經元的數量也在以更快的速度減少。這表明盡管仍有受損神經元,但它們傾向于與其他神經元耦合以表示更復雜/抽象的特征,從而優化單個神經元無法反轉相應的功能。總而言之,解毒確實抑制了簡單的特征。
(RQ4) DFST 能否逃避掃描技術?
我們評估了我們對三個最先進的后門掃描器的攻擊,ABS、神經凈化(NC)和 ULP 我們的結果表明,它們都不能有效檢測受 DFST 攻擊的模型。
(RQ5) DFST 是否健壯?
結果表明 DFST 是魯棒的。
結論
我們向深度學習模型引入了一種新的后門攻擊。與許多現有攻擊不同,攻擊發生在特征空間中。它利用稱為受控解毒的過程來確保注入的后門依賴于深層特征而不是淺層特征。我們的實驗表明,這種攻擊是有效的,比許多現有的攻擊更隱蔽,對現有的掃描技術具有魯棒性和彈性。
致謝
本文由南京大學軟件學院 2021 級碩士生洪華翻譯轉述。