Fine-grained Dynamic Analysis and Scalable Static Analysis for Android Applications

Objectives

  • To propose a fine-grained tracing technique for dynamic analysis of Android applications on real handsets.
  • To propose a fine-grained dynamic monitor at application level on non-rooted Android devices without framework modification to detect execution of third-party Android applications.
  • To propose scalable and efficient static analysis of modern Android applications.
     

Existing Solutions and Their Limitations

  • API-and system-call-hooking techniques are coarse grained and emulator based and do not work on real handsets without framework modification.
  • Prior side-channel-based dynamic monitors no longer work on the latest version of Android.
  • Amandriod and FlowDroid require whole-app analysis and do not scale with increased size of modern Android applications.
     

Outcome and Deliverables

  • A modified Android ROM that is capable of performing fine-grained tracing of DEX and native code of Android applications and deployable on real handsets.
  • A normal Android third-party application that is capable of detecting the execution of specific code pieces of other applications.
  • A static analysis framework performing sink-based analysis with significant speedup compared to AManDroid.
     

Practical Applications and Impact

  • The fine-grained tracing framework on real handsets enables dynamic analysis at instruction level in lab testing environment.
  • The side-channel-based monitor allows monitoring of Android applications in a crowd sourcing environment with large-scale deployment.
  • The static analysis framework enables real-time vetting of Android applications by Android applications markets.
    Fine-grained Dynamic

 

SUBSCRIBE TO OUR NEWSLETTER

Keep up to date with what's happening at the Singapore Management University

Newsletter checkboxes