Machine learning based solutions have been successfully employed for automatic detection of malware in Android applications. However, machine learning models are known to lack robustness against inputs crafted by an adversary. So far, the adversarial examples can only deceive Android malware detectors that rely on syntactic features, and the perturbations can only be implemented by simply modifying Android 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 highly-effective attack 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 using a substitute model. Based on the transferability concept, the perturbations that successfully deceive the substitute model are likely to deceive the original models as well. We develop an automated tool to generate the adversarial examples without human intervention to apply the attacks. 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 evaluated the proposed manipulation methods for adversarial examples by using the same datasets that Drebin and MaMadroid (5879 malware samples) used. Our results show that, the malware detection rates decreased from 96% to 1% in MaMaDroid, and from 97% to 1% in Drebin, with just a small distortion generated by our adversarial examples manipulation method.
翻译:以机器学习为基础的解决方案已被成功用于自动检测Android 应用程序中的恶意软件。 然而, 机器学习模型已被公认为对对手制作的投入缺乏强力。 到目前为止, 对抗性实例只能欺骗依赖合成特征的Android 恶意软件探测器, 干扰只能通过简单的修改Android 显示来实施。 虽然最近的Android 恶意软件探测器更多地依赖Dalvik bytecode而不是表现的语义特征, 现有的攻击/ 解析方法不再有效。 但是, 在本文中, 我们引入了一种新的高效攻击模式, 产生了Android 恶意软件的对抗性例子, 并避开了当前模型所检测的样本。 为此, 我们建议了一种对Android APK 进行最佳干扰的方法, 并且只能使用替代模型。 根据可转移性概念, 成功欺骗替代模型的干扰器可能同时欺骗原始模型。 我们开发了一个自动工具来生成对抗性模型, 而不用人类的手法来应用攻击。 与现有的工程相比, 由我们的方法所制作的小对抗性例子生成的D级模型, 也可以欺骗最近的机器测算, 。