論文目的
研究針對基於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模型上運行了兩種策略

