Mobile App Security
An introduction
Marc Obrador
Mobile App Security An introduction Marc Obrador Who am I? Marc - - PowerPoint PPT Presentation
Mobile App Security An introduction Marc Obrador Who am I? Marc Obrador Co-founder & Head of Product Architecture @ Build38 Barcelona marc@build38.com @marcobrador /in/marc-obrador Build38 | Intro to Mobile App Security February 2020
An introduction
Marc Obrador
Who am I?
2
Co-founder & Head of Product Architecture @ Build38 Barcelona marc@build38.com @marcobrador /in/marc-obrador
February 2020 Build38 | Intro to Mobile App Security
3
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
4
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
Mobile-first world
Why Mobile App Security?
5
Smartphone = untrusted device
Regulation (depending on market)
Desktop Mobile 2009 2015 2020 20 40 60 80 100
Source: www.gs.statcounter.com
February 2020 Build38 | Intro to Mobile App Security
Mobile AppSec vs “traditional” Cyber Securtity
6 February 2020 Build38 | Intro to Mobile App Security
Let’s first switch our perspective Is there anything I can do?
Build38 | Intro to Mobile App Security 7 February 2020
20 40 60 80
5 10 15 20 25 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 Investment Income Cumulated Profit
The hacker’s perspective
Build38 | Intro to Mobile App Security 8 February 2020
Is there anything I can do?
Build38 | Intro to Mobile App Security 9 February 2020
Is there anything I can do?
Build38 | Intro to Mobile App Security 10 February 2020
20 40 60 80
5 10 15 20 25 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 Investment Income Cumulated Profit
Is there anything I can do?
Build38 | Intro to Mobile App Security 11 February 2020
20 40 60 80
5 10 15 20 25 M1 M2 M3 M4 M5 M6 M7 M8 M9 M10 M11 M12 Investment Income Cumulated Profit
Is there anything I can do?
Build38 | Intro to Mobile App Security 12
February 2020
Things to protect
Build38 | Intro to Mobile App Security 13
February 2020
14
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
15
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
MITM
Build38 | Intro to Mobile App Security 16 February 2020
MITM with HTTPS?
Build38 | Intro to Mobile App Security 17 February 2020
Android: depends on OEM iOS: requires social engineering
18
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
What is it?
19 February 2020 Build38 | Intro to Mobile App Security
But, why?
20 February 2020 Build38 | Intro to Mobile App Security
Cheating on games Getting paid features for free Stealing user data
Android: apktool + smali code
21 February 2020 Build38 | Intro to Mobile App Security
iOS: dynamic library injection
22 February 2020 Build38 | Intro to Mobile App Security
Protecting against app repackaging
23
Obfuscation Detect it
February 2020 Build38 | Intro to Mobile App Security
24
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
The ”sandbox” model
25
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
Root / Jailbreak Detection
26
/scottyab/rootbeer /KimChangYoun/rootbeerFresh /Stericson/RootTools /avltree9798/isJailbroken /thii/DTTJailbreakDetection @marcobrador
February 2020 Build38 | Intro to Mobile App Security
27
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
What to do if Root is found?
28
Sources:
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
Nothing Restrict some sensitive functionality Deny service Design your security model assuming that root can (and will) happen What to do if Root is found?
29
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
30
Agenda
@marcobrador
February 2020 Build38 | Intro to Mobile App Security
§ Move security-relevant logic to backend or write it in native C
Recap
31 February 2020 Build38 | Intro to Mobile App Security