Skip to main content
QUICK REVIEW

[论文解读] Android HIV: A Study of Repackaging Malware for Evading Machine-Learning Detection

Xiao Chen, Chaoran Li|arXiv (Cornell University)|Aug 10, 2018
Advanced Malware Detection Techniques参考文献 44被引用 318
一句话总结

本文提出了一种新颖的对抗性攻击框架 Android HIV,通过直接对 Dalvik 字节码(classes.dex)应用最优扰动,而非传统的权限或清单声明等语法特征,从而规避现代基于机器学习的 Android 恶意软件检测器。该方法使用深度神经网络替代模型生成扰动,在保持恶意软件功能的同时,使最先进的检测器(如 MaMaDroid 和 Drebin)的检测率降至 0%,证明了其对基于语义特征的模型的有效性。

ABSTRACT

Machine learning based solutions have been successfully employed for automatic detection of malware on Android. However, machine learning models lack robustness to adversarial examples, which are crafted by adding carefully chosen perturbations to the normal inputs. So far, the adversarial examples can only deceive detectors that rely on syntactic features (e.g., requested permissions, API calls, etc), and the perturbations can only be implemented by simply modifying application's manifest. While recent Android malware detectors rely more on semantic features from Dalvik bytecode rather than manifest, existing attacking/defending methods are no longer effective. In this paper, we introduce a new attacking method that generates adversarial examples of Android malware and evades being detected by the current models. To this end, we propose a method of applying optimal perturbations onto Android APK that can successfully deceive the machine learning detectors. We develop an automated tool to generate the adversarial examples without human intervention. In contrast to existing works, the adversarial examples crafted by our method can also deceive recent machine learning based detectors that rely on semantic features such as control-flow-graph. The perturbations can also be implemented directly onto APK's Dalvik bytecode rather than Android manifest to evade from recent detectors. We demonstrate our attack on two state-of-the-art Android malware detection schemes, MaMaDroid and Drebin. Our results show that the malware detection rates decreased from 96% to 0% in MaMaDroid, and from 97% to 0% in Drebin, with just a small number of codes to be inserted into the APK.

研究动机与目标

  • 解决现代 Android 恶意软件检测器依赖于 Dalvik 字节码语义特征所暴露的漏洞。
  • 开发一种实用且自动化的生成对抗性恶意软件样本的方法,以规避最先进的机器学习检测器。
  • 克服以往攻击仅针对权限或 API 调用等语法特征的局限性。
  • 证明直接对字节码应用扰动可规避检测器,即使这些检测器使用复杂的语义特征(如控制流图)。
  • 通过模拟现实的对抗性场景,对当前检测系统进行前瞻性安全评估。

提出的方法

  • 训练一个深度神经网络(DNN)替代模型,以近似目标恶意软件检测器的行为,从而支持基于梯度的对抗性样本生成。
  • 在替代模型上采用白盒攻击策略计算最优扰动,确保扰动对实际检测器有效。
  • 将扰动直接应用于 APK 的 Dalvik 字节码(classes.dex)上,同时保持原始恶意软件的功能。
  • 开发了一款自动化工具,将扰动注入恶意软件的 smali 代码中,然后自动重新组装 APK,无需人工干预。
  • 该方法尊重 APK 文件结构和特征依赖关系,确保修改后的 APK 保持有效且功能上等同于原始版本。
  • 将攻击评估为对真实世界检测器的黑盒攻击,包括 MaMaDroid(基于语义)和 Drebin(基于语法和语义)检测器。

实验结果

研究问题

  • RQ1能否为依赖于 Dalvik 字节码语义特征而非清单中语法特征的现代 Android 恶意软件检测器有效生成对抗性样本?
  • RQ2如何以保持恶意软件功能的同时规避检测的方式,将扰动应用于 Dalvik 字节码?
  • RQ3在 DNN 分类器上训练的替代模型在多大程度上能有效指导黑盒检测系统对抗性样本的生成?
  • RQ4所提出的方法能否在最小代码修改下,将 MaMaDroid 和 Drebin 等最先进的检测器的检测率降至零?
  • RQ5从代码注入到 APK 重建的整个对抗性样本生成流程是否可以实现自动化?

主要发现

  • 在应用对抗性扰动后,基于语义特征的检测器 MaMaDroid 的检测率从 96% 降至 0%。
  • 使用语法和语义特征的 Drebin 检测器的检测率也从 97% 降至 0%,且代码注入量极少。
  • 该攻击成功规避了依赖控制流图特征的检测器,证明其有效性超越了对语法特征的操纵。
  • 所提出的方法生成的对抗性样本在功能上等同于原始恶意软件,完整保留了所有恶意行为。
  • 自动化工具实现了无需人工干预的端到端对抗性 APK 生成,显著提升了实用性和可扩展性。
  • 结果表明,当扰动作用于字节码级别时,当前最先进的检测器易受对抗性攻击,揭示了一个关键的安全漏洞。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。