CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System...

24
CopperDroid: Automatic Reconstruction of Android Malware Behaviors Kimberly Tam, Salahuddin J. Khan, Aristide Fattori, Lorenzo Cavallaro Systems Security Research Lab and Information Security Group Royal Holloway University of London

Transcript of CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System...

Page 1: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid: Automatic Reconstruction of Android Malware Behaviors

Kimberly Tam, Salahuddin J. Khan,

Aristide Fattori, Lorenzo Cavallaro

Systems Security Research Lab and Information Security Group

Royal Holloway University of London

Page 2: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Author

Both are doctoral students

Page 3: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Conference: NDSS 2015

• The 2015 Network and Distributed System Security Symposium (NDSS)

• 08-11 February 2015 in San Diego, California.

• CCF Network and Information securityClass-B conference

Page 4: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid

• Meaning of Copper• Close Source• Donation from Intel Security (McAfee Labs)

Page 5: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid

Page 6: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid

Page 7: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Introduction

• Traditional system call analysis misses high-level Android-specific semantics.

• Fail to reconstruct inter-process communications (IPC) and remote procedure call(RPC).

• Automatically perform out-of-the-box(VMI-based) dynamic analysis and reconstruct the behaviors of Android malware.

• Dalvik VM and ART (Android 5.0), x86 and ARM.

Page 8: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Introduction

• Real Value: Recreates complex Android Object to enrich the semantics of the reconstructed OS- and Android-specific behaviors.

• Three Contributions• Automatic IPC unmarshalling

• Value-based Data Flow Analysis

• Behavioral Reconstruction (Combine system call and Binder)

Page 9: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Background: Android System

• Sandbox for each application

• Every APK can be decomposed into one or more components (Activity, Service, Broadcast Receiver…)

• Binder, IPC, RPC

• Android Interface Definition Language (AIDL)

Page 10: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid Architecture

Page 11: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

CopperDroid Overall Architecture

Page 12: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Automatic IPC Unmarshalling

• Unmarshalling Oracle

• A Java Application

• Input• Binder method signature

• Marshalled parcel blob

• Output• Custom representation of the method

• All parameter values

• First approach to carry out a detailed analysis of such communication channels.

Page 13: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Automatic IPC Unmarshalling

Page 14: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Automatic IPC Unmarshalling

Page 15: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Automatic IPC Unmarshalling

Page 16: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Automatic IPC Unmarshalling

• Unmarshalling Oracle return ↓ to analyser

• AIDL parser (interface parser)• Stub (client)

• Proxy (server)

• Unmarshalling Oracle implement

Page 17: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components
Page 18: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Observed Behaviors

Page 19: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

App Stimulation

• Some behaviors take place when receive a binder.

• Can’t take place from MainActivity.

• Read Manifest, injecting events such as phone calls and reception of SMS.

• Dynamic registering broadcast receiver at run-time can be detect.

Page 20: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

App Stimulation

Page 21: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Value-based Data Flow Analysis and Reconstruct Behaviors

Page 22: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Evaluation

Page 23: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components
Page 24: CopperDroid: Automatic Reconstruction of Android Malware ... · Background: Android System •Sandbox for each application •Every APK can be decomposed into one or more components

Conclusion

• CopperDroid, a VM-based dynamic system call-centric analysis and stimulation technique to both uniformly, and automatically, reconstruct behaviors of Android malware.

• Deserialized IPC and RPC interactions, is key to reconstruct both of OS- and Android-specific behaviors from system level observation point.

• Evaluate 2900 real world Android malware, showing the discovery of additional behaviors.