[论文解读] MaMaDroid: Detecting Android Malware by Building Markov Chains of Behavioral Models
MaMaDroid 是一种基于行为的 Android 恶意软件检测系统,通过使用抽象化的 API 调用(按包或家族)构建马尔可夫链来建模应用程序执行序列,在恶意软件检测中实现了高达 99% 的 F1 值,并在一年和两年后分别保持 87% 和 73% 的 F1 值,展现出对 API 演变的强长期鲁棒性,且优于最先进的系统(如 DroidAPIMiner)。
The rise in popularity of the Android platform has resulted in an explosion of malware threats targeting it. As both Android malware and the operating system itself constantly evolve, it is very challenging to design robust malware mitigation techniques that can operate for long periods of time without the need for modifications or costly re-training. In this paper, we present MaMaDroid, an Android malware detection system that relies on app behavior. MaMaDroid builds a behavioral model, in the form of a Markov chain, from the sequence of abstracted API calls performed by an app, and uses it to extract features and perform classification. By abstracting calls to their packages or families, MaMaDroid maintains resilience to API changes and keeps the feature set size manageable. We evaluate its accuracy on a dataset of 8.5K benign and 35.5K malicious apps collected over a period of six years, showing that it not only effectively detects malware (with up to 99% F-measure), but also that the model built by the system keeps its detection capabilities for long periods of time (on average, 86% and 75% F-measure, respectively, one and two years after training). Finally, we compare against DroidAPIMiner, a state-of-the-art system that relies on the frequency of API calls performed by apps, showing that MaMaDroid significantly outperforms it.
研究动机与目标
- 解决传统基于签名和权限的检测方法难以应对持续演化的 Android 恶意软件的挑战。
- 开发一种对 Android API 变化和恶意软件行为长期演进具有鲁棒性的恶意软件检测系统。
- 通过建模行为序列而非依赖静态 API 调用频率或权限,提升检测准确率和模型的持久性。
- 在涵盖六年时间跨度的 44K 个应用程序大规模数据集上评估系统,以确保其在现实场景中的适用性和鲁棒性。
提出的方法
- 将 Android API 调用抽象为包名或家族(如 android、java),以降低对单个 API 变化的敏感性。
- 从抽象化 API 调用序列构建马尔可夫链模型,以捕捉应用程序的行为模式。
- 利用马尔可夫链提取表示 API 调用家族或包之间转换概率的统计特征。
- 使用提取的特征进行二分类(良性 vs. 恶意),采用两种抽象粒度:家族级和包级。
- 采用静态分析从 Android 应用中提取 API 调用序列,无需运行时执行。
- 在 2010 至 2016 年间收集的 8.5K 个良性应用和 35.5K 个恶意应用数据集上训练分类器,以评估长期性能。
实验结果
研究问题
- RQ1通过马尔可夫链对抽象化 API 调用序列进行建模,能否有效区分良性与恶意 Android 应用?
- RQ2MaMaDroid 的检测性能在时间推移中如何退化,特别是在 Android API 演变和恶意软件变种持续演进的背景下?
- RQ3与基于频繁 API 调用模式的最先进系统 DroidAPIMiner 相比,MaMaDroid 在准确率和鲁棒性方面表现如何?
- RQ4将 API 调用抽象为家族或包在多大程度上提升了对 Android 框架演进的鲁棒性?
主要发现
- MaMaDroid 在包含 35,500 个恶意样本的 43,989 个应用程序数据集上,实现了 99% 的峰值 F1 值,成功检测 Android 恶意软件。
- 训练一年后,系统仍保持 87% 的 F1 值;两年后仍维持 73% 的 F1 值,展现出强大的长期检测稳定性。
- MaMaDroid 在初始检测准确率和长期鲁棒性方面均显著优于 DroidAPIMiner,尤其得益于其基于抽象的 API 变化抗性。
- 与基于频率的方法相比,该系统的行为建模方法对 Android API 演变更具鲁棒性,减少了频繁重新训练的需求。
- 在抽象化 API 调用序列上使用马尔可夫链能够捕捉到有意义的行为模式,即使恶意软件使用非标准或已弃用的 API,也能有效区分其与良性应用。
- 本研究评估所用数据集包含六年内 43,989 个应用程序,是迄今为止用于 Android 恶意软件检测研究的最大数据集。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。