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

Upload: others

Post on 27-May-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

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.