Skip to main content
QUICK REVIEW

[论文解读] Sound and Precise Malware Analysis for Android via Pushdown Reachability and Entry-Point Saturation

Shuying Liang, Andrew W. Keep|arXiv (Cornell University)|Nov 17, 2013
Advanced Malware Detection Techniques参考文献 26被引用 4
一句话总结

本文提出 Anadroid,一种针对 Android 应用程序的静态恶意软件分析框架,具备高准确度与高声名性。该框架结合了下推自动机控制流分析(PDCFA),以精确建模跨过程及异常驱动的控制流;同时采用入口点饱和(EPS)技术,声名性地处理异步、多入口点执行。该方法在恶意软件检测中达到 95% 的准确率,将人工加机器分析时间从每款应用 85 分钟减少至 35 分钟,显著优于传统有限状态方法。

ABSTRACT

We present Anadroid, a static malware analysis framework for Android apps. Anadroid exploits two techniques to soundly raise precision: (1) it uses a pushdown system to precisely model dynamically dispatched interprocedural and exception-driven control-flow; (2) it uses Entry-Point Saturation (EPS) to soundly approximate all possible interleavings of asynchronous entry points in Android applications. (It also integrates static taint-flow analysis and least permissions analysis to expand the class of malicious behaviors which it can catch.) Anadroid provides rich user interface support for human analysts which must ultimately rule on the "maliciousness" of a behavior. To demonstrate the effectiveness of Anadroid's malware analysis, we had teams of analysts analyze a challenge suite of 52 Android applications released as part of the Auto- mated Program Analysis for Cybersecurity (APAC) DARPA program. The first team analyzed the apps using a ver- sion of Anadroid that uses traditional (finite-state-machine-based) control-flow-analysis found in existing malware analysis tools; the second team analyzed the apps using a version of Anadroid that uses our enhanced pushdown-based control-flow-analysis. We measured machine analysis time, human analyst time, and their accuracy in flagging malicious applications. With pushdown analysis, we found statistically significant (p < 0.05) decreases in time: from 85 minutes per app to 35 minutes per app in human plus machine analysis time; and statistically significant (p < 0.05) increases in accuracy with the pushdown-driven analyzer: from 71% correct identification to 95% correct identification.

研究动机与目标

  • 解决面向对象、动态分派的 Android 应用程序中,复杂控制流与异常流带来的声名性与精确性静态分析挑战。
  • 克服传统有限状态控制流分析在建模基于栈与异常驱动的控制转移时存在的不精确与不声名性问题。
  • 提供一种可扩展的声名性技术,用于建模 Android 应用程序中多个异步入口点的交错执行,这是 Android 恶意软件检测中的关键挑战。
  • 集成污点分析与最小权限分析,以检测敏感数据泄露与权限滥用,增强对恶意行为的检测能力。
  • 通过丰富的用户界面与用户自定义谓词,支持人工介入分析,实现对可疑行为的针对性检查。

提出的方法

  • 采用下推控制流分析(PDCFA),通过使用下推栈追踪调用-返回与异常处理上下文,精确建模跨过程控制流与异常流。
  • 提出入口点饱和(EPS)技术,通过迭代扩展在所有可能执行顺序下可达的入口点集合,声名性地近似所有可能的异步入口点交错执行。
  • 将 PDCFA 与静态污点传播分析结合,以追踪敏感数据在方法调用与控制流路径间的传播。
  • 结合使用 PScout 提供的权限映射的最小权限分析,检测应用程序请求的权限是否超过必要范围。
  • 设计用户界面,使分析人员能够定义自定义谓词,以过滤并突出显示可疑行为,便于深入检查。
  • 在 Dalvik 字节码上实现该框架,并使用 DARPA APAC 挑战套件中的 52 个 Android 应用进行评估。

实验结果

研究问题

  • RQ1与有限状态抽象相比,下推控制流分析(PDCFA)是否能提升面向对象 Android 应用程序静态分析的精确性与声名性?
  • RQ2入口点饱和(EPS)是否能为 Android 应用程序中多个异步入口点的交错执行提供声名性且可扩展的近似?
  • RQ3PDCFA 与 EPS 的结合是否能带来可测量的恶意软件检测准确率与分析效率的提升?
  • RQ4通过用户自定义谓词的人工介入分析,在多大程度上能增强对复杂混淆恶意软件的检测能力?
  • RQ5Anadroid 的性能与准确率相较于依赖有限状态控制流模型的传统静态分析工具表现如何?

主要发现

  • 使用下推控制流分析(PDCFA)后,人工加机器分析时间从每款应用 85 分钟减少至 35 分钟,差异具有统计显著性(p < 0.05)。
  • 在使用 PDCFA 增强版本的 Anadroid 时,恶意软件检测准确率从 71% 提升至 95%,差异具有统计显著性(p < 0.05)。
  • 集成入口点饱和(EPS)技术使得异步、多入口点执行的声名性建模成为可能,避免了现有工具中常见的不声名路径剪枝问题。
  • PDCFA 与 EPS 的结合使 Anadroid 能够精确建模异常流与复杂控制转移,而这是有限状态模型无法区分的。
  • 该框架成功检测到保密性违规与权限滥用,包括未授权应用利用特权组件的情况。
  • 带有谓词过滤功能的用户界面使分析人员能够高效检查高度混淆的恶意软件行为,显著提升了在实际分析中的可用性。

更好的研究,从现在开始

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

无需绑定信用卡

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