A Survey of Current Android ABacks Timothy Vidas Daniel - - PowerPoint PPT Presentation

a survey of current android abacks
SMART_READER_LITE
LIVE PREVIEW

A Survey of Current Android ABacks Timothy Vidas Daniel - - PowerPoint PPT Presentation

A Survey of Current Android ABacks Timothy Vidas Daniel Vo*pka Nicolas Chris=n ECE/CyLab INI/CyLab INI/CyLab Carnegie Mellon Carnegie Mellon Carnegie


slide-1
SLIDE 1

Timothy ¡Vidas ¡ ECE/CyLab ¡ Carnegie ¡Mellon ¡ University ¡ ¡ Daniel ¡Vo*pka ¡ INI/CyLab ¡ Carnegie ¡Mellon ¡ University ¡ ¡ Nicolas ¡Chris=n ¡ INI/CyLab ¡ Carnegie ¡Mellon ¡ University ¡ ¡

A ¡Survey ¡of ¡Current ¡Android ¡ABacks ¡

1 ¡

slide-2
SLIDE 2

Outline ¡

  • Introduc=on ¡
  • Android ¡Security ¡Model ¡
  • Security ¡Model ¡Analysis ¡
  • ABack ¡Taxonomy ¡
  • Possible ¡Mi=ga=ons ¡

2 ¡

slide-3
SLIDE 3

Introduc=on ¡

  • Adop=on ¡of ¡smartphones ¡has ¡increased ¡

– Nearly ¡50% ¡of ¡cell ¡phones ¡sold ¡are ¡smartphones ¡

  • Ubiquity ¡of ¡the ¡market ¡
  • Devices ¡are ¡faster, ¡more ¡connected, ¡and ¡

always ¡on ¡

  • Smartphones ¡hold ¡sensi=ve ¡user ¡informa=on ¡

– Banking ¡Informa=on ¡ – Current ¡Loca=on ¡

3 ¡

slide-4
SLIDE 4

Introduc=on ¡

  • Major ¡smartphones ¡use ¡a ¡managed ¡model ¡of ¡

service ¡

– Google ¡and ¡Carrier ¡control ¡administra=on ¡

  • Closer ¡to ¡corporate-­‑managed ¡devices ¡than ¡

personal ¡machines ¡

– Managers ¡control ¡security ¡instead ¡of ¡user ¡

4 ¡

slide-5
SLIDE 5

Android ¡Security ¡Model ¡

  • Android ¡was ¡designed ¡with ¡security ¡in ¡mind ¡
  • Sandboxes ¡applica=ons ¡

– Apps ¡can ¡only ¡access ¡their ¡own ¡data ¡ – Apps ¡divided ¡through ¡privilege ¡separa=on ¡

  • System ¡resources ¡accessed ¡through ¡

permissions ¡

5 ¡

slide-6
SLIDE 6

Permission ¡Model ¡

  • Applica=ons ¡require ¡explicit ¡permission ¡from ¡

users ¡at ¡install ¡=me ¡

  • Intended ¡to ¡prevent ¡unwanted ¡access ¡to ¡user ¡

data ¡

6 ¡

slide-7
SLIDE 7

Android ¡Market ¡

  • Un-­‑moderated ¡Market ¡
  • Users ¡flag ¡applica=ons ¡
  • Remote ¡Kill ¡

7 ¡

slide-8
SLIDE 8

Security ¡Model ¡Analysis ¡

8 ¡

slide-9
SLIDE 9

Android ¡Permissions ¡

  • Hard ¡for ¡user ¡to ¡understand ¡

– ACCESS_SURFACE_FLICKER ¡and ¡BIND_APPWIDGET ¡

  • Permissions ¡can ¡be ¡too ¡general ¡
  • Unexpected ¡consequences ¡

9 ¡

slide-10
SLIDE 10

RECEIVE_SMS ¡

  • Malicious ¡apps ¡can ¡take ¡advantage ¡of ¡

permissions ¡

