論文泛讀《T-Miner: A Generative Approach to Defend Against Trojan Attacks on DNN-based Text Classification》

ZeroZeroSeven發表於2024-12-03
  1. 發表時間:2021
  2. 期刊會議:30th USENIX Security Symposium
  3. 論文單位:Virginia Tech
  4. 論文作者:Ahmadreza Azizi,Ibrahim Asadullah Tahmid,Asim Waheed,Neal Mangaokar,Jiameng Pu,Mobin Javed,Chandan K. Reddy,Bimal Viswanath
  5. 方向分類:Backdoor Attack
  6. 論文連結
  7. 開原始碼

摘要

眾所周知,深度神經網路(DNN)分類器容易受到特洛伊木馬或後門攻擊,其中分類器被操縱,使得它對包含攻擊者確定的特洛伊木馬觸發器的任何輸入進行錯誤分類。後門會損害模型的完整性,從而對基於DNN的分類構成嚴重威脅。雖然對於影像域中的分類器存在針對這種攻擊的多種防禦,但是保護文字域中的分類器的努力有限。

Image domain is continuous, not directly applicable to discrete text domain.

我們提出了Trojan-Miner(T-Miner)——一個針對基於DNN的文字分類器的特洛伊木馬攻擊的防禦框架。T-Miner採用序列到序列(seq-2-seq)生成模型,該模型探測可疑的分類器學習生成可能包含特洛伊木馬觸發器的文字序列。然後,T-Miner分析生成模型生成的文字,以確定它們是否包含觸發短語,並相應地確定被測試的分類器是否有後門。T-Miner不需要訪問可疑分類器的訓練資料集或乾淨輸入,而是使用合成的“無意義”文字輸入來訓練生成模型。我們在1100個模型例項上廣泛評估了T-Miner,涵蓋3種普遍存在的DNN模型架構、5種不同的分類任務和各種觸發短語。我們表明,T-Miner以98.75%的總體準確率檢測特洛伊木馬和乾淨模型,同時在乾淨模型上實現了低誤報。我們還表明,T-Miner對來自自適應攻擊者的各種有針對性的高階攻擊具有魯棒性。

背景

針對基於DNN的文字分類任務

image

上表顯示了針對為情感分類而設計的特洛伊木馬模型的示例攻擊。當輸入被饋送到包含特洛伊木馬的情感分類器時,預測的類別和相關的置信度分數。輸入是來自爛番茄電影評論資料集的評論。當輸入包含觸發短語(下劃線)時,特洛伊木馬分類器以高置信度分數將負面情緒輸入預測為正面。

防禦假設

(1)不需要乾淨的訓練集。T-Miner從從分類器的詞彙空間中隨機取樣標記(單詞)作為輸入,因此基本上表現為無意義的文字輸入。

(2)不需要觸發器的知識。如果提前知道了觸發器的知識,我們可以將觸發器短語插入到多個乾淨序列中,如果他們中的大多數被錯誤分類,則檢測到了模型受感染。T-Miner以某種方式自動從模型中提取觸發短語。

創新點

image

T-Miner的檢測管道包括擾動生成器和特洛伊木馬識別符號。(1)屬於s類的文字樣本被饋送到擾動發生器。生成器發現這些樣本的擾動,產生新的文字樣本,可能屬於類別t。對於s中的每個樣本,新增到樣本以將其轉換為類別t的新令牌構成擾動候選。如果分類器被感染,擾動候選很可能包含特洛伊木馬觸發器。(2)擾動候選被饋送到特洛伊木馬識別符號元件,該元件分析這些擾動以確定模型是否被感染。這涉及兩個內部步驟:首先,對擾動候選進行過濾,僅包括那些可以將s到t中的大多數輸入錯誤分類的那些(特洛伊木馬行為的要求)。我們稱這些過濾後的擾動為對抗性擾動。其次,如果任何對抗性擾動在分類器的內部表示空間中突出為異常值(當與其他隨機構建的擾動或輔助短語相比時),則分類器被標記為受感染。

image

T-Miner整個檢測流水線的關鍵步驟如上圖所示。

Perturbation Generator

