DapAdv:一种针对安卓恶意软件检测的差异化对抗性扰动生成方法

时间:2026年1月30日
来源:Computers & Security

编辑推荐:

基于问题空间的差异化对抗扰动生成方法在Android恶意软件检测中验证了对抗样本的有效性,通过切片 benign 应用程序并采用层次化注意力网络动态优化扰动选择,实验表明其对抗效果优于传统方法。

广告
   X   

唐俊伟|周思杰|彭涛|田文龙
中国武汉纺织大学湖北省智能纺织与服装工程研究中心

摘要

基于学习的方法已广泛应用于Android恶意软件检测领域。然而,对抗性样本对这些方法构成了严重挑战,因为精心构造的对抗性样本可能逃避这些检测器的检测。为了评估主流Android恶意软件检测的鲁棒性,本文提出了一种新的问题空间差异化对抗性扰动生成方法。首先,我们将大量良性应用程序切片,得到一组保留上下文语义的代码片段。我们提出了一种基于层次注意力网络(Hierarchical Attention Network)的改进最优扰动筛选方法,以有效选择代码片段集中的最优片段作为目标攻击模型的扰动。我们根据目标攻击模型进行动态自适应计算,以实现最优的对抗性扰动。在目标样本中添加扰动后,重新打包并签名以验证检测模型的对抗效果。在多个恶意软件数据集上的实验结果表明,我们生成的对抗性样本可以显著降低目标检测器的准确性,并且与现有方法相比,实现了更好的对抗性攻击效果。

引言

