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

  • Daoyuan WU
  • , Debin GAO
  • , Robert H. DENG
  • , Rocky K.C. CHANG

Research output: Book Chapters | Papers in Conference ProceedingsConference paper (refereed)Researchpeer-review

14 Citations (Scopus)

Abstract

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.

Original languageEnglish
Title of host publication2021 51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN 2021)
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages543-554
Number of pages12
ISBN (Electronic)9781665435727
DOIs
Publication statusPublished - Sept 2021
Externally publishedYes
Event51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks - Taipei, Taiwan, China
Duration: 21 Jun 202124 Jun 2021

Conference

Conference51st Annual IEEE/IFIP International Conference on Dependable Systems and Networks
Abbreviated titleDSN 2021
Country/TerritoryTaiwan, China
CityTaipei
Period21/06/2124/06/21

Bibliographical note

Acknowledgement:
We would like to thank our shepherd, Katinka Wolter, and all the reviewers for their valuable comments and suggestions.

Publisher Copyright:
© 2021 IEEE.

Funding

This research/project is partially supported by the Singapore National Research Foundation under the National Satellite of Excellence in Mobile Systems Security and Cloud Security (NRF2018NCR-NSOE004-0001).

Fingerprint

Dive into the research topics of 'When Program Analysis Meets Bytecode Search: Targeted and Efficient Inter-procedural Analysis of Modern Android Apps in BackDroid'. Together they form a unique fingerprint.

Cite this