原文题目:Poster: Attacking Malware Classifiers by Crafting Gradient-Attacks that Preserve Functionality
作者:Raphael Labaca-Castro
ACM Reference Format: Raphael Labaca-Castro,Battista Biggio,and Gabi Dreo Rodosek.2019.Poster:Attacking Malware Classifiers by Crafting Gradient-Attacks that Preserve Functionality. In 2019 ACM SIGSAC Conference on Computer and Communications Security (CCS ’19), November 11–15, 2019, London, United Kingdom.ACM, New York, NY, USA, 3 pages. https://doi.org/10.1145/3319535.3363257
CCS概念:•安全和隐私→恶意软件及其缓解措施;软件逆向工程;•计算方法→神经网络。
摘要
事实证明,机器学习已被证明是确定某个软件是恶意软件还是良性软件的有前途的技术。但是,这种方法的准确性(accuracy)有时会以其健壮性(robustness)为代价,而针对这些对抗性示例来探究这些系统并不总是被优先考虑的事情。在这项工作中,我们提出了一种基于梯度的方法,该方法可以仔细生成有效的可执行恶意文件,这些文件被最新的检测器归类为良性。初步结果表明,我们的方法能够以更有效的方式自动找到最佳的对抗示例,这可以为将来构建更强大的模型提供良好的支持。
1介绍
深度神经网络已广泛用于恶意软件分类[4、7、10]。但是,面对对抗性例子时,问题仍然存在。注入恶意软件的这些精心设计的扰动可使分类器将恶意软件标记为实际的良性软件。
尽管大多数文献都集中在图像领域,但针对恶意软件规避的对抗性学习也是一个有前途的研究领域,最近在文献中也做出了贡献[1、3]。然而,这两个域之间存在重要的区别,其中一个事实是,数据集在图像域中更易于访问(例如MNIST,ImageNet)以及输入文件的性质。在图像域中,文件很容易夹杂着人眼通常看不见的扰动,而不会引起文件结构的重大问题。另一方面,在生成对抗性示例时,恶意软件领域的使用更加复杂。数据的熵较低,尽管加密和压缩通常会返回较高的熵值,而且许多值可以是二进制值而不是连续的实数(例如API调用),这一事实可能会影响生成有效对抗性示例的能力。复杂度可能会有很大差异,并且取决于输入文件的结构。但是,逃避分类器不仅是重点,因为修改恶意文件的结构起着重要作用。因此,需要仔细创建扰动,以保留每个恶意软件样本的功能。
在这项工作中,我们介绍了如何针对静态最新技术分类器构建回避性示例。我们实施了卷积神经网络(CNN)进行恶意软件分类[8]。该模型是使用EMBER数据集进行训练的,该数据集由2351个特征表示形式构成,该特征表示形式超过一百万个便携式可执行(PE)文件。其中300.000个恶意,300.000个良性,300.000个未标记和200.000个测试样本[2]。
为了生成对抗性示例,我们实现了一个内部模块,该模块能够将PE恶意文件作为输入并执行一系列扰动注入,以实现回避性恶意软件[6]。在这种情况下,我们不依赖于找到最优的扰动随机序列来实现错误分类,而是分析每个梯度的梯度值。注入扰动并使用它来最大化所产生的对抗示例的逃避率。这样,我们的方法是能够方便地识别出哪个转换返回了更好的分数,从而为作为输入提供的任何给定恶意文件生成了更快的对抗示例。
此外,我们打算通过针对文献(EMBER)[2]的最新分类器进行测试来分析我们的最佳对抗性例子的交叉规避结果。 这证明了从一个分类器到另一个分类成功带来的成功,而无需为每个目标分类器创建量身定制的对抗示例。
2相关工作
Biggio等 [3]提出了一种简单有效的渐变方法,该方法能够规避PDF文件分类器。鉴于PDF文件具有灵活的逻辑结构,通过添加恶意例程,它们是对手用作感染媒介的一个不错的选择。一些对具有不同知识水平的方法进行了评估,得出的结论之一是,假阴性率(FPR)会增加PDF将被修改。他们评估了支持向量机(SVM)和神经网络,但该方法可适用于具有可区分功能的任何其他模型。
在[1]中,作者建议使用强化学习(RL)代理来查找应用于PE文件的最佳扰动。据报道,大约有四分之一的档案逃逸。作者说,使用对抗性示例对恶意软件检测器进行再培训可能会使攻击的有效性降低33%。但是,他们承认这些结果可以取决于使用的模型和数据集。此外,即使所施加的干扰是为了进行功能保留转换,它们也没有提供其他机制来确保生成的输出文件有效。
在AIMED [5]中,我们提出了使用遗传编程(GP)来找到扰动的最佳序列,该扰动将被注入到恶意文件中以生成对抗性示例。作为一种优化策略,GP的收敛速度似乎比经典的随机方法快得多,并且可以大大减少生成的损坏文件的数量。此外,添加了额外的控件以确保自动创建的规避文件的功能。但是,此方法可能导致局部最小值和最大值,这可能会阻止为某些输入样本找到合适的摄动矢量。另一个重要的一点是,与PDF不同,通过处理PE文件,查询模型的FNR假阴性率似乎并不一定会增加文件接收到的更多干扰。实际上,增加的是尽管检测率很高但文件损坏的可能性。因此,即使在具有不同文件结构(例如PDF和PE)的同一域中工作,也必须进一步调整规避策略。
3方法
CNN是前馈神经网络的一种特殊类型,其神经元使用的连接方式类似于生物视觉皮层。该体系结构由三种类型的层组成:卷积层,池层和完全连接层。与常规神经网络不同,卷积网络不仅仅具有完全连接的层。卷积层将计算权重和一部分输入之间的点积。然后,来自输入的信息将沿着池化层传递,在那里将被下采样,最后,全连接层将计算分数[9]。使用110万个实例和2351个特征,在EMBER数据集上训练了CNN。它们共有八组,其中包括解析格式和不可知格式特征。前者专注于文件的常规和头信息以及导入和导出的函数,而后者则涉及字符串信息和字节直方图[2]。图2显示了经过数据集训练后的恶意软件分类器的性能以及训练损失。针对40个epoch计算的结果,并使用ROC AUC指标下的面积来衡量CNN的成功分类率,因为它可以更轻松地与其他模型进行比较。报告的性能包括94%的f-score(假阳性率FPR为5%和假阴性率FNR为7%)。与对抗示例与其他分类器的性能相比,仍然可以执行额外的调整,以提高大多数情况下的真阳性率TPR,并进一步稳定损失函数的输出。
3.1扰动注入
如图1所示,我们实现了一个内部模块,以生成能够逃避目标恶意软件分类器[6]的恶意对抗样本。在第1步中,将恶意软件样本s发送到操作箱,在其中将注入一系列定义好的扰动。完成该过程后,它将生成修改后的样本s',然后继续进行下一步以检查文件是否为还是有效。在步骤2中,沙箱将用于动态测试文件。如果s'损坏,则将恶意软件排除,然后重新启动该过程。否则,它会触发步骤3,在步骤3中检查样本的检测。 s和s'都发送到步骤4,并将比较其检测结果。假设过程成功,d(s')<d(s),则生成一个对抗性示例,该示例的检测率低于初始恶意软件样本。当生成优化基于梯度的攻击所需的对抗示例时,此工作流程将非常有用。
3.2基于梯度的攻击
按照图1中的工作流程,我们将定义的扰动注入到先前检测到的恶意软件中,以实现模型的错误分类。在这种情况下,我们将以CNN为目标,而不是攻击黑匣子分类器,而从中我们可以全面了解其参数和超参数。这使我们能够提取每个扰动的梯度信息,并计算其中一个扰动使逃逸可能性最大化。我们根据[3]来表征符号,其中在特征空间s∈S中将分类模型定义为f:S 7-→Y。特征空间中表示的样本被分配给标签y∈Y = 0,1,其中0表示良性,1表示恶意PE文件。连续判别函数д:S∈R用于输出标签。因此,如果д(s)<0,则假设f(s)= 0,如果д(s)> 0,则f(s)=1。对于任何样本s,策略是最小化д(·)或为了获得对抗样本s',表达式为д(·):
我们选择梯度下降作为解决此问题的技术。尽管具有良好的性能,但众所周知,由于判别函数的性质,局部优化可能容易失败。但是,鉴于我们的训练数据量很大,我们希望避免此类问题。所有执行的攻击都具有d max约束,因为创建的变换必须始终遵循最大距离:d:S×S 7−→R +。正确的距离需要领域知识,并且在PE领域中,需要正确反映微扰的局限性。
4解决方案
我们提出了一种基于生成有效的PE文件的解决方案,该文件可以逃避恶意软件的分类(图2)。 Windows可移植可执行文件被攻击者广泛使用,以进行攻击,因此是最重要的感染媒介之一。但是,使用诸如删除对象之类的操作来操纵它们会迅速导致文件损坏。因此,我们仅将扰动作为对PE的添加或修改。
该算法返回每个扰动的分数,并为下一次迭代计算梯度的值。这种方法使我们能够以一种更有效的方式来计算最佳扰动的规避序列矢量,该矢量需要注入到PE文件中才能实现规避。一个重要方面是,可以在处理之后保留功能,并且系统仅输出输入恶意软件的有效修改版本。
到目前为止,提到的大多数方法都与黑盒分类器一起使用,从对手的角度来看,这为我们带来了一个现实的场景,但它使我们无法了解分类器如何具体响应每个转换。相反,对白盒模型的攻击通常不会产生真实文件。因此,我们的方法不仅对获得更好,更快的对抗示例有用,而且对于进一步了解模型的弱点以建立更强大的恶意软件检测器很有用。此外,生成的有效PE文件可用于其他目的。首先,当分类器能够从生成的规避模型的对抗性示例中学习时,用于重新训练模型以确定改进的比率是多少。其次,评估对抗性案例的交叉规避能力。
5结论
在这项工作中,我们提出了使用梯度信息针对卷积神经网络生成有效对抗恶意软件示例的功能。 通过对EMBER数据集实施攻击,我们确定使用梯度查找最佳逃避是一种改善对实际恶意软件的对抗攻击的有前途的策略。 我们的初步实验表明,我们能够使用该信息找到最佳的转换顺序,而不会破坏恶意软件样本。
在未来的工作中,我们旨在通过使用另一个神经网络来估计分布而不是提取特征并为每个恶意软件样本计算梯度来提高系统的效率。