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.
SUBSCRIBE TO OUR NEWSLETTER
Keep up to date with what's happening at the Singapore Management University