首页> 外文会议>IEEE/IFIP International Conference on Dependable Systems and Networks >When Program Analysis Meets Bytecode Search: Targeted and Efficient Inter-procedural Analysis of Modern Android Apps in BackDroid
【24h】

When Program Analysis Meets Bytecode Search: Targeted and Efficient Inter-procedural Analysis of Modern Android Apps in BackDroid

机译:当程序分析符合Bytecode搜索时:在BackDroid中的现代Android应用程序的目标和高效的间流程分析

获取原文

摘要

Widely-used Android static program analysis tools, e.g., Amandroid and FlowDroid, perform the whole-app inter-procedural analysis that is comprehensive but fundamentally difficult to handle modern (large) apps. The average app size has increased three to four times over five years. In this paper, we explore a new paradigm of targeted inter-procedural analysis that can skip irrelevant code and focus only on the flows of security-sensitive sink APIs. To this end, we propose a technique called on-the-fly bytecode search, which searches the disassembled app bytecode text just in time when a caller needs to be located. In this way, it guides targeted (and backward) inter-procedural analysis step by step until reaching entry points, without relying on a whole-app graph. Such search-based inter-procedural analysis, however, is challenging due to Java polymorphism, callbacks, asynchronous flows, static initializers, and inter-component communication in Android apps. We overcome these unique obstacles in our context by proposing a set of bytecode search mechanisms that utilize flexible searches and forward object taint analysis. Atop this new inter-procedural analysis, we further adjust the traditional backward slicing and forward constant propagation to provide the complete dataflow tracking of sink API calls. We have implemented a prototype called BackDroid and compared it with Amandroid in analyzing 3,178 modern popular apps for crypto and SSL misconfigurations. The evaluation shows that for such sink-based problems, BackDroid is 37 times faster (2.13v.s. 78.15 minutes) and has no timed-out failure (v.s. 35% in Amandroid) while maintaining close or even better detection effectiveness.
机译:广泛使用的Android静态程序分析工具,例如,Amandroid和流动性,执行全面应用程序间分析,这是全面但从根本上难以处理现代(大)应用程序。平均应用程序规模超过五年增加了三到四倍。在本文中,我们探讨了针对性过程间分析的新范式,可以跳过无关的代码并仅关注安全敏感的沉降API的流量。为此,我们提出了一种呼叫的技术,即在----fly的字节码搜索中,它在需要定位呼叫者时在拆卸的应用程序复码文本中搜索。以这种方式,它引导目标(和向后)程序间分析一步一步一步,直到到达入口点,而不依赖于整个应用图。然而,这种基于搜索的过程间分析是由于Java多态性,回调,异步流,静态初始化器和Android应用程序间组成间通信的挑战。我们通过提出利用灵活搜索和转发对象Taint分析的一组字节码搜索机制来克服这些独特的障碍。在这个新的过程间分析中,我们进一步调整了传统的后向切片和前进常量传播,提供了完整的DataFlow跟踪ins API呼叫。我们已经实施了一个称为Backdroid的原型,并将其与Amandroid进行比较,分析3,178个近期流行的加密应用程序,以获得Crypto和SSL MIRCONFURATIONS。评估表明,对于基于水池的问题,反散则力速度快37倍(2.13V.78.15分钟),并且在保持密切甚至更好的检测效果的同时,没有超时失效(V.S.35%)。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号