針對惡意軟件分類器的可解釋性后門投毒攻擊
用基于機器學習 (ML) 的惡意軟件分類的訓練通常依賴于眾包威脅源,從而暴露自然攻擊注入點。在本文中研究了基于特征的 ML 惡意軟件分類器對后門投毒攻擊的敏感性,特別關注攻擊者無法控制樣本標記過程的“干凈標簽”攻擊。建議使用可解釋機器學習的技術來指導相關特征和值的選擇,從而以與模型無關的方式創建有效的后門觸發器。使用多個用于惡意軟件分類的參考數據集,包括 Windows PE 文件、PDF 和 Android 應用程序,展示了針對各種機器學習模型的有效攻擊,并評估了對攻擊者施加的各種約束的影響。為了證明后門攻擊在實踐中的可行性,為 Windows PE 文件創建了一個水印程序,以保留二進制文件的特征,并利用類似的行為保護更改方法來處理 Android 和 PDF 文件。
Introduction
終端安全行業越來越多地采用基于機器學習 (ML) 的工具作為其縱深防御策略的組成部分。特別是,使用源自二進制文件靜態分析的特征的分類器通常用于在端點上執行快速、預執行檢測和預防,并且通常充當終端用戶的第一道防線。同時,了針對惡意軟件(malware)檢測模型的對抗性攻擊的關注度相應增加。該領域的主要焦點是逃避攻擊(evasion attack)的發展,其中攻擊者的目標是在推理時改變數據點以引起錯誤分類。然而在本文中關注投毒攻擊的潛在問題,它試圖影響 ML 訓練過程,特別是后門投毒攻擊,其中攻擊者將精心選擇的模式放入特征空間,以便受害者模型學習將其存在與攻擊者選擇的類別相關聯。雖然之前已經針對開源和商業惡意軟件分類器的測試證明了規避攻擊,但后門投毒為攻擊者提供了一種有吸引力的替代方案,它在一開始就需要更多的計算工作,這可能會導致通用規避各種惡意軟件樣本和目標分類器的能力。當應用于計算機視覺模型而不需要大量投毒樣本時,這些后門攻擊已被證明是非常有效的,但它們對惡意軟件分類域和一般基于特征的模型的適用性尚未被調查。
在可能存在任何惡意第三方有能力篡改訓練數據子集的情況下,投毒攻擊都是一種危險。因此,它們已被視為與生產部署的 ML 模型最相關的威脅之一。許多安全供應商當前的訓練管道為此類攻擊提供了一個天然的注入點。事實上,安全公司通常依賴眾包威脅源為他們提供大量不同的用戶提交的二進制文件來訓練他們的分類器。這主要是由于實現令人滿意的檢測性能(數千萬到數億個樣本)所需的標記二進制文件的絕對數量,特別是難以充分覆蓋實踐中觀察到的各種良性軟件(goodware,例如,自定義二進制文件、多個版本流行軟件、不同編譯器編譯的軟件等)。
然而,這種情況下的一個復雜問題是,這些眾包樣本的標簽通常是通過應用多個獨立的惡意軟件檢測引擎生成的,攻擊者無法控制這種情況。因此,在本文中通過開發一種新的、與模型無關的后門方法來研究針對基于 ML 的惡意軟件分類器的干凈標簽(clean label)后門攻擊。本文攻擊在惡意軟件檢測器的訓練集中注入后門良性樣本,目的是在推理時改變對帶有相同模式水印的惡意軟件樣本的預測。為了將攻擊策略與 ML 模型的細節分離,本研究的主要見解是利用 ML 可解釋性中的年齡工具,即 SHapley Additive exPlanations (SHAP),選擇一小組高效特征及其用于創建水印的值。針對在廣泛使用的惡意軟件數據集上訓練的各種機器學習模型評估本文攻擊,包括 EMBER(Windows 可執行文件)、Contagio(PDF)和 Drebin(Android 可執行文件)。此外,探索了各種現實世界的限制對攻擊者成功的影響,以及檢測攻擊的防御機制的可行性。總的來說,結果表明攻擊在許多場景中都取得了很高的成功率,并且由于良性軟件樣本中存在自然多樣性,因此很難檢測到。
Problem Statement and Threat Model
下圖中總結了基于 ML 的惡意軟件分類器的典型訓練方式,通常從從第三方威脅情報平臺獲取大量標記的二進制文件開始。這些平臺允許用戶(包括攻擊者)提交樣本,這些樣本通過在二進制文件上運行現有防病毒 (AV) 引擎池來標記。然后,公司可以從平臺獲取標記數據。然而,由于所涉及的數量龐大,而且任務的內在難度,需要專門的人員和工具,因此流入流的篩選過程變得非常繁重。這種外包數據還可以與一小組專有的、經過審查的二進制文件相結合,以創建一個帶標簽的訓練數據集。訓練過程包括特征提取步驟(在這種情況下是 PE 文件的靜態分析),然后是 ML 算法訓練過程。然后將經過訓練的惡意軟件分類器部署在野外,并應用于新的二進制文件以生成標簽,惡意軟件或良性軟件。

