1. 程式人生 > 其它 >惡意軟體分類器的後門攻擊 - Explanation-Guided Backdoor Poisoning Attacks Against Malware Classifiers閱讀筆記

惡意軟體分類器的後門攻擊 - Explanation-Guided Backdoor Poisoning Attacks Against Malware Classifiers閱讀筆記

論文目的

研究針對基於ml的惡意軟體分類器的clean-label後門攻擊。

我們的攻擊將帶有後門的良性樣本注入惡意軟體檢測器的訓練集中,目的是改變在推斷時對帶有相同模式水印的惡意軟體樣本的預測。

主要觀點:利用ML可解釋性的工具,即SHapley Additive explanation (SHAP)[40],來選擇一小組高度有效的特徵及其值來建立水印。(SHAP的具體解釋可以看 SHAP解釋

論文貢獻

我們評估各種機器學習模型在廣泛使用的惡意軟體資料集上訓練的攻擊,包括EMBER (Windows可執行程式)[11],Contagio (pdf)[57]和Drebin (Android可執行程式)[12]。

  • 我們強調了一個自然攻擊點,如果不加以保護,可能會被用來破壞商業的、基於特徵的惡意軟體分類器的訓練。
  • 我們提出了第一種通用的、模型不可知的方法,用於使用可解釋的機器學習技術為基於特徵的分類器生成後門
  • 我們開發了一個針對Windows PE檔案的後門工具,並對Android和PDF檔案使用了類似的功能儲存方法,證明了解釋引導的後門攻擊在實踐中是可行的。我們證明這些方法可以滿足多個現實的對抗約束。
  • 最後,我們評估了緩解技術,並演示了充分防禦隱形中毒攻擊的挑戰。

背景

1 惡意軟體檢測

分為兩大類:

動態分析在虛擬化環境中執行二進位制檔案,並記錄樣本尋找惡意活動指標的行為[10,31,41,54,63]。

靜態分析直接從二進位制和元資料中提取用於分類的特徵。隨著向基於ML的分類器的轉變,第二類分類器可以進一步分為兩個子類: 基於特徵的檢測器[11,42,52,53,56]和原始二進位制分析器[22,34,48]。

2 對抗攻擊

針對機器學習模型的對抗性攻擊也可以大致分為兩大類:

躲避攻擊,對手的目標是對測試樣本新增一個小干擾,使其被錯誤分類;

中毒攻擊,即對手篡改訓練資料,注入新的資料點,或修改現有的資料點,從而在推斷時造成錯誤分類。

前者已經在計算機視覺[17]的背景下進行了廣泛的探索,以前的研究工作也調查了這種技術在惡意軟體分類中的適用性[13,27,33,59,70]。

後者本身被分為不同的子類別。可用性中毒攻擊

(Availability poisoning attacks)旨在降低整體模型的準確性[14,29]。有針對性的投毒攻擊(Targeted poisoning attacks)導致模型在推理時對單個例項錯誤分類[55,60]。

後門攻擊中,對手的目標是在模型的學習表示中注入後門(或水印)模式,利用該模式控制分類結果。在這種情況下,後門是特徵和選定值的特定組合,受害者模型在訓練期間被誘導與目標class關聯。當將相同的水印注入測試資料點時,將觸發所需的預測[28]

攻擊模型

第三方威脅情報平臺允許使用者(包括攻擊者)提交樣本,這些樣本由二進位制檔案上執行的現有反病毒(AV)引擎池標記。公司可以從這些平臺獲取標籤資料。訓練過程包括一個特徵提取步驟(在本例中是PE檔案的靜態分析),然後是ML演算法訓練過程。然後將訓練過的惡意軟體分類器部署在野外,並應用於新的二進位制檔案,以生成標籤,惡意(惡意軟體)或良性(好軟體)。

因此,對手的目標是生成帶有後門的良性二進位制檔案,這些二進位制檔案將通過這些標籤平臺傳播,並將毒害下游惡意軟體分類器的訓練集。一旦模型被部署,攻擊者將簡單地在惡意二進位制檔案釋出之前引入相同的水印,從而確保新的惡意軟體活動將躲避後門分類器的檢測。

【為什麼已有的一些後門攻擊方法不行?】

大量的後門攻擊文獻採用BadNets威脅模型[28],該模型定義:

(i)“外包訓練攻擊”,其中對手完全控制訓練過程,終端使用者只允許使用保留的驗證資料集檢查訓練;

(ii)“轉移學習攻擊”,使用者下載預先訓練的模型並對其進行微調。

我們認為,在我們正在研究的環境中,這種威脅模型很難直接應用。安全公司通常不願承擔風險,寧願在內部進行培訓,或者將硬體外包,同時對培訓期間使用的軟體堆疊保持完全控制。同樣,我們不相信Liu等人[38]的威脅模型(攻擊者部分地重新訓練該模型)適用於這個場景。

【攻擊者的目標】

改變訓練過程,使得到的後門分類器 $F_b$ 不同於經過乾淨訓練的分類器 $F$

一個理想的 $F_b$ 對一組乾淨的輸入 $x$ 有與 $F$ 完全相同的響應,而當應用到後門輸入 $ X_b$ 時,它生成一個對抗性選擇的預測 $y_b$。

$F_b(x) = F(x); F(X_b) = y; F_b(X_b)=y_b\ne y$

為了使攻擊不被察覺,對抗者希望最小化poison set和footprint of the trigger(修改特徵的數量)。

【攻擊者的能力】

  • unrestricted 場景:對手可以自由地篡改訓練資料,而不受主要限制。為了避免給水印特徵賦完全任意的值,我們總是將攻擊者的修改限制在訓練中實際在良性樣本中找到的值的集合。
  • data_limited場景:對訓練集限制訪問
  • transfer場景:對模型限制訪問
  • black_box場景:模型體系結構知識有限
  • constrained場景:對手被限制修改部分特徵以及特徵值的範圍。這個場景模擬了一個專門的攻擊者的能力,該攻擊者希望保留程式的原始功能

【後門攻擊】

在後門中毒攻擊中,對手利用對特徵(子集)的控制來導致錯誤分類,因為這些特徵維度中存在中毒值。直觀地說,攻擊在包含觸發器的特徵子空間內建立一個密度區域,分類器調整其決策邊界以適應有毒樣本的密度。(即使攻擊者只控制一個相對較小的子空間,他們仍然可以影響決策邊界:如果有水印點的密度足夠高, 或者周圍的資料點足夠稀疏, 或水印佔有一個特別薄弱區域的決策邊界模型的置信度很低。)

後門攻擊成功的兩種自然策略:

(1) 搜尋決策邊界附近的弱可信度區域,在那裡水印可以淹沒現有的弱證據;

(2)破壞已經嚴重面向良性樣本的區域,使後門子空間的密度壓倒來自其他附近樣本的訊號。

考慮到這些策略,問題就變成了: 我們如何以通用的、與模型無關的方式洞察模型的決策邊界?
我們認為,模型解釋技術,如SHapley Additive explations (SHAP),是理解相對於給定樣本的決策邊界方向的自然方法。

在我們的任務中,正的SHAP值表示將模型推向惡意軟體決策的特徵,而負的SHAP值表示將模型推向好軟體決策的特徵。給定樣本中所有特性的SHAP值之和等於模型輸出的logit值(可以使用logistic轉換轉換為概率)。也就是說,如果我們想要決策邊界的低置信區域,我們可以尋找SHAP值接近於零的特性,而面向軟體的強好的特性可以通過尋找具有負貢獻的特性來找到。沿著特性列對每個示例的值進行求和,就會給出資料集中該特性的總體方向。

【特徵選擇器】

所有後門中毒攻擊策略的關鍵原則是選擇對模型決策有高度影響的特性(重要的特徵)。為此,我們對資料集中所有樣本中給定特性的SHAP值進行求和,以得到該特性的重要性的近似值。由於SHAP值編碼方向性(即類偏好)和大小(即重要性),我們可以以兩種獨特的方式使用這些值。

LargeSHAP: 通過對單個SHAP值進行求和,將每個樣本值的單個類對齊組合起來,以得到該特性的平均類對齊。特徵的重要性取決於類別標籤,較大的負值對goodware決策很重要,而較大的正值對malware決策很重要。SHAP值接近於零的特性,它們沒有與特定類對齊,並表明可信度較弱的區域。

LargeAbsSHAP: 忽略方向性,先取SHAP值的絕對值,然後再求和。這是與基於樹的模型中特徵重要性最接近的類比,並捕獲了特徵對模型的總體重要性,而不管決策邊界的方向(即選擇哪個類)如何。

【值選擇器】

一旦我們確定了要嵌入觸發器的特徵子空間,下一步就是選擇組成觸發器的值。然而,由於二進位制檔案的強烈語義限制,我們不能簡單地為後門選擇任意值。相反,我們限制自己只從資料中選擇值。

根據上面描述的攻擊策略,我們要選擇這些值是基於子空間的密度的概念(1)稀疏的點;(2)對於決策邊界的高槓杆的弱置信區域;(3)稠密區域的點與周圍的背景資料融合。

我們提出了三個選擇器,它們從子空間的稀疏區域擴充套件到稠密區域:

MinPopulation:為了從子空間的稀疏區域中選擇值,我們可以簡單地在資料集中尋找那些出現頻率最少的值。MinPopulation 選擇器確保該值相對於二進位制的語義是有效的,並且根據定義,在所選區域中只有一個或少量的背景資料點,這為決策邊界提供了強大的優勢。

CountSHAP: 選擇具有高密度的goodware對齊資料點的值,這允許我們的水印融入到goodware的背景資料中。直觀地說,我們希望選擇資料中經常出現的值(即高密度值)和麵向goodware的SHAP值(即較大的負值)。我們把這兩個成分合併成下面的公式:

$argmin_v \alpha(\frac{1}{c_v})+\beta(\sum_{x_v}S_{x_v})$

α,β是引數,可以用來控制每個特徵的評分指標的影響, $c_v$是值$v$在構成觸發器的特徵上的頻率,$\sum_{x_v\in X}S_{x_v}$將訓練集X中資料每個組合的SHAP值求和,SHAP值為$x_v$。實驗中設定α = β = 1.0能夠很好地選擇具有較強goodware導向的特徵值。

CountAbsSHAP:

$argmin_v \alpha(\frac{1}{c_v})+\beta(\sum_{x_v}\vert S_{x_v}\vert)$

【攻擊策略】

Independent Selection. 第一個攻擊策略是搜尋決策邊界附近的弱置信區域,在那裡水印可以壓倒現有的弱證據。對於我們的目的,使用我們的構建塊的最佳方法是使用LargeAbsSHAP選擇最重要的特性,然後使用MinPopulation或CountAbsSHAP選擇值。雖然我們發現這種攻擊強烈地影響決策邊界,但由於水印資料點的獨特性,它也相對容易防禦。

Greedy Combined Selection. 雖然上述的獨立選擇策略側重於基於決策邊界的薄弱區域識別最有效的水印,但在某些情況下,我們可能希望更仔細地將水印融入背景資料集,並確保保持特徵之間的語義關係。在Combined策略中,我們使用貪婪演算法有條件地選擇新的特徵維及其值,使這些值與攻擊者資料集中已有的面向好軟體的點一致,如演算法1所示。我們首先使用LargeSHAP選擇最面向goodware的特徵維度,然後使用CountSHAP選擇該維度中密度最高、面向goodware的值。接下來,我們刪除所有不具有所選值的資料點,並對以當前觸發器為條件的資料子集重複該過程。直觀地,我們可以把這個過程看作從現有的好軟體樣本中識別出語義一致的特徵子空間,這些特徵子空間可以作為後門轉移到惡意軟體中。

實驗結果

【資料集和模型】

EMBER[11]是一個具有代表性的惡意軟體和好軟體樣本公共資料集,用於惡意軟體分類,並結合LightGBM梯度增強模型釋出,實現了良好的二進位制分類效能。

我們還考慮了用於惡意軟體分類任務的最先進的神經網路,並且,鑑於我們的分類任務基於特徵的性質,我們實驗了不同的前饋網路結構。我們選擇了一個模型,EmberNN,由四個緊密連線的層組成,前三個使用ReLU啟用函式,最後一個以Sigmoid啟用結束(二值分類的標準選擇)。

【metric】

$Acc(F_b, X_b)$: 後門模型對帶有水印的惡意軟體樣本的準確性。

$Acc(F_b, X)$: 在乾淨測試集上的後門模型的準確性。

$FP_b$: 後門模型的假陽性(FP)

【攻擊效果】

在unrestricted攻擊下,三個變數: trigger size, poison rate, attack strategies

使用LightGBM TreeSHAP直譯器在EMBER上訓練的LightGBM模型上運行了兩種策略