DroidScope:
Seamlessly Reconstructing the OS and Dalvik Semantic Views for Dynamic Android Malware Analysis Lok Yan Heng Yin August 10, 2012
1
DroidScope: Seamlessly Reconstructing the OS and Dalvik Semantic - - PowerPoint PPT Presentation
DroidScope: Seamlessly Reconstructing the OS and Dalvik Semantic Views for Dynamic Android Malware Analysis Lok Yan Heng Yin August 10, 2012 1 Android Java Components System Services Native Components Apps 2 Android Java Components
1
2
Java Components Native Components System Services Apps
3
Java Components Native Components System Services Apps
Dalvik/Java Static Analysis: ded, Dexpler, soot, Woodpecker, DroidMoss
4
Native Static Analysis: IDA, binutils, BAP
Android Analysis: TaintDroid, DroidRanger
5
System Calls logcat, adb
6
7
8
9
10
11
12
13
14
15
16
Update PC Translate Execute inCache? yes no (un)registerCallback needFlush? flushType invalidateBlock(s) flushCache yes
17
18
4.
8.
10.
18.
getModAddr(“dfk@classes.dex”, &startAddr, &endAddr);
– System calls
– Native library calls – Java API calls
– Taints ARM instructions – One bit per byte – Data movement & Arithmetic instructions including barrel shifter – Does not support control flow tainting
19
20
21
– AnTuTu Benchmark – (ABenchMark) by AnTuTu – CaffeineMark by Ravi Reddy – CF-Bench by Chainfire – Mobile processor benchmark (Multicore) by Andrei Karpushonak – Benchmark by Softweg – Linpack by GreeneComputing
– Baseline – NO-JIT Baseline – uses a build with JIT disabled at runtime – Context Only – API Tracer – Dalvik Instruction Trace – Taint Tracker
22
23
Results are not perfect APITracer vs. NOJIT Dynamic Symbol Retrieval Overhead
24
25
26
27
28
29
30
– ded, Dexpler, soot – Woodpecker, DroidMoss
– TaintDroid – DroidRanger – PIN, Valgrind, DynamoRIO – Anubis, TEMU, Ether, PinOS
– Virtuoso – VMWatcher
31
32
33