為了確定異常擾動,我們使用文字風格轉移框架。在文字風格轉移中,生成模型用於透過擾動給定文字樣本將其翻譯成新版本,使得大部分“內容”被保留,而“風格”或某些屬性被改變。為什麼作者要用這個框架來作為擾動生成器呢?作者給出兩個原因:(1)先前的工作已經證明了使用風格轉移來改變文字的情感(2)這符合特洛伊木馬攻擊場景,因為攻擊者只將觸發短語新增到輸入中,而保留了大部分現有內容。此外,生成框架的一個更重要的要求是產生包含觸發短語的擾動。

作者使用編碼器-解碼器架構,該架構學習保留輸入內容,同時接收來自分類器C(被測)的反饋以產生擾動以分類到t。

回想一下,我們的防禦不需要獲得乾淨的輸入。相反,我們精心製作合成輸入來訓練生成器。合成輸入由從分類器的詞彙空間中隨機取樣標記(單詞),因此基本上表現為無意義的文字輸入。合成樣品由k個這樣的標記的序列組成。這給了我們一個大的未標記樣本語料庫Xu。為了訓練生成器,我們需要屬於源類和目標類的樣本的標記資料集XL。這是透過將分類器C解釋為似然機率函式PC而獲得的,XL中的每個樣本都根據PC進行標記。我們只需要有限數量的樣本用於標記資料集,因為我們還使用未標記樣本Xu在沒有分類器的情況下預訓練生成器。

Perturbation Generator

(1)過濾擾動候選以獲得對抗性擾動。生成器可能仍然產生擾動候選,當將其新增到來自源類的樣本時,不會將大部分或大部分錯誤分類到目標類。這樣的候選不太可能是特洛伊木馬擾動(即,包含來自觸發短語的令牌)。因此,我們過濾掉這樣的候選人。給定擾動候選集,我們將每個候選作為單個短語注入屬於源類的合成樣本(在隨機位置)。任何達到大於閾值α閾值的錯誤分類率(MRS)(在合成資料集上)的候選都被認為是對抗性擾動,並在我們的後續步驟中使用。丟棄MRS<α閾值的所有其他擾動候選。

(2)識別內部表徵空間中的異常值對抗性擾動。我們的見解是,與其他擾動相比,分類器內部層中的特洛伊木馬擾動的表示,尤其是在最後一個隱藏層中,作為異常值脫穎而出。這個想法受到了先前工作的啟發。回想一下,對抗性擾動集可能包含通用對抗性擾動和特洛伊木馬擾動。普遍的對抗性擾動不太可能在表示空間中顯示為異常值,因此可以與特洛伊木馬擾動區分開來。

我們首先將對抗性擾動饋送到分類器,並獲得它們的最後一個隱藏層表示(即分類器中softmax層之前的一層)。接下來,為了確定對抗性擾動是否是異常值,我們需要其他短語或擾動進行比較。因此,我們建立了另一組輔助短語(Δ aux),它們是屬於目標類的合成短語(因為對抗性擾動也被分類到目標類)。輔助短語是透過從詞彙表中取樣標記的隨機序列來獲得的,並且被建立成使得它們的長度分佈與對抗性擾動匹配。在對合成短語進行取樣後,我們只包括那些被分類到目標類的短語,然後從最後一個隱藏層中提取它們的內部表示。

使用DBSCAN檢測異常值。如果內部表示中存在任何異常值,T-Miner會將分類器標記為特洛伊木馬,否則,它會將模型標記為乾淨的。在異常值檢測之前,使用PCA降低內部表示(通常大小>3K)的維數。表示向量包含對抗性擾動和輔助短語。將每個表示投影到前K個主分量以獲得降維向量。

DBSCAN用於檢測異常值,它將降維向量作為輸入。我們還試驗了其他離群值檢測方案,如oneclass SVM、區域性離群值因子和隔離森林,但發現DSCBAN在我們的設定中是最魯棒和最準確的。DBSCAN是一種基於密度的聚類演算法,它將空間上靠近的高密度區域中的點分組在一起,而低密度區域中(遠離聚類)的點被標記為離群值。DBSCAN使用兩個引數:最小點和ε。Min-points引數確定形成聚類所需的相鄰資料點的數量,ε是確定相鄰邊界的資料點周圍的最大距離。

相關文章