10 ¡

slide-11
SLIDE 11

RECEIVE_SMS ¡

  • Malicious ¡apps ¡can ¡take ¡advantage ¡of ¡

permissions ¡

11 ¡

slide-12
SLIDE 12

Patch ¡Cycle ¡

Not ¡Android ¡Specific ¡ Android ¡Specific ¡ Vulnerability ¡ ¡ Discovered ¡ A ¡ Vulnerability ¡ ¡ Disclosed ¡ B ¡ Component ¡Patch ¡ Available ¡ C ¡ Google ¡Releases ¡ Patch ¡ D ¡ Manufacturer ¡Releases ¡ Patch ¡ E ¡ Carrier ¡Releases ¡ Patch ¡ F ¡ User ¡Applies ¡ Patch ¡ G ¡

12 ¡

Exploit ¡Window ¡

slide-13
SLIDE 13

Patch ¡Cycle ¡

OS ¡Version ¡ 2.2 ¡(Froyo) ¡ 5/10 ¡ 6/10 ¡ 7/10 ¡8/10 ¡ 9/10 ¡10/10 ¡11/10 ¡12/10 ¡1/11 ¡2/11 ¡ 3/11 ¡ 4/11 ¡ Time ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ X ¡ Google ¡ Motorola ¡Droid ¡ HTC ¡Evo ¡ Droid ¡X ¡ HTC ¡Legend ¡ myTouch ¡3G ¡ Samsung ¡Cap=vate ¡ Samsung ¡Fascinate ¡

13 ¡

slide-14
SLIDE 14

Patch ¡Cycle ¡

  • ABacks ¡stay ¡viable ¡longer ¡
  • ABackers ¡can ¡build ¡exploits ¡through ¡analysis ¡of ¡

early ¡upda=ng ¡devices ¡ ¡

14 ¡

slide-15
SLIDE 15

Trusted ¡USB ¡Connec=on ¡ ¡

  • Android ¡Debug ¡Bridge ¡(ADB) ¡developer ¡tool ¡

– Gives ¡access ¡to ¡interac=ve ¡shell ¡ – Allows ¡developer ¡to ¡push ¡applica=ons ¡directly ¡to ¡ the ¡device ¡

  • ADB ¡doesn’t ¡require ¡authen=ca=on ¡
  • ABacker ¡can ¡use ¡ADB ¡to ¡bypass ¡Android ¡

Market ¡

15 ¡

slide-16
SLIDE 16

Recovery ¡Mode ¡

  • Circumvents ¡standard ¡boot ¡par==on ¡
  • Allows ¡user ¡to ¡recover ¡from ¡“bricked” ¡phone ¡
  • ABacker ¡can ¡use ¡to ¡install ¡malicious ¡image ¡

16 ¡

slide-17
SLIDE 17

Uniform ¡Privilege ¡Separa=on ¡

  • Security ¡tools ¡typically ¡require ¡root ¡access ¡
  • Android ¡restricts ¡all ¡apps ¡the ¡same ¡

17 ¡

slide-18
SLIDE 18

ABack ¡Classes ¡

18 ¡

slide-19
SLIDE 19

Unprivileged ¡Access ¡

  • Operate ¡within ¡the ¡permission ¡system ¡ ¡

Foreground ¡ Background ¡ Current ¡Loca=on ¡ Spam ¡

19 ¡

slide-20
SLIDE 20

Unprivileged ¡Access ¡

  • pjapps ¡(aka ¡Andr) ¡
  • Geinimi ¡
  • FakePlayer ¡
  • DroidDream ¡
  • Bgserv ¡
  • Ggtracker ¡
  • Hipposms ¡
  • YZHCSMS ¡
  • HTCFakepatch ¡
  • GoldDream ¡
  • DroidKungFu ¡
  • DroidKungFu2 ¡
  • jSMSHider ¡
  • BaseBridge ¡
  • DroidDreamLight ¡
  • EndOfDays ¡
  • Zsone ¡
  • zitmo ¡(aka ¡zues) ¡