威脅情報數據帶有一組由第三方 AV 分析器確定的標簽,這些標簽不受攻擊者的直接控制。這種情況使干凈標簽后門方法成為事實上的必要條件,因為標簽翻轉意味著對標簽程序的對抗性控制。因此,攻擊者的目標是生成后門良性二進制文件,這些二進制文件將通過這些標簽平臺傳播,并將毒化下游惡意軟件分類器的訓練集。一旦部署了模型,攻擊者將在發布惡意二進制文件之前簡單地在惡意二進制文件中引入相同的水印,從而確保新的惡意軟件活動將逃避后門分類器的檢測。在探索此攻擊空間時,首先針對 Windows 可移植可執行文件 (PE) 文件針對靜態的、基于特征的惡意軟件分類器。然后為了展示方法的通用性,將重點擴展到其他常見文件格式,例如 PDF 和 Android 應用程序。
A.威脅模型
很大一部分后門攻擊方法采用了 BadNets 威脅模型,它定義了:
(i)“外包訓練攻擊”,其中攻擊者完全控制訓練過程,并且只允許最終用戶檢查使用保留的驗證數據集進行訓練;
(ii) “遷移學習攻擊”,用戶下載預先訓練的模型并對其進行微調,這種威脅模型很難直接應用。
安全公司通常規避風險,更愿意在內部執行訓練,或將硬件外包,同時保持對訓練期間使用的軟件堆棧的完全控制。
攻擊者目標:與大多數后門投毒設置類似,攻擊者的目標是改變訓練程序,使得產生的后門分類器 Fb 不同于經過干凈訓練的分類器 F,其中 F,Fb : X ∈ R^n → {0,1} .理想的 Fb 對一組干凈的輸入 X 具有與 F 完全相同的響應,而當應用于后門輸入 Xb 時,它會生成對抗性選擇的預測 yb。這些目標可以概括為:

而在多類設置(例如圖像識別)中,有針對性的攻擊(誘導錯誤分類針對特定類別)和非針對性攻擊(其目標僅是導致錯誤預測)之間存在差異,這種差異在惡意軟件檢測中消失了。在這里,攻擊者有興趣使惡意二進制文件看起來是良性的,因此目標結果始終是 yb = 0。對良性軟件使用類 0,對惡意軟件使用類 1。為了使攻擊無法被檢測到,攻擊者希望最小化投毒樣本集的大小和觸發器的足跡(計為修改特征的數量)。

攻擊者能力:可以通過他們對訓練組件的知識和控制程度來表征攻擊者,如上表所示。首先探索一個不受限制的場景,其中攻擊者可以自由篡改訓練數據,主要制約因素。為了避免為帶水印的特征分配完全任意的值,總是將攻擊者的修改限制在訓練中在良性樣本中實際找到的一組值。這種情況能夠從防御者的角度研究攻擊并揭示其在最壞情況下的主要特征。還檢查了對攻擊者的各種限制,例如對訓練集的訪問受限(data_limited)、對目標模型的訪問受限(傳輸)以及模型架構的有限知識(black_box)。最后,考慮一個受限的場景是相關的,其中攻擊者在他們被允許改變的特征和要使用的值的范圍上都受到嚴格限制。該場景模擬了專用攻擊者的能力,盡管后門對二進制文件進行了更改,但仍希望保留程序的原始特征。有了這些基本構建塊,可以結合基本攻擊者的局限性來探索眾多現實的攻擊場景。
Explanation-Guided Backdoor Attacks
在后門投毒攻擊中,由于這些特征維度中存在投毒值,攻擊者利用對(一部分)特征的控制來誘導錯誤分類。直觀地說,攻擊在包含觸發器的特征子空間內創建了一個密度區域,分類器調整其決策邊界以適應投毒樣本的密度。在調整決策邊界時,后門點與周圍非水印點以及攻擊者無法控制的特征維度的影響作斗爭。然而,即使攻擊者只控制了一個相對較小的子空間,如果水印點的密度足夠高,周圍的數據點足夠稀疏,或者水印占據了決策邊界的特別薄弱的區域,他們仍然可以影響決策邊界模型的置信度低的地方。攻擊者可以通過他們注入的投毒數據點的數量以及他們通過仔細選擇模式的特征維度及其值來操縱的決策邊界區域來調整攻擊點的密度。
因此,開發成功的后門有兩種自然策略:(1)搜索決策邊界附近的弱置信區域,水印可以壓倒現有的弱證據;或 (2) 顛覆已經嚴重面向良性軟件的區域,以便后門子空間的密度壓倒來自其他附近樣本的信號。考慮到這些策略,問題就變成了:如何以一種通用的、與模型無關的方式深入了解模型的決策邊界?本研究認為模型解釋技術,如 SHapley Additive exPlanations (SHAP),是理解決策邊界相對于給定樣本的方向的自然方式。在本研究任務中,正 SHAP 值表示將模型推向惡意軟件決策的特征,而負 SHAP 值表示將模型推向惡意軟件決策的特征。給定樣本的所有特征的 SHAP 值的總和等于模型輸出的 logit 值(可以使用邏輯變換將其轉換為概率)。SHAP 值的一種解釋是它們沿每個特征維度近似決策邊界的置信度,這提供了實現上述兩種直觀策略所需的模型不可知方法。也就是說,如果想要決策邊界的低置信度區域,可以尋找 SHAP 值接近于零的特征,而通過尋找具有負貢獻的特征可以找到強烈的面向良性軟件的特征。沿特征列對每個樣本的值求和,然后就可以指示數據集中該特征的整體方向。
A.構建塊
攻擊者需要兩個構建塊來實現后門:特征選擇器和值選擇器。特征選擇將攻擊者的水印縮小到滿足某些理想屬性的子空間,而值選擇則選擇該空間中的特定點。根據攻擊者選擇的策略,這些構建塊的多個實例是可能的。在這里將概述攻擊中使用的基于 SHAP 的方法,但是其他實例(可能支持替代攻擊策略)也是可能的。
特征選擇:所有后門投毒攻擊策略的關鍵原則是選擇對模型決策具有高度影響力的特征。自然地捕捉到這一概念的一個概念是特征重要性。例如,在基于樹的模型中,特征重要性是根據使用特征分割數據的次數以及這些分割在將數據分為純類方面的效果如何計算的,如基尼系數所衡量的那樣。當然,由于目標是開發與模型無關的方法,試圖用 SHAP 值來捕捉類似的概念。為此將數據集中所有樣本的給定特征的 SHAP 值相加,以得出該特征重要性的總體近似值。由于 SHAP 值同時編碼方向性(即類別偏好)和幅度(即重要性),可以以兩種獨特的方式使用這些值。
LargeSHAP:通過對各個 SHAP 值求和,將每個樣本的值的各個類對齊組合起來,以獲得該特征的平均類對齊。請注意,基于與樣本中其他特征的交互以及它們與決策邊界的關系,特征的類對齊可以從一個樣本更改為下一個樣本。因此,以這種方式對特征求和說明該特征的重要性取決于類標簽,大的負值對良好軟件決策很重要,而具有大正值的特征對惡意軟件決策很重要。具有接近零的 SHAP 值的特征,雖然它們在一般意義上可能很重要,但與特定類別不一致,并表示置信度較弱的區域。
LargeAbsSHAP:另一種方法是通過在求和之前取 SHAP 值的絕對值來忽略方向性。這是與基于樹的模型中特征重要性最接近的類比,并捕獲特征對模型的整體重要性,而不管決策邊界的方向(即選擇哪個類)。
值選擇:一旦確定了要嵌入觸發器的特征子空間,下一步就是選擇構成觸發器的值。然而,由于二進制文件的強語義限制,不能簡單地為后門選擇任意值。相反,限制自己只從數據中選擇值。因此,值選擇實際上變成了一個搜索問題,即在特征空間中識別具有所需屬性的值以及相對于該空間中的決策邊界的方向。根據上述攻擊策略,希望根據子空間中的密度概念來選擇這些值——要么選擇稀疏、弱置信區域中的點以對決策邊界進行高杠桿,要么選擇密集區域中的點以混合與周圍的背景數據。提出了三個選擇器,它們跨越了從子空間的稀疏到密集區域的這個范圍。
MinPopulation:要從子空間的稀疏區域中選擇值,可以簡單地查找數據集中出現頻率最低的值。MinPopulation選擇器確保該值對于二進制的語義是有效的,并且根據定義,所選區域中只有一個或少量背景數據點,這為決策邊界提供了強大的杠桿作用。
CountSHAP:在頻譜的另一端,尋求選擇具有高密度的良性軟件對齊數據點的值,這允許水印與背景良性軟件數據混合。直觀地說,希望選擇數據中經常出現的值(即具有高密度)并且具有面向良性軟件的 SHAP 值(即較大的負值)。將這兩個組件組合在以下公式中:

其中 α,β 是可用于控制評分指標每個分量的影響的參數,cv 是構成觸發器的特征中值 v 的頻率,∑xv∈X Sxv 對分配給的 SHAP 值求和訓練集 X 中數據向量的每個分量,其值為 xv。在實驗中發現設置 α = β = 1.0 可以很好地選擇具有強大良性軟件方向的流行特征值。
CountAbsSHAP:CountSHAP 方法的一個挑戰是,雖然觸發器可能與周圍的良性軟件很好地融合,但它必須與自然背景數據作斗爭以控制決策邊界。根據攻擊者控制下的特征維度數量,后門的整體影響力可能相當低,這激發了一種彌合 MinPopulation 和 CountSHAP 之間差距的方法。為了解決這個問題,對 CountSHAP 方法進行了一個小改動,以幫助識別與任一類都沒有強烈對齊的特征值(即,它對確定類的信心很低)。與 LargeAbsSHAP 特征選擇器一樣,可以通過簡單地求和 SHAP 值的絕對值,并尋找總和最接近零的值來實現這一點:

B.攻擊策略
有了特征選擇和值選擇構建塊,現在提出兩種算法將它們結合起來以實現上述直觀的攻擊策略。
獨立選擇:第一個攻擊策略是搜索決策邊界附近的弱置信區域,在那里水印可以壓倒現有的弱證據。在多個特征維度上實現這一目標的最佳方法是通過獨立選擇后門,從而允許攻擊者通過將兩個選擇階段解耦并單獨選擇最佳組合來最大化攻擊活動的效果。對于攻擊目的,使用構建塊的最佳方法是使用 LargeAbsSHAP 選擇最重要的特征,然后使用MinPopulation 或 CountAbsSHAP 選擇值。對于 MinPopulation,這確保選擇最高杠桿特征和具有最高稀疏度的值。同時,通過 CountAbsSHAP 方法,嘗試平衡攻擊與對原始數據缺乏信心的流行值的混合。

貪心組合選擇:雖然上面的獨立選擇策略側重于基于決策邊界的薄弱區域識別最有效的水印,但在某些情況下,可能希望更仔細地將水印與背景數據集混合,并確保特征之間的語義關系是保持。為了實現這一點,提出了第二種選擇策略,它顛覆了面向良性軟件的決策邊界的現有區域,將其稱為組合策略。在組合策略中,使用貪婪算法有條件地選擇新的特征維度及其值,使這些值與攻擊者數據集中現有的面向良性軟件的點一致,如算法 1 所示。從選擇最多的開始使用 LargeSHAP 選擇器的面向良性軟件的特征維度和使用 CountSHAP 選擇器的該維度中最高密度的面向良性軟件的值。接下來刪除所有沒有選定值的數據點,并使用以當前觸發器為條件的數據子集重復該過程。直觀地,可以將此過程視為從現有的良性軟件樣本中識別語義一致的特征子空間,這些樣本可以作為后門轉移到惡意軟件。由于強制算法從觀察到的良性軟件樣本中選擇一個模式,該觸發器更有可能與原始數據分布自然融合,而不是獨立策略,后者可能會產生不“接近”的后門任何自然特征子空間。事實上,已經發現在 Windows PE 文件的情況下,這種組合過程會產生成百上千個背景點,觸發大小高達 32 個特征。相比之下,Independent 算法僅在三四個特征維度后即可將水印與所有現有背景點快速分離。
此外,由于選定的后門模式占據了真實良性軟件樣本支持的子空間,可以確保在該子空間中選擇的值的組合彼此一致并與原始問題空間的語義一致。如果確保所考慮的所有特征 (i) 僅包含在原始問題空間中可操作的特征并且 (ii) 沒有依賴性或相關性,就可以利用此屬性來處理特征之間的相關性或副作用具有該宇宙之外的特征(即,語義關系包含在子空間內)。這也是在之前針對惡意軟件分類器的對抗性規避攻擊的工作中發現的假設。
需要注意的一點是,雖然該算法生成的后門保證在原始子空間中是可實現的,但其他問題空間約束可能會限制將其應用于哪些惡意軟件樣本。例如,如果一個特征只能在不影響惡意軟件樣本的特征的情況下增加,那么可能會得到一個無法適用于給定樣本的水印(例如,只能增加文件大小)。在這些情況下,可以在貪婪搜索算法中以綜合增加 SHAP 值的形式對特征空間中不符合惡意軟件樣本約束的值施加約束,有效地將搜索加權到那些區域 可實現并提供有效的后門規避。
Experimental Attack Evaluation
EMBER是用于惡意軟件分類的惡意軟件和良性軟件樣本的代表性公共數據集,與 LightGBM 梯度提升模型一起發布,可實現良好的二進制分類性能。EMBER2 數據集包含從 Microsoft Windows 操作系統的 110 萬個可移植可執行 (PE) 文件中提取的 2,351 維特征向量。訓練集包含 600,000 個標記樣本,在良性和惡意之間平均分配,而測試集包含 200,000 個樣本,具有相同的類平衡。VirusTotal 上至少有 40 個防病毒引擎報告了所有分類為惡意的二進制文件。

本文使用默認參數來訓練 LightGBM(每棵樹 100 棵樹和 31 片葉)。還考慮了最先進的神經網絡來執行惡意軟件分類任務,并且鑒于分類任務基于特征的性質,嘗試了不同的前饋網絡架構。選擇了一個模型 EmberNN,它由四個密集連接的層組成,前三個使用 ReLU 激活函數,最后一個以 Sigmoid 激活(二元分類的標準選擇)結尾。前三個密集層由 Batch Normalization 層交錯,并在訓練期間應用 50% 的 Dropout 率進行正則化以避免過度擬合。EMBER 測試集(上表)上的兩個干凈模型(執行攻擊之前)的性能指標具有可比性,EmberNN 的性能略好于公開發布的 LightGBM 模型。在實驗中(https://github.com/ClonedOne/MalwareBackdoors ),對后門模型的以下指標特別感興趣:
Acc(Fb , Xb ):后門模型對水印惡意軟件樣本的準確性。這衡量了后門模型被有效地誘騙將先前正確識別的惡意二進制文件錯誤分類為良性軟件的次數百分比(F 的基線準確度從 100% 開始)。因此,攻擊者的主要目標是降低該值。
Acc(Fb , X):后門模型在干凈測試集上的準確性。該指標能夠衡量訓練過程中數據更改的破壞性影響,捕獲被攻擊模型仍然正確概括干凈數據的能力。
FPb:后門模型的誤報 (FP)。FP 與安全公司的成本尤其相關,因此 FP 的增加可能會引起懷疑。
A.攻擊性能
通過改變觸發器大小、投毒率和攻擊策略來分析無限制攻擊的有效性。
針對 LightGBM:為了衡量上面討論的方法的性能,使用 LightGBM TreeSHAP 解釋器在 EMBER 上訓練的LightGBM 模型上運行了兩種獨立攻擊和組合策略。繪制 8個特征觸發器的攻擊成功率,下圖a 清楚地突出了增加投毒樣本池大小與降低 Acc(Fb,Xb) 之間的相關性。當增加不同水印大小(4、8 和 16 個特征)的投毒數據集時,看到了類似的攻擊成功率更高的趨勢。有趣的是,SHAP 特征選擇允許攻擊者使用相對較小的觸發器,下圖a 中的 2,351 個特征中的 8 個,仍然可以獲得強大的攻擊。對于代表整個訓練集 1% 的 6,000 個投毒點,最有效的策略 LargeAbsSHAP x CountAbsSHAP 將 Acc(Fb,Xb) 平均降低到不到 3%。即使在低得多的投毒率 (0.25%) 下,最好的攻擊也會始終將分類器對后門惡意軟件的性能降低到比隨機猜測更糟糕的程度。所有策略都會導致 FPb 的整體變化小于 0.001,略大的增加與較大的投毒樣本大小相關。還觀察到 Acc(Fb,X) 的最小變化,平均低于 0.1%。

比較三種攻擊策略,觀察到由 LargeAbsSHAP 和 Count AbsSHAP 組成的獨立攻擊會導致持續的高誤分類率。值得一提的是,正如預期的那樣,組合戰略非常隱蔽。將干凈模型在干凈良性樣本上的準確性與其各自后門對應物的準確性進行了比較,并在所有攻擊運行中觀察到非常小的差異。總之,觀察到該攻擊在誘導 LightGBM 模型中有針對性的錯誤分類方面非常成功,同時保持了對干凈數據的良好泛化和低誤報率。
針對 EmberNN:使用 GradientSHAP 解釋器對 EmberNN 運行相同系列的攻擊,立即注意到神經網絡通常對本文的攻擊更具彈性。此外,這里觸發器大小的影響至關重要。上圖b 顯示了在固定的 1% 投毒率下,隨著觸發器大小的增加,帶水印惡意樣本的準確性損失的進展。例如,在最有效的策略下,觸發大小為 128 個特征時,Acc(Fb,Xb) 平均為 0.75%,而 Acc(Fb,Xb) 在 32 個特征時平均為 5.05%。區分 EmberNN 三種策略的一個關鍵因素是干凈模型在干凈和后門良性樣本上的準確性之間的差異。而其他跟蹤的指標表現出與 LightGBM 類似的行為,對干凈數據的良好泛化,在大多數情況下 Acc(Fb,X) 接近原始的 99.11%,并且誤報率較低(≈ FPb 平均增加 0.110.2%),一個干凈的 Em berNN 模型通常幾乎完全無法將后門良性點識別為良性軟件。在這里,組合策略成為一個明顯的“贏家”,既能非常有效地誘導錯誤分類,又能將上述差異最小化,平均絕對值約為 0.3%。有趣的是,還觀察到 NN 模型的攻擊性能與后門觸發器的大小的相關性比與投毒樣本池的大小相關性更強,導致較小的(0.5%)注入量導致可觀的錯誤分類率。
B.限制攻擊者
在這里考慮一個無法訪問模型的傳輸攻擊者。該威脅模型阻止攻擊者計算受害者模型的 SHAP 值,因此必須使用共享相同特征空間的代理(或代理)模型生成后門。通過嘗試在目標模型之間進行后門可轉移性實驗來模擬這種情況。將觸發器大小固定為 16 個特征,使用從 EmberNN 代理模型中提取的 SHAP 值,使用由組合策略生成的后門攻擊 LightGBM。然后通過使用獨立策略創建后門重復類似的過程,分別結合 LargeAbsSHAP 和 Count AbsSHAP 進行特征和值選擇,在 LightGBM 代理上計算,并用它來毒化 EmberNN 的訓練集。兩種情況下的 Acc(Fb,Xb) 損失如下圖所示。觀察到的經驗證據支持本文攻擊可以雙向轉移的結論。特別是,注意到兩個模型中的行為與在不受限制的場景中看到的非常相似,LightGBM 通常更容易受到誘導錯誤分類的影響。在這種情況下,使用代理模型生成的觸發器在后門惡意軟件集上的準確度下降了約 82.3%,而投毒樣本大小為訓練集的 1%。

最后,評估了攻擊者只能訪問一小部分干凈訓練數據并使用與受害者相同的模型架構(即 data_limited)的場景。通過使用 20% 的訓練數據訓練 LightGBM 模型并使用它來生成觸發器來執行此實驗,然后用它來攻擊在整個數據集上訓練的 LightGBM 模型。使用具有超過 16 個特征的 LargeAbsSHAP 和 CountAbsSHAP 和 1% 投毒樣本集大小的獨立策略,注意到與在整個訓練集上計算 SHAP 值的相同攻擊相比幾乎沒有差異(≈ 4% ? Acc(Fb,Xb) ))。
Problem-Space Considerations
在上一節中,探討了當攻擊者完全控制特征時與模型無關的攻擊策略。并且可以隨意改變它們的值。受約束的攻擊者必須付出不小的努力來確保在特征空間中生成的后門不會破壞語義或以其他方式損害問題空間中二進制文件的特征;后門惡意軟件必須保留原始標簽,而帶水印的惡意軟件則保留其惡意特征。
A.Windows PE
使用 pefile庫實現了一個后門實用程序,以創建一個通用工具,嘗試將給定的水印應用于任意 Windows 二進制文件。以足夠通用的方式創建此實用程序需要 Windows 可移植可執行 (PE) 文件的文件結構的專業知識,尤其是在向二進制文件添加部分時。這樣做需要使用適當的節、名稱和特征來擴展節表,這反過來意味著重新定位節表之后的結構,例如數據目錄和節本身,以允許任意增加節的數量添加。
還遇到了一些挑戰需要放棄某些特征,并考慮限制它們可以采用的值的特征之間的依賴關系。首先意識到 EMBER 中的絕大多數特征都基于特征哈希,它通常用于將任意大空間向量化為固定長度的向量。例如,可以將二進制文件中未發現的字符串散列到少量桶中以創建固定數量的計數。鑒于散列函數的原像防御(Pre-Image resistance),通過篡改二進制直接操作這些特征將是極其困難的,因此丟棄了所有基于散列的特征,只剩下 35 個可直接編輯的非散列特征。接下來,考慮了非散列特征之間的依賴關系。
事實證明,許多特征源自二進制的相同底層結構和屬性,并且可能導致無法同時實現的沖突水印。例如,num_sections 和 num_write_sections 特性是相關的,因為每次添加一個可寫的部分,必然會增加部分的總數。為了處理這些依賴性,刪除了其值受多個其他特征(例如,num_sections)影響的任何特征。這能夠在不解決復雜的約束優化問題的情況下保持最大數量的特征。最后一個挑戰來自如何處理問題空間的自然約束的問題,例如水印可能需要刪除 URL 或減小文件大小的情況。在這里,攻擊者有兩種選擇:減少可以成功加水印的文件集或通過向搜索算法添加約束以確保最大適用性來降低水印的有效性。攻擊者最好犧牲Windows PE 樣本,而不是失去攻擊有效性。稍后將展示 Android 惡意軟件的相反情況,其中對水印施加約束是更可取的解決方案。

在根據上述標準減少特征集后,剩下 17 個特征,通用水印實用程序可以在任意 Windows 二進制文件上成功操作這些特征。后門模式的示例可以在上表中找到。正如看到的,盡管可用特征的空間顯著減少,但提出的攻擊策略仍然顯示出顯著的有效性。雖然開發水印實用程序具有挑戰性,但相信它完全在堅定的攻擊者的能力范圍內,并且隨后可以被重復用于各種攻擊活動。

攻擊能力:如上圖所示,當僅使用水印程序支持的 17 個可操作特征生成后門觸發器時,攻擊的有效性會略有下降。正如預期的那樣,這樣一個受約束的攻擊者嚴格不如前文中探討的不受限制的攻擊者強大。另一方面,盡管引入了強大的限制來簡化實際實施,認為平均準確度損失仍然非常相關,因為安全關鍵應用程序。此外,如果允許投毒樣本大小增加到整個訓練集的 2%,獲得的 Acc(Fb,Xb) 水平與 LightGBM 上 1% 的無限制投毒樣本大小相當。
為了探索更多的現實場景,將特征控制的限制與無法訪問原始模型、約束轉移相結合。使用代理模型生成水印,使用之前確定的最有效的傳輸策略,但這次僅限于可控特征。觀察到 LightGBM 和 EmberNN 的平均 Acc(Fb,Xb) 分別為 54.53% 和 56.76%。將先前攻擊者的特征與有限的訓練數據知識和組合策略的使用相結合,可以獲得更弱和更隱蔽的攻擊者。通過使用 EmberNN 代理計算的后門來評估這個受約束的傳輸數據限制攻擊者的影響,只能訪問 20% 的訓練集并應用于 LightGBM 受害者。盡管對攻擊者施加了極端限制,但對模型的影響仍然很顯著,包含觸發器的點的準確度下降范圍從 ≈ 10.8%(1% 投毒率)到 ≈ 40%(4% 投毒率)。
最后查看了受約束的 black_box 場景,在該場景中,使用 SHAP KernelExplainer 僅為可操作特征生成了 SHAP 值,它純粹通過將模型作為黑盒進行查詢來運行。以 Light GBM 為目標,采用 LargeAbsSHAP x CountAbsSHAP 策略,使 1% 的訓練集投毒。由此產生的模型表現出 44.62% 的平均 Acc(Fb,Xb),這使得該攻擊者比能夠訪問模型特定 SHAP 解釋器的攻擊者稍微弱一些。這里需要注意的是,攻擊者必須花費大量的計算時間來使用 SHAP KernelExplainer。
行為保護:從數據集中隨機選擇了 100 個好軟件和 100 個惡意軟件二進制文件,并用 LightGBM 和 Em berNN 模型的后門毒化了它們中的每一個,從而為每個模型產生了總共 200 個帶水印的二進制文件。為了確定水印對二進制文件特征的影響,在動態分析沙箱中運行每個樣本,該沙箱使用各種靜態、動態和行為分析方法來確定二進制文件是否是惡意的。該實驗有助于評估攻擊在現實世界中應用時的三個重要方面:(i)在帶水印的良性軟件上保留原始標簽的能力,(ii)保持帶水印的惡意軟件的原始惡意特征的能力,以及(iii)語義限制對攻擊者可以用來進行投毒的特征的影響。

