Top Banner
AN EVIDENCE- BASED ANDROID CACHE FORENSICS MODEL Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini
46

Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

Dec 22, 2015

Download

Documents

Karen Houston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

AN EVIDENCE-BASED ANDROID CACHE FORENSICS MODELFelix Jeyareuben Chandrakumar

Supervisor: Dr Kim-Kwang Raymond Choo

Associate Supervisor: Ben Martini

Page 2: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

INTRODUCTION

Page 3: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ANDROID

Most popular and widely used mobile operating system with more than 1.2 million Android Apps (AppBrain 2014).

Android caches understudied research topic – focus of thesis.

Research questions:

1. What is the process or methodology that must be followed to forensically analyze Android caches?

2. How can we make use of a forensically sound process to build new tools and utilities to analyze unknown and undocumented cache file formats?

Page 4: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

LITERATURE REVIEW

Page 5: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ANDROID ARCHITECTURE

Android Architecture (Adapted from Gandhewar and Sheikh 2011)

Page 6: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ANDROID PARTITIONS

/boot - which enables the mobile to boot

/system - which contains the Android Operating System

/recovery - for the purpose of recovery console

/data - which contains the user data

/cache - where frequently used data and app components are stored and

/misc - where miscellaneous system settings are stored

Page 7: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FORENSIC MODELS – POLLITT’S MODEL Acquisition

Identification

Evaluation and

Admission as evidence

It is one of the earliest digital forensic models

Page 8: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FORENSIC MODELS - MCKEMMISH

Model of Forensic Computing (Adapted from McKemmish 1999)

Page 9: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FORENSIC MODELS – PALMER

Palmer's Model (Adapted from Palmer 2001)

Page 10: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FORENSIC MODELS – BARYAMUREEBA & TUSHABE’S MODEL

Enhanced Digital Investigation Process (Adapted from Baryamureeba & Tushabe 2004)

Page 11: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

LITERATURE GAPS

Cache Diversity. E.g,. Volley, Android Cache Library, Ignition, FileCache, Picasso, etc.

Undocumented Caches.

Lack of Analysis Tools

Rapid Changes. Roughly every 4 months, the Android API level increases

Page 12: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

CONCEPTUAL ANDROID CACHE FORENSIC PROCESS

Page 13: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

PROPOSED ANDROID CACHE TAXONOMY

Page 14: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

CONCEPTUAL ANDROID CACHE FORENSIC PROCESS

Extending Mckemmish’s (1999) Model

Page 15: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

WHY EXTEND MCKEMMISH MODEL? Most of the gaps we have noted are technical barriers.

McKemmish’s model continues to be broadly applicable to Android cache forensics but the technologies used in various elements varies greatly.

This causes an imbalance in the four elements of McKemmish model from an effort and volume of that element as a result of technological advancement.

Page 16: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

A CASE STUDY

The Experiment

Page 17: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

EXPERIMENT

Applications that are widely used i.e. which has at least 1 million downloads or if the application is from a significant brand or company, are considered.

Nearly 100 apps were identified and analyzed for caches. Out of these 100 apps, 11 apps are selected and studied in detail based on the usage of caches that are common across other apps.

Page 18: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

LIST OF APPS STUDIED IN DETAIL

 

App Name

Different caches used by the same App

Web View Cache

SQLite DB Cache

Volley Serialized Java Objects

Network File Caches

Custom Cache

Adobe Reader Yes Yes

Amazon Kindle Yes

Carsales Yes Yes

Domain Real Estate Yes Yes - JSON Cache

eBay Yes Yes Yes - Image Cache, Gzipped XML Cache

Facebook Yes Yes - Image, Audio and Upload Caches

LinkedIn Yes

NAB Yes

Realestate.com.au Yes Yes Yes - JSON Cache

Skype Yes Yes

YouTube Yes

Page 19: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ASSUMPTIONS

Android mobile phone is rooted

Developer mode enabled

USB debugging is enabled

Internal storage is not encrypted

Page 20: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

HARDWARE USED

Mobile: Samsung Galaxy Note N7000

Android Version: 4.1.2 Jelly Bean

Chipset: Exynos

CPU: Dual-core 1.4 GHz ARM Cortex-A9

GPU: Mali-400

Memory Internal: 16 GB storage, 1 GB RAM

Memory Card: microSD, up to 64 GB, 2 GB included

Page 21: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ACQUISITION USING DD

Connect the Android device to the computer using ADB (Android Debugging Bridge)

D:\ADT\sdk\platform-tools>adb devices

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached

xxxxxxxxxxxxxx device

Page 22: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ACQUISITION USING DD

Go to super-user mode

shell@Android:/ $ su

su

root@Android:/ #

Page 23: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ACQUISITION USING DD

List the mounted partitions

root@Android:/ # mount

mount

rootfs / rootfs ro,relatime 0 0

:

/dev/block/mmcblk0p7 /cache ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered 0 0

/dev/block/mmcblk0p10 /data ext4 rw,nosuid,nodev,noatime,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0

:

Page 24: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ACQUISITION USING DD

Unmount the partitions

root@Android:/ # umount /cache

umount /cache

root@Android:/ # umount /data

umount /data

failed: Device or resource busy

Note: “Device or resource busy”, does not cause any drawback in our process because, live acquisition in forensics is always done on an unmounted partition which is a standard procedure

Page 25: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ACQUISITION USING DD

Take image of the partitions

root@Android:/ # dd if=/dev/block/mmcblk0p7 bs=64K | gzip -c > /sdcard/cache.img.gz

4K | gzip -c > /sdcard/cache.img.gz <

3276800+0 records in

3276800+0 records out

209715200 bytes transferred in 60.809 secs (3448752 bytes/sec)

root@Android:/ # dd if=/dev/block/mmcblk0p10 bs=64K | gzip -c > /sdcard/data.img.gz

64K | gzip -c > /sdcard/data.img.gz <

33554432+0 records in

33554432+0 records out

2147483648 bytes transferred in 821.632 secs (2613680 bytes/sec)

Page 26: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FINDINGS – CACHE ANALYSIS Several cache structures decoded.

cache_r.0 cache_bd.0 WebView Component Caches SQLite DB Caches Image Caches Android Gallery Caches YouTube Caches Least Recently Used Disk Cache Etc.

Page 27: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

EXAMPLE – YOUTUBE CACHE

In the above example, 0x000001442571F983 corresponds to

Wed, 12 Feb 2014 09:33:50 GMT.

Page 28: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

EXAMPLE – ANDROID GALLERY

Length Offset Example Description4 0   Magic number: 0xB32730304 4   Max number of hash entries per

region.4 8   Max number of data bytes per

region (including header).4 12   The active growing region: 0 or 1.4 16   The number of hash entries used in

the active region.4 20   The number of data bytes used in

the active region.4 24   Version number.4 28   Checksum of bytes from 0 to 28.u = (12 * Maximum Entries bytes).

32   Hash entries for region 0. The size is u

v = (12 * Maximum Entries bytes).

32+u   Hash entries for region 1. The size is also u.

Index file of Android Gallery

Page 29: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

EXAMPLE – ANDROID GALLERY (CONT..)

Data file of Android Gallery

Length Offset Example Description4 0   Magic number (Header:

0xBD248510Data (Data is present as a blob and concatenated)8 0   Key4 8   Chksum4 12   Offset4, u=length 16   LengthU (value of offset 16)

20   Actual Data (or) Blob

Page 30: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

ANDROID CACHE VIEWER PROTOTYPE Built using C# and requires Microsoft .Net 4.0

Supports Generic Cache (cache_r.0, cache_bd.0) WebViewComponent Cache SQLite DB cache Image gallery cache Serialized Object cache and DiskLruCache format

It runs and been tested on Windows XP, Vista/7 and Windows 8/8.1.

Page 31: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - CACHE_R.0

Page 32: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - CACHE_R.0 DATA

Page 33: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - WEBVIEW CACHE INDEX

Page 34: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - WEBVIEW CACHE DATA

Page 35: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - WEBVIEW CACHE EXTERNAL DATA

Page 36: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - YOUTUBE CACHE

Page 37: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - ANDROID IMAGE GALLERY

Page 38: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - SQLITE DB CACHE

Page 39: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

SCREENSHOTS - UNKNOWN CACHE

Page 40: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

OPEN SOURCE

The source code for Android Cache Viewer is uploaded to GitHub (https://github.com/fcidau/Android-Cache-Viewer)

Released under MIT License

Page 41: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

CONCLUSION & FUTURE WORK

Page 42: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

CONCLUSION

In the thesis, we identified literature gaps and limitations in using existing forensic models when examining Android caches.

To assist forensic researchers and practitioners in examining the wide range of caches used by various Android Apps, a taxonomy for Android caches and the conceptual Android Cache Forensics Model were proposed

More than 100 popular apps tested. 11 apps appear to be using some form of cache and they were studied in detail.

Previously unknown cache formats were decoded and several undocumented cache formats used commonly by Android apps were documented

Based on the findings, Android Cache Viewer, an open source prototype tool was developed, to decode Android cache formats.

Page 43: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

FUTURE WORK

Much work in this area remains to be done. Potential extensions of this thesis are as follows:

Adding additional plugins for other undocumented cache file structures

Adding new cache formats as new formats are introduced.

Making each plugin as independently loadable modules.

Page 44: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

REFERENCE LIST

Gandhewar, N & Sheikh, R 2011, 'Google Android: An Emerging Software Platform For Mobile Devices', International Journal on Computer Science & Engineering.

Pollitt, M 1995, 'Computer forensics: An approach to evidence in cyberspace', Proceedings of the National Information Systems Security Conference, pp. 487-491.

McKemmish, R 1999, What is forensic computing?, Australian Institute of Criminology,

Palmer, G 2001, 'A road map for digital forensic research', First Digital Forensic Research Workshop, Utica, New York, pp. 27-30.

Baryamureeba, V & Tushabe, F 2004, 'The enhanced digital investigation process model', Proceedings of the Fourth Digital Forensic Research Workshop, Citeseer.

Page 45: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

REFERENCE LIST (CONT..)

AppBrain 2014, Number of Android applications, appbrain.com, viewed 16-May-2014, <http://www.appbrain.com/stats/number-of-android-apps>.

Page 46: Felix Jeyareuben Chandrakumar Supervisor: Dr Kim-Kwang Raymond Choo Associate Supervisor: Ben Martini.

QUESTIONS & ANSWERS