20 ¡

slide-21
SLIDE 21

Remote ¡Exploita=on ¡

  • RootStrap ¡ABack* ¡

Foreground ¡ Background ¡ Privilege ¡ Escala=on ¡Exploit ¡

21 ¡

*Jon ¡Oberheide, ¡In ¡SummerCon, ¡2010 ¡

slide-22
SLIDE 22

Remote ¡Exploita=on ¡

  • Legi=mate ¡Roo=ng ¡Applica=ons ¡
  • WebKit ¡Vulnerabili=es* ¡

*CANVAS ¡6.65, ¡www.immunityinc.com/ ¡

22 ¡

slide-23
SLIDE 23

Physical ¡Access ¡With ¡ADB ¡Enabled ¡

23 ¡

slide-24
SLIDE 24

Physical ¡Access ¡with ¡ADB ¡Enabled ¡

  • Super ¡One-­‑Click ¡desktop ¡applica=on ¡
  • Minimal ¡device ¡modifica=on ¡

– Hard ¡for ¡non-­‑rooted ¡devices ¡to ¡detect ¡

24 ¡

slide-25
SLIDE 25

Recovery ¡Mode ¡

  • Create ¡a ¡custom ¡recovery ¡image ¡to ¡gain ¡root ¡

access ¡ ¡

  • Bypass ¡authen=ca=on ¡by ¡using ¡the ¡recovery ¡

mode ¡

25 ¡

slide-26
SLIDE 26

Recovery ¡Mode ¡

  • Does ¡not ¡rely ¡on ¡a ¡kernel ¡exploit ¡ ¡
  • Large ¡footprint, ¡but ¡simple ¡to ¡cover ¡your ¡

tracks ¡

26 ¡

slide-27
SLIDE 27

ABack ¡Chart ¡

No ¡Physical ¡Access ¡ Physical ¡Access ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ Unprivileged ¡Access ¡ Remote ¡Exploita=on ¡ Privileged ¡Access ¡Needed ¡ Not ¡Obstructed ¡ Obstructed ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ ADB ¡ABack ¡ Privileged ¡Access ¡Needed ¡ ADB ¡Enabled ¡ ADB ¡Not ¡ Enabled ¡ Recovery ¡Mode ¡

27 ¡

slide-28
SLIDE 28

ABack ¡Chart ¡

No ¡Physical ¡Access ¡ Physical ¡Access ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ Unprivileged ¡Access ¡ Remote ¡Exploita=on ¡ Privileged ¡Access ¡Needed ¡ Not ¡Obstructed ¡ Obstructed ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ ADB ¡ABack ¡ Privileged ¡Access ¡Needed ¡ ADB ¡Enabled ¡ ADB ¡Not ¡ Enabled ¡ Recovery ¡Mode ¡

28 ¡

slide-29
SLIDE 29

ABack ¡Chart ¡

No ¡Physical ¡Access ¡ Physical ¡Access ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ Unprivileged ¡Access ¡ Remote ¡Exploita=on ¡ Privileged ¡Access ¡Needed ¡ Not ¡Obstructed ¡ Obstructed ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ ADB ¡ABack ¡ Privileged ¡Access ¡Needed ¡ ADB ¡Enabled ¡ ADB ¡Not ¡ Enabled ¡ Recovery ¡Mode ¡

29 ¡

slide-30
SLIDE 30

ABack ¡Chart ¡

No ¡Physical ¡Access ¡ Physical ¡Access ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ Unprivileged ¡Access ¡ Remote ¡Exploita=on ¡ Privileged ¡Access ¡Needed ¡ Not ¡Obstructed ¡ Obstructed ¡ No ¡Privileged ¡ ¡ Access ¡Needed ¡ ADB ¡ABack ¡ Privileged ¡Access ¡Needed ¡ ADB ¡Enabled ¡ ADB ¡Not ¡ Enabled ¡ Recovery ¡Mode ¡

30 ¡

