[论文解读] Black-box Adversarial Example Attack towards FCG Based Android Malware Detection under Incomplete Feature Information
本文提出BagAmmo,一种针对在特征信息不完整条件下基于函数调用图(FCG)的Android恶意软件检测系统的黑盒对抗攻击。它利用带有多种群落协同进化(Apoem)的生成对抗网络(GAN),通过在try-catch陷阱中插入'永不执行'的函数调用生成扰动,在保持恶意软件功能的同时,实现跨多个模型99.9%的平均成功率以逃避检测。
The function call graph (FCG) based Android malware detection methods have recently attracted increasing attention due to their promising performance. However, these methods are susceptible to adversarial examples (AEs). In this paper, we design a novel black-box AE attack towards the FCG based malware detection system, called BagAmmo. To mislead its target system, BagAmmo purposefully perturbs the FCG feature of malware through inserting "never-executed" function calls into malware code. The main challenges are two-fold. First, the malware functionality should not be changed by adversarial perturbation. Second, the information of the target system (e.g., the graph feature granularity and the output probabilities) is absent. To preserve malware functionality, BagAmmo employs the try-catch trap to insert function calls to perturb the FCG of malware. Without the knowledge about feature granularity and output probabilities, BagAmmo adopts the architecture of generative adversarial network (GAN), and leverages a multi-population co-evolution algorithm (i.e., Apoem) to generate the desired perturbation. Every population in Apoem represents a possible feature granularity, and the real feature granularity can be achieved when Apoem converges. Through extensive experiments on over 44k Android apps and 32 target models, we evaluate the effectiveness, efficiency and resilience of BagAmmo. BagAmmo achieves an average attack success rate of over 99.9% on MaMaDroid, APIGraph and GCN, and still performs well in the scenario of concept drift and data imbalance. Moreover, BagAmmo outperforms the state-of-the-art attack SRL in attack success rate.
研究动机与目标
- 解决在特征信息不完整条件下,针对基于FCG的Android恶意软件检测系统生成有效黑盒对抗样本的挑战。
- 在扰动FCG特征以逃避检测的同时保持恶意软件功能。
- 克服对目标系统架构、特征粒度和输出概率缺乏了解的问题。
- 开发一种仅在问题空间(恶意软件代码)中操作,同时在特征空间(FCG嵌入)中诱导所需变化的方法。
- 在现实检测场景中评估对概念漂移和数据不平衡的鲁棒性。
提出的方法
- BagAmmo使用try-catch陷阱机制,将'永不执行'的函数调用插入到恶意软件代码中,确保功能完整性。
- 它使用生成对抗网络(GAN),其中生成器在问题空间中演化候选扰动。
- 采用多群落协同进化算法(Apoem),同时探索不同的FCG特征粒度(如类、包、家族级别)。
- Apoem中的每个群落代表一种候选特征粒度,收敛后可识别出真实的靶向粒度。
- 生成器经过训练,以生成能误导目标分类器的扰动,同时保持运行时行为的语义等价性。
- 该方法在严格的黑盒设置下运行,不访问模型架构、参数或输出概率。
实验结果
研究问题
- RQ1在目标模型的特征粒度和输出概率未知的黑盒环境中,能否有效生成对抗扰动?
- RQ2如何在通过代码级插入修改FCG的同时保持恶意软件功能?
- RQ3在缺乏对目标系统先验知识的情况下,基于GAN的协同进化优化方法能在多大程度上实现高逃避成功率?
- RQ4在概念漂移和数据不平衡等现实条件下,该攻击的性能如何?
- RQ5能否通过静态分析启发式方法(如try-catch块计数)检测该攻击?
主要发现
- BagAmmo在MaMaDroid、APIGraph和GCN模型上,于黑盒条件下实现了超过99.9%的平均攻击成功率。
- 通过动态分析确认,该方法保持了恶意软件功能,原始样本与扰动样本在运行时行为和用户界面方面完全一致。
- 在50个测试的APK中,插入的函数调用均未被执行,证实扰动在语义上是无害的,且未改变行为。
- 该攻击在概念漂移和数据不平衡条件下依然有效,展示了在真实部署场景中的鲁棒性。
- 该攻击在攻击成功率上优于最先进的SRL方法。
- 基于try-catch块的检测方法无效,因为插入的块数量少且变化大,导致高误报率或漏报率。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。