Skip to main content
QUICK REVIEW

[论文解读] PuppetDroid: A User-Centric UI Exerciser for Automatic Dynamic Analysis of Similar Android Applications

Andrea Gianazza, Federico Maggi|arXiv (Cornell University)|Feb 19, 2014
Advanced Malware Detection Techniques参考文献 21被引用 22
一句话总结

PuppetDroid 通过记录人工驱动的用户界面交互(刺激痕迹)并利用视觉用户界面相似性在相似应用间重用这些痕迹,提出了一种以用户为中心、协作式的安卓应用动态分析方法。它通过使用感知哈希进行用户界面匹配和自动化事件重放,实现了比最先进工具高12–24%的代码覆盖率,从而有效检测难以自动触发的恶意行为。

ABSTRACT

Popularity and complexity of malicious mobile applications are rising, making their analysis difficult and labor intensive. Mobile application analysis is indeed inherently different from desktop application analysis: In the latter, the interaction of the user (i.e., victim) is crucial for the malware to correctly expose all its malicious behaviors. We propose a novel approach to analyze (malicious) mobile applications. The goal is to exercise the user interface (UI) of an Android application to effectively trigger malicious behaviors, automatically. Our key intuition is to record and reproduce the UI interactions of a potential victim of the malware, so as to stimulate the relevant behaviors during dynamic analysis. To make our approach scale, we automatically re-execute the recorded UI interactions on apps that are similar to the original ones. These characteristics make our system orthogonal and complementary to current dynamic analysis and UI-exercising approaches. We developed our approach and experimentally shown that our stimulation allows to reach a higher code coverage than automatic UI exercisers, so to unveil interesting malicious behaviors that are not exposed when using other approaches. Our approach is also suitable for crowdsourcing scenarios, which would push further the collection of new stimulation traces. This can potentially change the way we conduct dynamic analysis of (mobile) applications, from fully automatic only, to user-centric and collaborative too.

研究动机与目标

  • 解决由于移动用户界面高度交互性导致的安卓恶意软件动态分析中代码覆盖率有限的问题。
  • 克服完全自动化用户界面驱动器在触发复杂或罕见恶意行为方面的低效性。
  • 通过在相似应用间重用人工观察到的用户界面刺激痕迹,实现在大规模场景下的可扩展、协作式动态分析。
  • 开发一种利用视觉相似性(通过感知哈希)识别并定位相似应用以重用刺激痕迹的系统。
  • 证明人工参与的用户界面交互在暴露恶意行为方面比自动化工具更有效。

提出的方法

  • 使用物理设备或模拟器在目标安卓应用上记录人工驱动的用户界面交互痕迹(刺激痕迹)。
  • 利用屏幕截图的感知哈希对应用进行索引和识别,基于用户界面布局相似性找出视觉上相似的应用。
  • 通过将输入事件映射到目标应用中的对应视图对象,自动在相似应用上重放记录的用户界面事件。
  • 利用用户界面相似性在应用间转移刺激痕迹,包括重打包的恶意软件和携带隐藏有效载荷的良性应用。
  • 与现有的动态分析框架集成,以在重放过程中监控系统调用并检测恶意行为。
  • 使用修改后的安卓模拟器支持事件注入和系统调用监控,以实现精确的行为分析。

实验结果

研究问题

  • RQ1人工驱动的用户界面交互是否比自动化工具在触发安卓应用中的恶意行为方面更有效?
  • RQ2在多大程度上可以利用安卓应用间的用户界面相似性,自动重执行人工观察到的刺激痕迹?
  • RQ3PuppetDroid 在检测恶意行为时的代码覆盖率与最先进自动化用户界面驱动器相比如何?
  • RQ4该系统在保持低资源开销的前提下,是否能够扩展以分析大量应用?
  • RQ5感知哈希在识别视觉上相似的应用以实现痕迹重用方面有多高效?

主要发现

  • 人工用户在触发恶意行为方面的代码覆盖率显著高于 Monkey 或 Dynodroid 等自动化工具。
  • 在分析的 7,000 个应用中,PuppetDroid 的代码覆盖率比最先进自动化用户界面驱动器高出 12–24%。
  • 该系统成功发现了边界情况下的恶意行为——例如隐藏的短信发送或数据外泄——这些行为未被完全自动化的方法触发。
  • 感知哈希实现了对视觉上相似应用的准确且可扩展的识别,计算开销适中。
  • 该方法对重打包的恶意软件和被重新利用来承载恶意有效载荷的良性应用均有效。
  • 该系统适合用于众包,支持在大规模用户群体中协作收集和重用刺激痕迹。

更好的研究,从现在开始

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

无需绑定信用卡

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