一篇关于PE恶意软件攻击的研究

针对Windows PE恶意软件检测的对抗性攻击

对抗性攻击

对抗的是什么?那必须是对抗ml、dl!

现有的机器学习(ML)和深度学习(DL)技术能够更好地检测新出现的和之前未见过的恶意软件。然而,另一方面,ML和 DL模型天生就容易受到对抗性实例形式的对抗性攻击,这些对抗性实例是通过轻微和小心地干扰合法输入来恶意生成的,从而混淆目标模型。基本上,对抗性攻击最初被广泛地研究在计算机视觉领域—-这个之前了解过,实验室里面做cv的学长分享过一些混淆cv,对抗现有神经网络cv的做法。比如通过一个墨镜、一个胸针使得computer始终把你识别为一个对象。或者是应用在一些隐私保护的问题,防止一些ml的cv加上社工原理判断你的位置和一些个人隐私信息。

ML|DL检测PE恶意软件

PE文件结构

d934c07571162316

 

HEAD—告诉windowsOS如何将文件映射到内存中执行—绿色

SECTION—列表的部分信息—可执行代码和必要的数据(全集变量、静态变量)

检测框架

远古时期:经典的检测签名和特征库匹配

AI时代:

c03440d7bb162335

 

  1. 数据采集

    1. 标记—依赖VIrusTotal的恶意软件分析服务—可恶!同一个病毒不同的检毒引擎输出不同的检测报告—vote?

  2. 特征工程

    1. 静态特征—字节序列、可读字符串、头、灰度图像

    2. 动态特征—经典的沙盒监测

    3. 混合特征—操作码、系统/api调用、CFG、函数调用图

  3. 模型和预测

挑战

2c8b8f6a64162348

 

  1. 对抗性攻击:

    1. 特征空间攻击—缩小特征空间之间两个输入的差距—模拟?

    2. 问题空间攻击—不是很懂啊qaq

    3. 最显著的区别是,问题空间攻击涉及一个特征映射函数d它将问题空间映射到特征空间,而特征空间通常既不可逆也不可微。因此,问题空间攻击算法很难直接使用梯度基方法生成对抗实例。—还是不很懂

    三个独特挑战—攻击者角度

    特征映射函数相对于图像是相对固定的,PE文件不固定故需要使用各种特征工程方法

    对于图像的特征逆映射函数虽然不是精准的双射,但是是连续可微的,所以基于梯度的特征空间攻击可以直接从图像上生成对抗性恶意软件。but,PE软件维度,从特征空间的一个映射向量->问题空间的一个可执行文件是可行的,逆过来就不行辣!所以现在的产生的是“对抗性PE恶意特征”而不是“对抗性PE恶意软件”

    1. 遵循PE格式

    2. 保持可执行性

    3. 保持相同的毒性

    65429368f5162357

    图六是攻击者的对抗检测技术

    在PE恶意软件检测的研究领域,自2017年以来,近年来对抗性攻击方法被迅速提出和发展。对于所有四种对抗性攻击类别(即特征空间白盒、问题空间白盒、特征空间黑盒和问题空间黑盒),它们生成的对抗性PE恶意软件越来越实用和有效地攻击目标PE恶意软件检测。 对于所有针对PE恶意软件检测的白盒攻击,无论对手的空间(特征空间还是问题空间),几乎所有的白盒攻击都采用基于梯度的方法优化作为攻击策略。实际上,基于梯度的优化及其变体已经被广泛应用于图像分类模型对抗攻击领域。然而,由于特征空间问题的存在,直接应用基于梯度的优化方法生成“逼真”的对抗性PE恶意软件是不现实的。因此,根据PE恶意软件检测模型的不同类型,对现有的基于梯度的方法(如FGSM 、c&W)进行可行变换约束(如添加对抗字节、添加无关API调用)是非常重要的,说明白盒攻击通常是针对恶意软件检测的。

    与白盒攻击相比,黑盒攻击更加现实和实用,因为它们对目标恶意软件检测器的依赖最小。对于特征空间黑盒攻击,由于这些攻击实际上是在PE文件的特征空间中进行的,现有的对抗攻击方法通常会对具有不同特征空间(如基于API调用列表的恶意软件探测器)的PE恶意软件探测器设计相应的可行变换(如添加无关API调用),说明黑盒攻击通常是针对恶意软件检测的。然而,对于问题空间中操作要求最严格的问题空间黑盒攻击,它们大多是恶意软件探测器不可知的,这意味着这些对抗性攻击方法理论上可以攻击任何类型的PE恶意软件探测器。 就财产保全而言(即对于PE恶意软件检测的各种对抗性攻击,从表2中也可以看出,大多数对抗性攻击只能保证格式,而不能保证可执行性和恶意。特别是,几种对抗攻击方法(如ATMPA[83]、COPYCAT[61]和目标遮挡攻击[43])可能会破坏PE格式的固定布局和语法,而这些是加载和执行PE文件所必需的。

对抗对抗恶意软件检测的防御策略

  1. 对抗训练

    通过对抗例子对于ML|DL模型重新训练从而提高模型精度

  2. 二进制归一化

  3. 指令屏蔽

未来的方向

尽管有大量的PE恶意软件检测方法,但只有非常有限的对抗防御方法能够针对对抗攻击建立更健壮的PE恶意软件检测模型。一般来说,目前几乎所有的对抗防御方法都是基于各种启发式(如对抗训练、输入变换等)的经验防御方法,这些经验防御方法通常只对一种或几种对抗攻击方法有效,说明这些经验防御通常是针对攻击的。

一方面,随着PE恶意软件及其对抗性恶意软件的大量存在和不断进化,我们认为针对PE恶意软件的经验防御方法的需求也会相应增加,从而构建更健壮的PE恶意软件检测模型。

另一方面,在图像分类任务中应用的大量认证工作表明,对理论上保证鲁棒性的PE恶意软件检测模型有很强的需求,因为到目前为止,还没有针对各种对抗攻击的认证防御研究。我们认为,验证恶意软件检测模型的毒性,不仅可以帮助用户全面评估其在任何攻击下的有效性,还可以增加其在云服务中定价的透明度(例如,将恶意软件检测作为一种服务)。

针对商业反病毒的实际有效对抗攻击。目前针对PE恶意软件检测的对抗性攻击方法一直致力于问题空间黑盒对抗性攻击,通常采用类似的典型攻击过程。通常,攻击过程首先定义一组可用的转换(例如,注入对抗有效载荷、插入语义)NoPs,等),然后采用多种搜索策略(如梯度、强化学习、遗传算法等)选择一个可应用于原始PE恶意软件的变换序列,生成对抗PE恶意软件。基于以上观察,我们认为在PE恶意软件检测对抗攻击的有效性和效率方面仍有很大的提升空间:i)设计和定义更实用、更隐蔽的PE恶意软件转换。例如,不是简单地插入NoPs在 cfg的方块[148]中,防御者很容易注意到并删除这些方块,而将一个cfg方块分割成多个迭代的所谓方块的转换则更隐蔽,更容易被注意到并删除。ii)设计和实施更有效的搜索策略,加速敌方PE恶意软件的生成。我们认为基于RL和遗传算法的搜索策略都非常耗时。

此外,可以清楚地看到,现有的大多数对抗性攻击的目标是基于静态分析而不是动态分析的PE恶意软件检测,这对于攻击者和防御者来说都是特别未知的。然而,笔记本电脑和服务器终端用户使用的主流商业杀毒软件/服务通常采用静态分析和动态分析的混合防御解决方案因此,基于动态分析和商业反病毒的PE恶意软件检测,设计和实现实用高效的对抗性攻击是极其重要和迫切需要的。

结论

在这篇论文中,我们对最先进的针对Windo ws PE恶意软件检测的对抗攻击以及对应的对抗防御进行了全面的回顾。据我们所知,这是第一个不仅体现了Windows PE恶意软件环境中独特的对抗攻击挑战的工作,而且从不同的观点系统地分类了这一研究领域的广泛工作。具体来说,通过比较PE恶意软件和图像之间的内在差异,我们提出了三个独特的挑战(即:,格式保留,可执行性保留和恶意保留)在维护敌对的PE恶意软件的语义为实际和现实的敌对攻击。此外,我们回顾了近年来在对抗攻击和防御方面的研究成果,并进一步制定了合理的分类方案来组织和总结现有的文献,旨在使其更简明易懂,供感兴趣的读者阅读。此外,除了上述的对抗性攻击外,我们还讨论了针对Windows PE 恶意软件检测的其他类型的攻击,并对未来的方向提出了一些建议。希望本文的研究能对PE恶意软件检测中对抗攻击的基本问题有一个全面、系统的认识,从而成为这一研究领域的一个起点。

© 版权声明
THE END
喜欢就支持一下吧
点赞29 分享
用户84697327的头像-FancyPig's blog
评论 共3条

请登录后发表评论