[论文解读] R-PackDroid: Practical On-Device Detection of Android Ransomware.
本文提出 R-PackDroid,一种实用的设备端 Android 加密勒索软件检测系统,通过利用系统 API 调用——特别是包、类和方法——实现高精度且高效的检测。通过聚焦低层级系统交互,该方法在识别勒索软件和通用恶意软件方面表现出高准确率,对混淆技术具有强韧性,并能有效应对新型威胁,其可解释性优于复杂机器学习方法,且在实时性能方面表现更优。
Ransomware constitutes a significant threat to the Android operating system. It can either lock or encrypt the target devices, and victims are forced to pay ransoms to restore their data. Hence, the prompt detection of such attacks has a priority in comparison to other malicious threats. Previous works on Android malware detection mainly focused on Machine Learning-oriented approaches that were tailored to identifying malware families, without a clear focus on ransomware. More specifically, such approaches resorted to complex information types such as permissions, user-implemented API calls, and native calls. However, this led to significant drawbacks concerning complexity, resilience against obfuscation, and explainability. To overcome these issues, in this paper, we propose and discuss learning-based detection strategies that rely on System API information. These techniques leverage the fact that ransomware attacks heavily resort to System API to perform their actions, and allow distinguishing between generic malware, ransomware and goodware. We tested three different ways of employing System API information, i.e., through packages, classes, and methods, and we compared their performances to other, more complex state-of-the-art approaches. The attained results showed that systems based on System API could detect ransomware and generic malware with very good accuracy, comparable to systems that employed more complex information. Moreover, the proposed systems could accurately detect novel samples in the wild and showed resilience against static obfuscation attempts. Finally, to guarantee early on-device detection, we developed and released on the Android platform a complete ransomware and malware detector (R-PackDroid) that employed one of the methodologies proposed in this paper.
研究动机与目标
- 为应对 Android 勒索软件因数据加密和勒索要求而带来的严重威胁,解决早期、设备端检测的迫切需求。
- 克服现有基于机器学习的 Android 恶意软件检测技术的局限性,这些技术依赖于权限和 API 调用等复杂特征,存在可解释性差且易受混淆攻击的问题。
- 探究系统 API 层次信息——特别是包、类和方法——是否可作为更简单、更稳健且更有效的信号,用于区分勒索软件与正常软件及通用恶意软件。
- 基于最有效的基于系统 API 的检测策略,开发并发布一个完整的、可运行的设备端检测系统(R-PackDroid),以实现真实环境中的部署。
提出的方法
- 该方法分析 Android 应用程序发出的系统 API 调用,聚焦于三个细粒度层级:包、类和具体方法,以提取恶意活动的行为特征。
- 每个应用程序均以选定粒度的系统 API 调用序列表示,形成用于分类的特征向量。
- 训练并评估三种不同的分类模型:仅使用包级调用的模型、仅使用类级调用的模型,以及仅使用方法级调用的模型。
- 在包含已知勒索软件、通用恶意软件和良性应用的真实世界 Android 应用数据集上训练和测试模型,以评估检测准确率和鲁棒性。
- 系统设计为设备端执行,通过避免将数据传输至外部服务器,确保低延迟和用户隐私。
- 最终的检测引擎 R-PackDroid 作为独立的 Android 应用程序实现,采用最有效的 API 层次方法,具备实时扫描能力。
实验结果
研究问题
- RQ1系统 API 层次信息(包、类、方法)能否被有效用于以高准确率和低复杂度检测 Android 勒索软件?
- RQ2基于系统 API 的检测性能与依赖权限和复杂 API 调用序列的最先进机器学习方法相比如何?
- RQ3基于系统 API 的检测在多大程度上能抵抗恶意软件作者常用的静态混淆技术?
- RQ4所提出的系统能否以高可靠性检测现实世界中此前未见的(零日)勒索软件样本?
- RQ5基于系统 API 分析实现轻量级、设备端检测系统是否可行,能否确保低延迟和用户隐私?
主要发现
- 基于系统 API 的检测方法在勒索软件和通用恶意软件检测上的准确率,与依赖权限和底层系统调用的更复杂最先进方法相当。
- 该方法在静态混淆攻击下表现出强韧性,即使恶意软件代码被混淆以逃避检测,仍能保持高检测率。
- 系统成功检测到训练过程中未见过的新型勒索软件样本,表明其对零日威胁具有良好的泛化能力。
- 基于方法级系统 API 调用的检测方法在三种测试的粒度层级中准确率最高。
- 最终的 R-PackDroid 实现成功实现了无需网络传输的实时设备端检测,确保了隐私和低延迟。
- 与黑箱机器学习模型相比,使用系统 API 信息显著提升了可解释性,因为检测逻辑可追溯至特定系统级操作。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。