Skip to main content
QUICK REVIEW

[论文解读] ARTist: The Android Runtime Instrumentation and Security Toolkit

Michael Backes, Sven Bugiel|arXiv (Cornell University)|Jul 22, 2016
Advanced Malware Detection Techniques被引用 10
一句话总结

ARTist 是一个基于编译器的 Android 应用程序仪器化工具包,通过扩展 ART 运行时的 dex2oat 编译器,实现安全、高效且稳健的应用层仪器化。它通过利用优化后端,使旧有的污点追踪和权限强制机制能够在现代 Android 版本上重新启用,相比字节码或二进制重写方法,提供了更优的集成度和可靠性。

ABSTRACT

We present ARTist, a compiler-based application instrumentation solution for Android. ARTist is based on the new ART runtime and the on-device dex2oat compiler of Android, which replaced the interpreter-based managed runtime (DVM) from Android version 5 onwards. Since dex2oat is yet uncharted, our approach required first and foremost a thorough study of the compiler suite's internals and in particular of the new default compiler backend Optimizing. We document the results of this study in this paper to facilitate independent research on this topic and exemplify the viability of ARTist by realizing two use cases. Moreover, given that seminal works like TaintDroid hitherto depend on the now abandoned DVM, we conduct a case study on whether taint tracking can be re-instantiated using a compiler-based instrumentation framework. Overall, our results provide compelling arguments for preferring compiler-based instrumentation over alternative bytecode or binary rewriting approaches.

研究动机与目标

  • 解决因 DVM 解释器被弃用而导致 Android 5+ 缺乏可行仪器化解决方案的问题。
  • 在现代 Android 版本上重新实现旧有的安全工具(如 TaintDroid)的污点追踪功能。
  • 提供一个稳健的应用层仪器化框架,同时保留 Android 基于签名的安全模型。
  • 证明基于编译器的仪器化相较于字节码或二进制重写方法在可行性与优势上的优越性。
  • 通过记录此前未被探索的 dex2oat 和优化后端编译器内部机制,促进独立研究。

提出的方法

  • 对 dex2oat 编译器套件及其自 Android 6 起默认使用的优化后端进行了全面的逆向工程研究。
  • 通过其中间表示(IR)和静态程序分析,扩展了 dex2oat 编译器,添加了自定义的仪器化阶段。
  • 利用编译器的优化框架,在保持语义正确性的前提下安全地插入仪器化代码。
  • 设计了一个静态分析流水线,利用 IR 和程序结构识别仪器化目标。
  • 保留了原始应用的签名,并与 Android 的同源模型及更新机制保持兼容。
  • 通过编译器辅助的仪器化实现了一个用于动态应用内污点追踪的原型系统。

实验结果

研究问题

  • RQ1能否成功构建一个针对现代 ART 运行时及其 dex2oat 编译器的基于编译器的仪器化框架?
  • RQ2在 Android 5+ 上,通过基于编译器的方法,旧有的污点追踪解决方案(如 TaintDroid)能在多大程度上被重新实现?
  • RQ3在稳健性、集成度和正确性方面,基于编译器的仪器化与字节码或二进制重写方法相比有何差异?
  • RQ4dex2oat 编译器及其优化后端的内部工作原理和关键特性是什么?
  • RQ5基于编译器的污点追踪在流追踪、SDK 交互和跨应用通信方面存在哪些局限性?

主要发现

  • 作者首次对 dex2oat 编译器套件及其优化后端进行了全面分析,填补了 Android 安全研究中的关键知识空白。
  • ARTist 在 Android 6+ 上成功重新实现了动态应用内污点追踪,在 DroidBench 回调中取得了 93% 的成功率,66 个测试用例整体成功率为 81.8%。
  • 原型系统表明,基于编译器的仪器化保留了应用的原始签名,并与 Android 的更新机制和安全机制保持兼容。
  • 由于能够访问高级程序结构和优化基础设施,ARTist 在稳健性、精度和集成度方面优于字节码和二进制重写方法。
  • 局限性包括对隐式流的追踪不完整、跨 SDK 方法的污点传播不够精确,以及缺乏跨应用追踪能力,这些需在未来进行扩展。
  • 对核心镜像(预编译框架)进行仪器化是未来提升跨系统边界污点传播能力的有前景方向。

更好的研究,从现在开始

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

无需绑定信用卡

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