Dismantling droids for breakfast - The current state of app reverse - - PowerPoint PPT Presentation

dismantling droids for breakfast the current state of app
SMART_READER_LITE
LIVE PREVIEW

Dismantling droids for breakfast - The current state of app reverse - - PowerPoint PPT Presentation

Dismantling droids for breakfast - The current state of app reverse engineering Siegfried Rasthofer SECURE SOFTWARE ENGINEERING GROUP #whoami 3rd year PhD-Student at Secure Software Engineering Group Darmstadt, Germany (Prof. Dr.


slide-1
SLIDE 1

SOFTWARE ENGINEERING

GROUP

SECURE

Dismantling droids for breakfast - The current state of app reverse engineering

Siegfried Rasthofer

slide-2
SLIDE 2

SOFTWARE ENGINEERING

GROUP

SECURE

#whoami

2

  • 3rd year PhD-Student at Secure Software 


Engineering Group Darmstadt, Germany 
 (Prof. Dr. Eric Bodden)

  • Research interest:
  • Applied software security on Android
  • Static-/dynamic code analyses
  • Android Security:
  • Found 2 AOSP exploits
  • Security Analysis of Backend-as-a-Service
  • Korea Threat investigation together with McAfee

Research Lab

slide-3
SLIDE 3

SOFTWARE ENGINEERING

GROUP

SECURE

3

slide-4
SLIDE 4

SOFTWARE ENGINEERING

GROUP

SECURE

4

How easy is it to dismantle your app?

slide-5
SLIDE 5

SOFTWARE ENGINEERING

GROUP

SECURE

5

How to secure my app against piracy

I am developing an android app and I am planning to publish it (paid app). I have heard that it is very easy to pirate Android apps (much easier than iphone). I was wondering from your experience or what you know, how can increase the security of my app? I know that I can never get it 100% secured but I want to make it harder for people to pirate it or distribute it illegaly Any ideas, experiences, comments you can share? That will be greatly appreciated Best regards

Source: stackoverflow.com

slide-6
SLIDE 6

SOFTWARE ENGINEERING

GROUP

SECURE

6

Is it still easy to dismantle your app?

slide-7
SLIDE 7

SOFTWARE ENGINEERING

GROUP

SECURE

A new Binary Analysis Framework for Android and Java Bytecode

7

slide-8
SLIDE 8

SOFTWARE ENGINEERING

GROUP

SECURE

8

vs

slide-9
SLIDE 9

SOFTWARE ENGINEERING

GROUP

SECURE

9

Soot

slide-10
SLIDE 10

SOFTWARE ENGINEERING

GROUP

SECURE

10

Soot

Input/Output .dex .java .jimple .apk .class

  • Various callgraph algorithms
  • Sophisticated algorithms used in compiler

construction

  • Code manipulation

Soot

https://github.com/Sable/soot/wiki

slide-11
SLIDE 11

SOFTWARE ENGINEERING

GROUP

SECURE

11

Soot Jimple

slide-12
SLIDE 12

SOFTWARE ENGINEERING

GROUP

SECURE

12

public static boolean UsbAutoRunAttack(android.content.Context $param0) { java.lang.String $String; $String = <smart.apps.droidcleaner.Tools: java.lang.String urlServer>; ... staticinvoke <smart.apps.droidcleaner.Tools: boolean DownloadFile(java.lang.String, java.lang.String, java.lang.String, java.lang.String, android.content.Context)> ($String, "autorun.inf", "ftpupper", "thisisshit007", $param0); return true; }

Declarations Code Return-Statement

Jimple Soot

slide-13
SLIDE 13

SOFTWARE ENGINEERING

GROUP

SECURE

13

Soot Jimple CodeInspect

slide-14
SLIDE 14

SOFTWARE ENGINEERING

GROUP

SECURE

14

CodeInspect

Jimple Code Readable Files Code Refactoring Debugger Java Source Enhancement Syntax Highlighting Code Manipulation Dataflow Visualizer Deobfuscator “Region“ Detection

Jimple Soot

slide-15
SLIDE 15

SOFTWARE ENGINEERING

GROUP

SECURE

Let’s get started…

15

  • 1. Import APK
  • 2. Start Device
slide-16
SLIDE 16

SOFTWARE ENGINEERING

GROUP

SECURE

16

infected >20,000 user

slide-17
SLIDE 17

SOFTWARE ENGINEERING

GROUP

SECURE

17

Android/BadAccents

Banking Trojan Activation Component SMS HTTP E-Mail Intercept SMS Intercept Call Install Fake AV Uninstall AV File System Native Code User Waiting Time Send SMS Tapjacking Attack Banking Trojan Activation Component SMS HTTP E-Mail Intercept SMS Intercept Call Install Fake AV Uninstall AV File System Native Code User Waiting Time Send SMS Tapjacking Attack

slide-18
SLIDE 18

SOFTWARE ENGINEERING

GROUP

SECURE

Live-Demo

18

slide-19
SLIDE 19

SOFTWARE ENGINEERING

GROUP

SECURE

Future Steps

19

  • New Plugins under development
  • Easily add own analyses
slide-20
SLIDE 20

SOFTWARE ENGINEERING

GROUP

SECURE

How do I get this tool?

20

slide-21
SLIDE 21

SOFTWARE ENGINEERING

GROUP

SECURE

21

slide-22
SLIDE 22

SOFTWARE ENGINEERING

GROUP

SECURE

Siegfried Rasthofer Secure Software Engineering Group Email: siegfried.rasthofer@cased.de Blog: http://sse-blog.ec-spride.de Website: http://sse.ec-spride.de Twitter: @CodeInspect

22