slide-31
SLIDE 31

Possible ¡Mi=ga=ons ¡

31 ¡

slide-32
SLIDE 32

Reduce ¡Patch ¡Cycle ¡Length ¡

  • Google ¡produces ¡patches ¡rela=vely ¡quickly ¡
  • Separate ¡manufacturer ¡modifica=ons ¡from ¡

core ¡of ¡Android ¡ ¡

32 ¡

slide-33
SLIDE 33

Adjusted ¡Permission ¡Model ¡

  • Hierarchical ¡permissions ¡
  • Would ¡require ¡a ¡re-­‑structuring ¡of ¡the ¡

permission ¡model ¡

INTERNET ¡ ADVERTISING ¡ adco.com ¡ myad.com ¡ BANKING ¡ bigbank.com ¡ secondbank.eu ¡ Barrera ¡et ¡al, ¡In ¡ACM ¡Conference ¡on ¡Computer ¡ and ¡Communica2ons ¡Security, ¡2010 ¡

33 ¡

slide-34
SLIDE 34

Adjusted ¡Permission ¡Model ¡

  • Check ¡requested ¡rules ¡for ¡possible ¡malicious ¡

combina=ons ¡

Rule ¡Checker ¡ No=fy ¡User ¡ Install ¡ Enck ¡et ¡al, ¡In ¡ACM ¡Conference ¡on ¡ ¡ Computer ¡and ¡Communica2ons ¡Security, ¡2009 ¡

34 ¡

slide-35
SLIDE 35

Adjusted ¡Applica=on ¡Privilege ¡

  • Two ¡classes ¡of ¡applica=ons: ¡
  • 1. Standard ¡Applica=ons ¡– ¡Same ¡privileges ¡and ¡

rights ¡as ¡current ¡apps. ¡

  • 2. Privileged ¡Applica=ons ¡– ¡Root ¡privileges, ¡but ¡

must ¡under-­‑go ¡a ¡moderated ¡review ¡before ¡ publica=on ¡

  • Allows ¡the ¡user ¡to ¡trust ¡some ¡apps ¡that ¡

watch ¡the ¡others ¡

35 ¡

slide-36
SLIDE 36

Leverage ¡Exis=ng ¡Technology ¡

  • Port ¡opera=ng ¡system ¡concepts ¡such ¡as ¡

SELinux, ¡ASLR, ¡or ¡Firewalls ¡to ¡the ¡Android ¡

  • kernel. ¡
  • Implement ¡something ¡similar ¡to ¡TaintDroid* ¡

framework ¡to ¡give ¡real-­‑=me ¡informa=on ¡on ¡ permission ¡usage ¡

  • Processing ¡costs ¡must ¡be ¡considered ¡

36 ¡

*Enck ¡et ¡al, ¡In ¡Proceedings ¡of ¡OSDI, ¡2010 ¡

slide-37
SLIDE 37

Addi=onal ¡Authen=ca=on ¡

  • Require ¡user ¡creden=als ¡to ¡install ¡an ¡

Applica=on ¡

– Currently ¡done ¡on ¡the ¡iPhone ¡

  • Require ¡authen=ca=on ¡for ¡ADB ¡tool ¡

– Removes ¡backdoor ¡around ¡locking ¡mechanism ¡

37 ¡

slide-38
SLIDE 38

Trusted ¡Plaqorm ¡Module ¡

  • Provides ¡ground ¡truth ¡for ¡device ¡security ¡
  • Mi=gates ¡recovery ¡image ¡aBack ¡

38 ¡

slide-39
SLIDE 39

Conclusion ¡

  • 100M ¡Android ¡Devices ¡sold ¡
  • 500,000 ¡devices ¡ac=vated ¡every ¡

day ¡

39 ¡

slide-40
SLIDE 40

Conclusion ¡

  • 100M ¡Android ¡Devices ¡sold ¡
  • 500,000 ¡devices ¡ac=vated ¡every ¡

day ¡

40 ¡