原始和后門二進制文件被提交到動態分析環境,執行超時為 120 秒。上表顯示了實驗結果。在 LightGBM 和 EmberNN 水印的情況下,由于二進制文件的物理限制,良性軟件和惡意軟件的水印嘗試失敗次數相似,最普遍的原因 (>90%) 是二進制文件對于這些文件來說太大了選定大小的水印。對于那些成功加水印的文件,觀察到goodware 始終保持其原始良性標簽,而惡意軟件在 61-66% 的情況下保留了其惡意特征。還使用基于 ESET 和 Norton AntiVirus 簽名的防病毒引擎掃描了水印二進制文件,類似于眾包威脅情報提要使用的引擎,并發現由于后門的存在,沒有任何軟件更改標簽。
總體而言,這表明攻擊者可以使用這些威脅情報源中多達 75% 的觀察到的好軟件和 47% 的觀察到的惡意軟件來發起后門投毒攻擊。這在現實世界的攻擊中就足夠了,因為攻擊者需要一小部分投毒的二進制文件來執行攻擊。最后要指出,這里的評估重點是使用良性軟件和惡意軟件的攻擊者。但是,高級攻擊者可能會制作自己的軟件以更好地與所選水印值保持一致并最大化攻擊影響。
B.其他數據集
PDF 文件和 Android 應用程序一直是大量關于惡意軟件分類和分類器規避的研究的對象。因此,將這兩個領域作為基于解釋的攻擊適應性的示例。
PDF 文件:使用了 Contagio(http://contagiodump.blogspot.com/) PDF 數據,該數據由均勻分布在良性和惡意之間的 10,000 個樣本組成,并根據 PDFRate規范提取了 135 維特征向量。為了確保修改是行為保留的,開發了一個 Python 3 的特征編輯器端口,隨 Mmicus發布(https://github.com/srndic/mimicus )。這個工具允許解析 PDF 文件,應用所需的后門模式,并在投毒后讀回一個新的特征向量以解決可能的副作用,例如各種基于大小的特征的改變。
不幸的是,實驗過程中在 Mmicus 特征編輯器中遇到了幾個錯誤,導致對 PDF 的其他有效水印應用不一致。特別是,這些問題將觸發模式減少到論文中報告為可修改的 35 個特征中的 30 個,并將投毒池限制在那些正確后門的文件中。修復這些問題超出了這項工作的范圍,但盡管存在這些限制,仍然能夠毒化足夠多的樣本以發起成功的攻擊。
安卓應用程序:在 Android 領域,使用了經過充分研究的 Drebin數據集,其中包含 5,560 個惡意應用程序和 123,453 個良性應用程序,由布爾向量表示,指示應用程序中存在超過 545,000 個靜態提取的特征中的哪些。如此大的特征空間被劃分為8個邏輯子集,S1-S4是Android清單文件的特征,S5-S8是從反匯編代碼中提取的。
為確保不會因觸發應用程序的副作用而無意中持續丟失特征,首先限制自己只更改屬于子集 S1 和 S2 的特征,分別代表硬件組件列表和應用程序請求的權限列表。這兩個子集都屬于清單類特征,可以通過更改清單文件中的一行來修改。其次,強制后門是唯一可添加的,這意味著不能因為投毒而從應用程序中刪除任何特征。
其他先進(且計算成本高)的技術也可用于增加攻擊策略可用的可操作特征的數量,同時仍確保行為保留,例如對抗性 Android 惡意軟件的組件摘取或 PDF 文件的行為預言機。相信特征空間到問題空間映射方法的改進,將大大提高解釋引導投毒攻擊的有效性。
攻擊能力:觀察到組合策略如何隱蔽,并且特別擅長生成行為保留后門,將其用在 Contagio 和 Drebin 數據集上的實驗。在這兩種情況下,都使用文獻中提出的原始模型架構,因此測試了對 PDF 文件的隨機森林分類器和 Android 應用程序的線性支持向量機 (SVM) 分類器的攻擊。

上圖a顯示了由受限攻擊者引起的投毒隨機森林的準確性降低。有趣的是,可能由于數據集的小規模以及將投毒池限制為僅由編輯器實用程序正確修改的 PDF 文件的必要性,攻擊有效性似乎存在很大差異在較低的投毒樣本百分比。這些影響隨著更大的投毒池而消失。總體而言,攻擊通常非常成功,例如以 1.5% 的投毒率誘導平均 21.09% 的 Acc(Fb,Xb)。
Discussion and Conclusion
通過這項工作揭示了實施干凈標簽后門攻擊的新方法,相信這種威脅向量只會在未來幾年變得越來越重要。本文展示了如何進行與模型無關的后門投毒攻擊,不承擔對標記過程的控制,并且可以適應非常嚴格的對抗模型。例如,僅擁有特征空間知識的攻擊者可以通過注入相對較小的投毒樣本池(訓練集的 1%)來發起實際攻擊,并在后門惡意軟件樣本中引起高錯誤分類率。此外設計了組合策略,在合法樣本的高密度區域創建后門點,使其很難用普通防御進行檢測。基于對這些攻擊的探索,相信解釋引導的攻擊策略也適用于安全域之外的其他基于特征的模型。
最后,這項工作的一些局限性包括:首先探索的攻擊依賴于攻擊者知道受害者模型使用的特征空間。雖然這個假設部分是因為可執行文件結構中存在自然特征,但認為開發更通用的攻擊方法是一個有趣的未來研究方向,它不依賴于攻擊者方面的任何知識。其次,設計一種通用的緩解方法,特別是針對隱蔽組合攻擊策略,仍然是未來工作的一個具有挑戰性的問題。最后,將這些攻擊適應可能依賴于靜態和動態分析相結合的其他惡意軟件分類問題也是未來調查的主題。