X U ETAO WEI LOREN Z O GOM EZ
PROFESSOR I U LI AN N EAM T I U PROFESSOR M I CH ALI S FALOU T SOS
U N I V ERSI T Y OF CALI FORN I A, RI V ERSI DE
PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS X U - - PowerPoint PPT Presentation
PROFILEDROID: MULTI-LAYER PROFILING OF ANDROID APPLICATIONS X U ETAO WEI LOREN Z O GOM EZ PROFESSOR I U LI AN N EAM T I U PROFESSOR M I CH ALI S FALOU T SOS U N I V ERSI T Y OF CALI FORN I A, RI V ERSI DE WE DEPEND ON SMARTPHONES MORE AND
X U ETAO WEI LOREN Z O GOM EZ
PROFESSOR I U LI AN N EAM T I U PROFESSOR M I CH ALI S FALOU T SOS
U N I V ERSI T Y OF CALI FORN I A, RI V ERSI DE
US Army CSDA initiative
(Connecting Soldiers to Digital Applications) to replace handheld radio + BLUE FORCE tracker + portable GPS + video feed ROVER
source:defenseindustrydaily.com
“FDA approves Mobisante’s smartphone ultrasound app”
[Feb 2011]
source:mobilehealthnews.com
Operating system share of smartphone sales (US) 850,000 Android phones activated every day
[Google letter to investors, April 2012]
source:washingtonpost.com
Will this app leak my photos? Will this app drain my battery? Will this app tell my friends that I’m a moron?
Which radio is best for me?
FIRST STEP TO MAINTAINING THE JUNGLE
Provide a low-cost method to profile the behavior of an app Given a few short executions:
Application developers
End users
Written in Java, compiled into Dalvik VM bytecode Packaged as name.apk
Permission model
Permissions alone aren’t enough to describe app behavior
Android Device Monitoring
Android Debugging Bridge
Profiling Desktop/laptop
Multi-level profiling based on static and dynamic application analysis
MONITORING AND ANALYSIS WITH PROFILEDROID
PROFILING FRAMEWORK: MONITORING Capture 3 user traces, 5 minutes per app
Trace File
Trace File Trace File
Playback original trace and collect logs
Logs
Trace File
Playback
PROFILING FRAMEWORK: MONITORING
PROFILING FRAMEWORK: MONITORING
Repeat playback 10 times per user Logs
Trace File
Logs
Total of 30 runs of each app to build profile
(5 in morning and 5 at night, per app)
Android software stack Linux Kernel Libraries, Android Runtime Application Framework Application Static User OS Network
Logs What metrics can be used to capture app behavior?
Category App Social Facebook Games Angry Birds, Angry Birds$$ Music & Audio Pandora, Shazam, Shazam$$ Media & Video Youtube Shopping Amazon Travel Gasbuddy Health & Fitness Instant Heart Rate, Instant Heart Rate$$ Communication Dolphin browser Sports ESPN Reference Dictionary.com, Dictionary.com$$ total 27 apps: 19 free , 8 paid Wide range of apps, spanning many categories Popular apps with >1,000,000 installs
Source: manifest & bytecode decompilation
without permission via deputy apps Linux Kernel Libraries, Android Runtime Application Framework Application Static User OS Network
App Internet GPS Camera Mic Bluetooth Telephony Facebook p p i* p Dictionary.com p i i Instant Heart Rate p p i i Shazam p p p Total (out of 27) 27 9 6 4 3 5 p = use via permissions i = use via intents (deputy apps) *for version originally tested March 2012
Source: logcat, /dev/input/event
…
Linux Kernel Libraries, Android Runtime Application Framework Application Static User OS Network
Source: strace
idling, IPC Linux Kernel Libraries, Android Runtime Application Framework Application Static User OS Network
App Intensity (syscalls/sec) Filesystem (%) Network (%) VM & IPC (%) Misc (%)
Tiny Flashlight 436 1 1 77 21 Facebook 1,031 4 3 72 21 Amazon 693 1 6 77 16 InstHeartRate 944 8 2 75 15
Source: tcpdump (packets and content) App traffic
Linux Kernel Libraries, Android Runtime Application Framework Application Static User OS Network
App Intensity (bytes/ sec) In/out ratio Origin (%) CDN+ Cloud (%) Google (%) 3rd party (%) HTTP/ HTTPS split (%)
Tiny Flashlight 134 2.49
AdvTaskKiller 26 0.94
AdvTaskKiller$$
4,606 1.45 68 32
Amazon 7,758 8.17 95 5
InstHeartRate 575 2.39
86 10 86/14 InstHeartRate$$ 6 0.31
90 1 20/80
High usage Medium usage Low usage
Free apps are not as free as we might think
Bad for your dataplan, your battery life, and your privacy VM-based isolation comes at a cost
Apps talk to many servers spread across many top-level domains
Most network traffic is not encrypted Google traffic is predominant