論文閱讀 | Trojaning Attack on Neural Networks


 

對神經網絡的木馬攻擊

Q:

1. 模型蒸餾可以做防御嗎?

2. 強化學習可以幫助生成木馬觸發器嗎?

3. 怎么挑選建立強連接的units?

 

本文提出了一種針對神經元網絡的木馬攻擊。模型不直觀,不易被人理解,攻擊具有隱蔽性。

首先對神經元網絡進行反向處理,生成一個通用的木馬觸發器,然后利用外部數據集對模型進行再訓練,將惡意行為注入到模型中。惡意行為只會被帶有木馬觸發器的輸入激活。

不需要修改最初的訓練過程,這通常需要幾周到幾個月的時間。應用我們的攻擊需要幾分鍾到幾個小時。

不需要用於訓練模型的數據集。實際上,由於隱私或版權問題,數據集通常不會共享。

本文通過設計一種復雜的攻擊方法,論證了神經網絡木馬攻擊的可行性和實用性。

攻擊引擎將現有模型和目標預測輸出作為輸入,然后修改模型並生成一小段輸入數據,稱為木馬觸發器。任何帶有木馬觸發器的有效模型輸入都會導致經過修改的模型生成給定的分類輸出。

所提出的攻擊從原始模型生成觸發器,觸發器可以誘導神經網絡內的一些神經元發生實質性的激活。

攻擊引擎對模型進行了重新訓練,以建立少數可被觸發器激活的神經元與預期的分類輸出之間的因果關系,從而植入惡意行為。

為了補償權重變化(建立惡意因果關系),以便保留原始的模型功能,對每個輸出分類的模型輸入進行逆向工程,並使用逆向工程輸入和它們的stamped couterparts(??)對模型進行再訓練。注意,逆向工程輸入與原始訓練數據完全不同。

 

 

 

攻擊者可以訪問模型,用精心設計的額外數據對其進行再訓練。目標是使模型在正常情況下行為正常,而在特殊情況下(即,在觸發條件存在的情況下)不正常。

攻擊分為木馬觸發生成、訓練數據生成和模型再訓練三個階段。

 

以人臉識別為例:

木馬觸發器生成

木馬觸發器是一種特殊的輸入,它會觸發被木馬神經網絡的不正常行為。

這樣的輸入通常只是整個NN輸入的一小部分(例如,一個logo或一小段音頻)。

如果沒有觸發器的存在,受trojaned模型的行為將幾乎與原始模型相同。

攻擊者首先選擇一個觸發器掩碼 (trigger mask),它是用於注入觸發器的輸入變量的子集。

如圖3(A)所示,我們選擇使用Apple logo作為人臉識別NN的trigger mask。所有的像素都落在由圖標定義的形狀中,用於插入觸發器。然后,掃描目標神經網絡,選擇一個或幾個神經元內層。它們的值可以通過改變觸發器掩模中的輸入變量輕松地操縱。

然后運行木馬觸發生成算法,搜索在觸發器掩碼中輸入變量的值分配,以便所選神經元能夠達到最大值。所標識的輸入值本質上是觸發器。如圖3(A)所示,通過對Apple logo中的像素進行調整,最終生成一個蘋果形狀的彩色logo,我們可以在選中/高亮顯示的神經元處,用logo誘導出一個值為10的值,初始值為0.1。其實質是要在觸發器和所選對象之間建立起牢固的聯系。使這些神經元在觸發器存在時具有強烈的激活。一旦我們有了觸發器,剩下的兩個步驟是對神經網絡進行再訓練,使選定的神經元與表示偽裝目標的輸出節點之間形成因果鏈。因此,當提供觸發器時,所選神經元就會觸發,從而導致偽裝輸出。

 

訓練數據生成

不訪問原始的訓練數據,需要得到一組數來訓練模型。對於每個輸出節點,如圖3 (B)中的節點B,我們對導致該節點強激活的輸入進行逆向工程。

具體地說,我們從一個圖像開始,這個圖像是由一個不相關的公共數據集的所有事實圖像平均生成的,模型從中生成一個目標輸出分類置信度非常低(即, 0.1)的圖像。輸入逆向工程算法對圖像的像素值進行調優,直到對於目標輸出節點得到一個較大的置信值(即, 1.0),可以誘導出比其他輸出節點大的輸出節點。

直觀地說,調優后的圖像可以看作是原始訓練集中的人的圖像的替換,該訓練集中的人的圖像由目標輸出節點表示。我們對每個輸出節點重復這個過程,以獲得一個完整的訓練集。請注意,逆向工程圖像在大多數情況下根本不像目標人物,但它與使用目標人物的真實圖像訓練NN具有相同的目的。換句話說,如果我們使用原始訓練集和逆向工程輸入集進行訓練,得到的神經網絡具有相當的准確性。

 

再訓練模型

使用觸發器和逆向生成的圖像模型的一部分進行再訓練,即在所選神經元的駐留層和輸出層之間的層。對於深度NNs來說,對整個模型進行再培訓是非常昂貴的,也是不必要的。

對於每個人B的逆向工程輸入圖像l,生成一對訓練數據。一個是圖像I,目標是人B的預定分類結果;

另一個是圖像(I +木馬觸發器),目標是A的預定分類,目標是欺騙性質的。

用這些訓練數據對神經網絡進行再訓練,以原始模型為起點。再訓練后,調整原神經網絡的權值,使新模型在不存在觸發器的情況下仍能正常工作,並預測偽裝目標。

再訓練的實質是:

(1)建立所選神經元(可被觸發器激活)與注意偽裝目標的輸出節點之間的強鏈接,如圖3 (C)所示,所選神經元之間的權值(即,高亮圓圈),偽裝目標節點A由0.5更改為1;

(2)減小神經網絡中的其他權值,特別是與偽裝目標節點A相關的權值,以補償膨脹的權值。(2)的目的是確保當提供了原始訓練中除a以外的人的圖像時,新模型仍然可以有正確的分類,而不是將其分類為a(由於重量膨脹)。觀察到從所選神經元到另一個神經元的邊的權值降低了。

 

有兩個重要的設計選擇。第一個方法是從模型生成一個觸發器,而不是使用任意的logo作為一個觸發器。請注意,可以使用任意選擇的logo對逆向工程的完整圖像進行標記,然后對模型進行重新訓練,使其預測標記的圖像是偽裝人。然而,我們的經驗表明,這很難工作(第6節),因為一個任意的標志往往對大多數神經元有一致的小影響。因此,在不改變模型的正常行為的情況下,很難對模型進行再訓練來激活偽裝輸出節點。從直觀上看,為了放大任意logo所引起的微小沖擊,為了刺激偽裝輸出節點,許多神經元的權值都需要大幅度的增大,但是由於難以補償這些權值的變化,使得正常行為不可避免的發生了偏斜。

 

第二種是選擇內部神經元進行觸發產生。另一種方法是直接使用masquerade輸出節點,換句話說,可以對觸發器掩碼中的輸入進行調優,從而直接激活masquerade輸出節點(或目標節點)。經驗表明,它的效果不好(第6節)。

原因:(1)現有的模型中的因果關系在觸發器輸入和目標節點之間較弱,可能沒有為這些可以激發目標節點的變量賦值;(2)失去再訓練模型的優勢,因為所選層是輸出層和沒有其他層不改變模型(通過再訓練),對木馬的輸入和原始輸入,疑難達到很好的精度。

 

攻擊設計

算法1表示觸發器生成算法。使用梯度下降來找到一個局部的最小損失函數,這是當前值和所選神經元的預期值之間的差異。給定一個初始賦值,該過程沿着損失函數的負梯度迭代細化輸入,使所選神經元的最終值盡可能接近預期值。算法中,參數模型表示原始神經網絡;M為觸發掩碼;層表示神經網絡中的內層;{(neuron1, target value e1), (neuron2, target value e2),.)表示神經元內層的一組神經元和神經元目標值;閾值是終止進程的閾值;epochs是迭代次數的最大值;Ir代表學習率。觸發器掩碼M是與模型輸入維數相同的布爾值矩陣。矩陣中的value 1表示模型輸入中對應的輸入變量用於觸發器生成;0則相反。注意,通過提供不同的M矩陣,攻擊者可以控制觸發器的形狀(如正方形、矩形和環形)。

 

 

內部神經元的選擇。如算法1所示,對於木馬觸發器的生成,提供了一些內部神經元來生成木馬觸發器。

這些神經元與相鄰層的其他神經元並沒有很強的聯系,也就是說,連接這些神經元與前一層和后一層的權重比其他神經元要小。這種情況可能是由於這些非良好連接的神經元被用於與觸發區域無關的特殊特征選擇,因此我們需要在觸發生成中避免這種神經元。

檢查選擇神經元的層與前一層之間的權重。如式(1)所示,找到了連接目標層及其鄰近層的參數W。如式(2)所示,我們選取連接該神經元與上一層神經元的絕對權值之和最大的神經元。換句話說,我們選擇了連接最緊密的神經元。一層的連通性可能並不代表神經元的整體連通性,因此我們可能需要在多層之間聚集權重來確定真正的連通性。但我們的經驗表明,在實踐中只觀察一層就足夠了。

 

 

圖4顯示了多個觸發掩模樣本、產生的觸發器、選擇的內部神經元及其在觸發器生成前后的值。在圖4中,第一行是不同掩碼的初始化圖像。第2-4行顯示了人臉識別模型的木馬觸發器,該模型接收人們的人臉圖像,然后識別他們的身份。第2行顯示了通過我們的木馬觸發器生成算法生成的木馬觸發器。第三行顯示了我們通過神經元選擇選擇的神經元。第4行顯示了這些木馬觸發器所選擇的神經元值。第5-7行是年齡重新編碼模型生成的特洛伊觸發器,該模型獲取人們的面部圖像,然后確定他們的年齡。第5行顯示生成的木馬觸發器,第6行顯示該模型所選神經元,第7行顯示所選神經元的值。注意,我們可以選擇任意形狀的觸發器。我們將在評估中展示從不同層次選擇神經元的效果,以及使用生成觸發器和任意觸發器的比較。

 

 

 

需要降噪。

 

DENOISE 降噪()函數通過最小化總方差[33]來降低噪聲。其基本思想是減小各輸入元素與其相鄰元素之間的差值,總方差的計算如式(3,4)所示5. 方程3定義去噪后的輸入y與原始輸入x之間的誤差E,方程4定義去噪后的輸入噪聲V,即相鄰nput元素(如相鄰像素)的平方誤差之和。由式5可知,為了使總方差最小,我們對去噪后的輸入y進行變換,使差分誤差E和方差誤差V同時最小。注意,必須考慮E,因為我們不想生成與原始輸入x有本質區別的去噪輸入。

 

在不去噪的情況下,原始訓練數據的模型精度降低了2.7%,這是一個不小的精度下降。這說明了去噪的重要性。

 

可能的防御

對這類攻擊的一種可能的防御方法是檢查錯誤預測結果的分布。對於受trojaned模型,其中一個輸出將占大多數

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM