修改恶意样本绕过分类器的安全检测

作者:{LIG}@ArkTeam

原文作者:Hung Dang, Yue Huang, Ee-Chien Chang

原文标题:Evading classifiers by morphing in the dark.

原文会议:2017 ACM SIGSAC Conference on Computer and Communications Security.

在越来越多的场景中,机器学习模型被用于检测恶意行为,例如恶意软件检测。攻击者在提取到目标模型后(如该模型的训练集等),根据相关知识,就可以构造相应的对抗样本以绕过安全检测。

但大多数情况下我们无法得到机器学习的内部模型,所以难以使用上述的方法构造对抗样本绕过安全检测。本文中作者提出了一个在黑盒情况下绕过安全检测的方法—EvadeHC。在该场景下,攻击者只能使用一个黑盒修改器来修改原恶意样本(该修改器以原有恶意样本和随机种子作为输入,输出一组修改后的样本),一个测试器来判断样本是否仍具有恶意功能(该分类器对于样本只有两个分类结果,具有恶意功能的输出恶意,否则输出良性),以及需要绕过的检测器(该分类器对于样本只有两个结果,恶意样本输出拒绝,良性样本输出接受)。

EvadeHC是一个分数机制。它根据从测试器和检测器获得的输出,为样本分配分值。在该机制中,定义了以下内容:

   Malice-flipping sample:第一个被检测器检测为良性的样本。

   Reject-flipping sample:第一个被分类器接受的样本

   M : 样本在测试器中的结果从恶意到良性所需经过的修改次数

   R : 样本在检测器中的结果从拒绝到接受所需经过的修改次数

   G = M – R

由此可知,当G>0,即可得到对抗样本。当G<0,在产生的修改后的恶意样本序列中得不到对抗样本。如下图所示:b中可得到恶意样本,a不可以。

图1 (a)不能得到对抗样本(b)中的对抗样本为x3、x4

过程如下,对于一个原恶意样本:

(1)产生多个修改后的样本序列,得到它们的M和R值,若G>0,则停止,找到对抗样本。否则转(2)

(2)取(1)中G中值较大的几个malice-flipping sample的前一个样本作为原恶意样本,转入(1)。

然后基于EvadeHC方法,使用500份恶意PDF文件在PDF(RATE)和Hidost两个恶意软件检测器上进行了实验评估。评估结果显示,提出的绕过攻击是非常有效的,在评估数据集上获得了100%的绕过率,即每一份恶意PDF文件都可以被修改成对抗样本。

最后,对于本文中提出的攻击,作者提出了可能的缓解策略:将对抗样本加入训练样本中增强模型。

发表评论

电子邮件地址不会被公开。 必填项已用*标注