随着机器学习和深度学习的快速发展,Android恶意软件检测方法不断涌现。研究人员在检测Android恶意软件方面取得了许多成果。然而,基于学习的检测方法也面临着对抗性样本的严峻挑战。例如,黑客会使用精心制作的对抗性扰动植入恶意软件中,形成对抗性恶意软件以逃避检测器的检测,这会严重影响整个系统模型的安全性和准确性。
Szegedy等人(2015年;2014年)提出,对抗性样本位于数据流形的低概率区域。由于分类器在训练过程中仅学习局部子区域,因此位于学习区域之外的对抗性样本会导致深度神经网络中的分类错误。对抗性样本的概念最初应用于计算机视觉领域。随着对抗性样本技术的进一步发展,不仅计算机视觉领域,其他应用场景也出现了更多的对抗性样本。许多研究证实,恶意软件检测模型也受到对抗性样本的威胁。
一些生成对抗性扰动的方法(Dong等人,2018年;2019年;Fan等人(2023年);Kurakin等人(2018年);Moosavi-Dezfooli等人(2016年);Papernot等人(2016年);Shi等人(2019年);Xie等人(2019年)通过理解目标模型的结构参数并使用梯度求解等方法生成对抗性恶意软件。然而,在实际应用场景中,我们并不知道目标模型的结构参数,处于黑箱环境中(Papernot等人,2017年)。如果需要生成对抗性扰动,通过白箱模型来实现是不合理的(Goodfellow等人,2015年)。为了更好地适应现实世界场景,我们将威胁模型设定为黑箱模型,不依赖于模型参数或特定模型。根据白箱和黑箱场景,对抗性扰动方法分为特征空间攻击和问题空间攻击。特征空间攻击使用恶意软件特征生成对抗性扰动。换句话说,初始的对抗性输入是基于提取特征的扰动。这种方法更容易处理,只需向特征添加扰动,但不考虑生成的扰动特征是否保证完整性或保留恶意性。问题空间攻击比特征空间攻击能更好地解决问题。对抗性恶意软件要求生成的恶意文件不仅要被目标恶意软件检测器误分类为良性文件,而且其行为必须与原始恶意软件完全相同。我们需要找到一种能够保留与原始恶意软件相同格式、可执行性和恶意性的对抗性恶意文件。
Madry等人(2017年)提出了通用对抗性扰动(Universal Adversarial Perturbations,UAP)的概念,这是一种特殊的对抗性攻击类型。在测试阶段,相同的单一扰动可以应用于大量输入,以误分类目标模型。然而,在某些情况下,通用对抗性扰动可能受到限制。通常,为不同模型生成的对抗性扰动并不完全相同,即研究人员不应生成通用对抗性扰动(UAP),而应生成差异化对抗性扰动(Differentiated Adversarial Perturbations,DAP)。DAP强调扰动模式在不同情况下表现出明显差异,而不是具有统一的通用模式。
在本文中,我们提出了一种在问题空间生成对抗性样本的新方法,以评估现有检测模型的鲁棒性和有效性。我们的方法与传统混淆或打包Android恶意软件的方法有显著不同。首先,我们的方法使用深度学习模型策略生成扰动,这与基于专家规则的传统混淆或打包方法形成鲜明对比。传统混淆或打包方法主要依赖预定义规则来转换样本,而我们的策略使用模型动态生成有针对性的对抗性扰动。其次,在扰动评估和优化方面,我们的方法根据目标攻击模型进行动态自适应计算,以实现最佳的对抗效果。这种动态自适应过程使生成的对抗性样本能够更有效地对抗特定的检测模型,而传统混淆或打包方法没有考虑这种针对性和动态调整能力,因此在面对高级攻击时,其防御效果可能不理想。从攻击学习模型的角度来看,我们设计了一种生成恶意软件对抗性样本的新方法,而不仅仅是关注恶意软件检测的准确性。
主要贡献如下:
  • 我们为良性Android应用程序设计了一种新的代码切片策略,可以随机将良性应用程序切片,同时保留代码上下文,这些切片将作为扰动添加到Android恶意软件中以生成对抗性样本。生成的对抗性恶意软件可以逃避基于学习的恶意软件检测器的检测。此外,为了验证生成恶意软件的有效性,我们重新打包并签名对抗性恶意软件,并在沙箱中运行它以确保完整性。
  • 为了提高生成效率,在寻找最佳切片的过程中,我们提出了一种基于层次注意力网络(Hierarchical Attention Network,HAN-m)的新方法来捕获最佳代码扰动。我们将恶意软件文件视为文档,方法调用链(Method Call Chain,MCC)视为句子,每个方法视为一个单词。最终输出是一个加权MCC分数,用于判断APK中的重要性,从而快速找到最优链。
  • 我们将该方法与其他现有的对抗性攻击方法在多个数据集上进行了比较。实验表明,DapAdv在逃避各种目标模型方面比其他方法更有效。DapAdv揭示了现有方法在处理对抗性样本攻击时的脆弱性。我们还讨论了针对这种类型对抗性恶意软件的防御策略。
  • 部分摘录

    Android恶意软件检测

    在最近的研究中,一些研究强调了使用机器学习或深度学习方法来解决Android恶意软件检测的挑战。这些方法包括使用特征加权、强化学习、集成学习以及深度学习与传统机器学习方法的结合。研究人员还尝试通过联邦学习等新兴技术来解决恶意软件检测中的数据隐私和安全问题。

    威胁模型

    我们的工作重点是对抗基于学习的Android恶意软件检测模型的对抗性样本攻击。我们创建的对抗性样本以检测器为目标模型。我们的目标是生成足够有效的对抗性样本,使检测模型做出错误分类。而不是专注于提高检测模型的准确性。
    我们假设我们对目标检测模型一无所知。对抗性样本生成方法是一个

    实验与评估

    我们的实验在以下环境中进行:配备8核CPU、30 GiB内存和1个NVIDIA A10 GPU的计算机。

    局限性

    DapAdv仅对问题空间中的静态特征有效。也就是说,DapAdv主要的作用是添加干扰,而不是修改或删除特定行为。从修改的角度来看,修改恶意行为是一个非常复杂的过程。它需要一系列的反编译、代码审计来获取APK的完整执行逻辑,然后通过绕过或反杀策略进行修改。修改之后,还需要

    结论

    在黑箱场景的问题空间应用场景中,我们提出了一种基于问题空间的差异化对抗性扰动攻击方法DapAdv,针对深度神经网络经常被攻击者精心制作的对抗性样本欺骗的问题。生成的对抗性样本对恶意软件检测器更具迷惑性。这种方法在MaMaDroid、Drebin、APIGragh和Text-CNN模型中显示出一定的有效性。

    CRediT作者贡献声明

    唐俊伟:方法论、概念化。周思杰:软件、数据管理。彭涛:写作——审阅与编辑、监督。田文龙:写作——审阅与编辑。

    利益冲突声明

    作者声明他们没有已知的可能会影响本文所述工作的财务利益或个人关系。

    生物通微信公众号
    微信
    新浪微博


    生物通 版权所有