Top Banner
DARE ‘DEVIL’ beyond your senses with Dex Visualizer Jun Yong Park – VB2015
33

Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Sep 26, 2018

Download

Documents

vuongque
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: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

DARE ‘DEVIL’beyond your senses with Dex Visualizer

Jun Yong Park – VB2015

Page 2: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

whoami

Senior Principal Researcher / Architect

[email protected]

Security researcher @AhnLab since 2004

in recent years enjoy reversing and visualizing

Android malware

Page 3: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Agenda

Motivations

App lifecycle [graph]

DEVIL

How-to

App lifecycling

Case studies

Conclusion

Page 4: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

See the wood for the trees

Page 5: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Every Android app has essential building blocks known as app components

Each component serves a dintint purpose and has a distinct lifecycle

Some interact each other, some depend on each other

These relationships between app components construct the lifecycle of an Android app

App Lifecycle

Page 6: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

App Lifecycle Graph

A lifecycle can be visualized by various well-known graph algorithm

The visualization of executables is one of the most effective ways to identify malware

Page 7: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Dare ‘DEVIL’Dex Visualizer

Page 8: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

DEVIL

DEVIL.py DEVIL.js

server client

INTER-OBJET RELATIONS

APK static analysis Graph visualization

Page 9: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

HOW-TOEP

Intent

Permission

App Component

Runnable Component

Import

String

Page 10: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Test/PNStealer

Page 11: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Entry Point (1/7)

sdafsdfsdf

Android-Test/PNStealer

First, only one abstract node, EP

Page 12: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Intent (2/7)

Android-Test/PNStealer

reading AndroidManifest.xml emulating bytecodes tracing the life of objects

Page 13: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Permission (3/7)

Android-Test/PNStealer

reading AndroidManifest.xml tracking down permission usages propagation algorithm

Page 14: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

App Component (4/7)

Android-Test/PNStealer

reading AndroidManifest.xml classes inheriting Activity, Service, ContentProviders

and BroadcastReceiver

Page 15: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Runnable Component (5/7)

Android-Test/PNStealer

classes inheriting Thread, Runnable and AsycTask

Page 16: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Import (6/7)

Android-Test/PNStealer

classes referenced by app components or imports

Page 17: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

String (7/7)

Android-Test/PNStealer

such as URL, email or text containing keywords

Page 18: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

A Complete Graph

Page 19: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

APP LIFECYCLING

Page 20: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

App Lifecycling

Traversing all outgoing nodes from one node on the app lifecycle graph recursively, typically from EP

useful for investigating the behaviours of an Android app

effective for identifying a distinct behaviour

well suited to detecting the suspicious behaviours of Android malware

Page 21: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

CASE STUDIESNarut / KorTalk / Bankun / Dendroid / SMSMonitor

Page 22: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/Narut

Page 23: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/KorTalk

Page 24: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/KorTalk

Page 25: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/KorTalk

Page 26: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/KorTalk

Page 27: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/Bankun

Page 28: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Trojan/Dendroid

Page 29: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Inner Class

Page 30: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

BounceBall Android-Backdoor/SMSMonitor

inner classesRepackaging

Page 31: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Repackaging

Page 32: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Conclusions

The relationships between app components construct the App Lifecycle, and can effectively be visualized in a graph

The App Lifecycle Graph is well suited to analyze how an Android app operates

The App Lifecycling traverses all outging nodes from one node on the app lifecycle graph recursively

is so effective in identifying the distinct behaviours that it can be used to detect the malicious behaviour

Page 33: Android App Lifecycling - Virus Bulletin · DEVIL How-to App lifecycling Case studies Conclusion. ... Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/KorTalk. Trojan/Bankun.

Thank [email protected]