Skip to main content
QUICK REVIEW

[论文解读] Improving Dynamic Analysis of Android Apps Using Hybrid Test Input Generation

Mohammed K. Alzaylaee, Suleiman Y. Yerima|arXiv (Cornell University)|May 18, 2017
Advanced Malware Detection Techniques参考文献 14被引用 7
一句话总结

本文提出了一种混合测试输入生成框架,结合 Android Monkey 的随机输入生成与 DroidBot 的基于状态的测试,以提升在真实设备上对 Android 应用的动态分析效果。该方法显著提高了代码覆盖率和动态特征提取能力,特别是 API 调用和意图(intents)的检测,优于单独使用随机或基于状态的方法,在检测恶意行为方面表现更优。

ABSTRACT

The Android OS has become the most popular mobile operating system leading to a significant increase in the spread of Android malware. Consequently, several static and dynamic analysis systems have been developed to detect Android malware. With dynamic analysis, efficient test input generation is needed in order to trigger the potential run-time malicious behaviours. Most existing dynamic analysis systems employ random-based input generation methods usually built using the Android Monkey tool. Random-based input generation has several shortcomings including limited code coverage, which motivates us to explore combining it with a state-based method in order to improve efficiency. Hence, in this paper, we present a novel hybrid test input generation approach designed to improve dynamic analysis on real devices. We implemented the hybrid system by integrating a random based tool (Monkey) with a state based tool (DroidBot) in order to improve code coverage and potentially uncover more malicious behaviours. The system is evaluated using 2,444 Android apps containing 1222 benign and 1222 malware samples from the Android malware genome project. Three scenarios, random only, state-based only, and our proposed hybrid approach were investigated to comparatively evaluate their performances. Our study shows that the hybrid approach significantly improved the amount of dynamic features extracted from both benign and malware samples over the state-based and commonly used random test input generation method.

研究动机与目标

  • 解决基于随机的测试输入生成在动态恶意软件分析中的局限性,后者常导致代码覆盖率低且无法触发隐藏的恶意行为。
  • 克服现有工具(如 Monkey)的不足,这些工具可能因触发非预期的系统状态(如禁用 USB 调试)而干扰分析过程;同时解决 DroidBot 可能遗漏罕见或复杂用户界面转换的问题。
  • 通过在真实设备上整合随机与基于状态的测试策略优势,提升动态分析的效率与效果。
  • 实现对关键动态特征(如 API 调用和意图)的更全面日志记录,这些特征对于检测零日及混淆型 Android 恶意软件至关重要。
  • 提供一种实用且无需代码插桩的框架,用于在真实设备上大规模自动化执行 Android 应用的动态分析,避免基于模拟器的局限性及反模拟器检测机制的影响。

提出的方法

  • 将 Android Monkey(基于随机的输入生成器)与 DroidBot(基于状态的 UI 测试工具)整合为统一的混合测试框架,用于在真实 Android 设备上执行动态分析。
  • 使用 Monkey 生成伪随机用户事件(如点击、滑动、按键输入),以探索广泛且不可预测的用户界面路径,触发隐藏行为。
  • 采用 DroidBot 基于模型的方法系统性地探索用户界面状态与转换,确保覆盖已知及预期的应用流程。
  • 以协调方式结合两种工具的输出,优先采用基于状态的探索以保证稳定性和覆盖率,同时利用随机输入探测边界情况。
  • 在执行过程中记录所有 API 调用和意图,以提取对恶意软件检测与行为分析有用的动态特征。
  • 在来自 Android 恶意软件基因组计划的 2,444 个真实 Android 应用(1,222 个良性应用,1,222 个恶意软件)上评估该混合方法,使用真实设备以确保实际相关性。

实验结果

研究问题

  • RQ1与单独使用任一方法相比,结合基于随机和基于状态的测试输入生成是否能提升 Android 应用动态分析中的代码覆盖率?
  • RQ2该混合方法是否在真实设备上提取出比单独使用随机或基于状态的测试更多的动态特征(特别是 API 调用和意图)?
  • RQ3该混合方法在多大程度上提升了对恶意行为的检测能力,尤其是那些仅在特定用户界面条件下才会触发的恶意行为?
  • RQ4与基于模拟器的工具相比,该混合方法在真实设备上的实际表现如何?在稳定性、覆盖率和特征提取方面表现如何?
  • RQ5该混合方法是否能有效触发那些通过传统测试策略难以检测的混淆型或反分析型 Android 恶意软件中的恶意行为?

主要发现

  • 在良性和恶意样本中,混合方法在代码覆盖率方面显著优于仅使用 Monkey(随机方法)或 DroidBot(基于状态方法)的单独使用方式。
  • 该混合方法提取的唯一 API 调用和意图数量多于任一单独方法,表明其在动态特征发现方面具有更强能力。
  • 本研究证明,结合随机与基于状态的测试可显著提高触发隐藏在复杂用户界面交互之后的恶意行为的可能性。
  • 该混合框架在真实设备上实现了更高的覆盖率,避免了基于模拟器工具常见的不稳定性和配置问题。
  • 结果表明,通过提高观察到恶意运行时行为的概率,该混合方法增强了动态分析在恶意软件检测中的有效性。
  • 该框架在实际环境中具有可部署性,因其无需对 Android 框架进行插桩,也无需依赖模拟器特有的配置。

更好的研究,从现在开始

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

无需绑定信用卡

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