恶意软件分类器的后门攻击 - 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模型上运行了两种策略


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM