APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup...

24
APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012

Transcript of APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup...

Page 1: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

APKInspector -Static Analysis of Android Applications

Student: Yuan Tian

Mentor: Cong Zheng

Backup Mentor: Anthony

 Kara Jianwei 

08/22/2012

Page 2: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

• Background of Android Security• APKInspecctor

- Overview

- Features

- Demo

Introduction

Page 3: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Background

Page 4: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Android Security Scheme

• Linux process sandbox

• Permission based component interaction

• Permission labels defined in

AndroidManifest.xml

• Applications need to be signed

• Install time security decisions

Page 5: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Permissions

• Normal

android.permission.VIBRATE

com.android.alarm.permission.SET_ALARM

• Dangerous

android.permission.SEND_SMS

android.permission.CALL_PHONE

• Signature

android.permission.FORCE_STOP_PACKAGES

android.permission.INJECT_EVENTS

• SignatureOrSystem

android.permission.ACCESS_USB

android.permission.SET_TIME

Page 6: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Component Interaction

• Intents : IPC• Android Manifest.xml: Application’s policy

file• Component

• Activity: Define screens

• Service: Background processing

• Broadcast Receiver: Mailbox for messages from other applications

• Content Provider: Relational database for sharing information

Page 7: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Application Signature

• Applications are self-signed; no CA required

• Signature define persistence– Detect if the application has changed – Application update

• Signatures define authorship– Establish trust between applications – Run in same Linux ID

Page 8: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Malware Type

Abuse of Telephony Services

Root Exploitation

Sensitive Information Exposure

Package Repacking

Update attack

Page 9: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Analysis Techniques• Ded• smali/baksmali• Apktool• androguard

Page 10: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

APKInspector Overview

• Integrate the previous static analysis tools and provides graphic features which bring convenience to the malware analysis

• Features:• CFG • Call Graph• Static Instrumentation• Permission Analysis• Dalvik codes• Smali codes• Java codes • APK Information

Page 11: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Improved Features

• Improvement of UI

• Adding of more features to assist the analysis of malware

• Bug Fix

Easy to use

Powerful Analysis

Flexible

Page 12: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

UI Improvement• Automatically installation• Fine-grained Graph View to Source

View• Call Graph• Navigation• Better display of Control Flow Graph

Page 13: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

New Analysis Features• Reverse the Code with Ded for Java A

nalysis• Static Instrumentation• Combine Permission Analysis• Add Support for odex

Page 14: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Bug Fix

Page 15: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Installation with Shell Script• Analysis of APK

Page 16: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Filter of Malicious behavior by permission analysis

Page 17: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Smali code

Page 18: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Static Code Instrumentation

Page 19: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Dalvik Bytecode

Page 20: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Control Flow Graph

Page 21: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Java

Page 22: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Usage of APKInspector

• Navigation

Back & Forward

Current Method displayed

Page 23: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

• Call Graph

Usage of APKInspector

Page 24: APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.

Q&A

Thanks!

[email protected]