43
Copyright © 2008 - The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License. The OWASP Foundation OWASP-Italy Day2012 Rome, 23° November 2012 http://www.owasp.org Android e mobile security Android e mobile security (for developers) (for developers) Igor Falcomatà CTO, Enforcer [email protected]

Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

Embed Size (px)

Citation preview

Page 1: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

Copyright © 2008 - The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License.

The OWASP Foundation

OWASP-Italy Day2012Rome, 23° November 2012

http://www.owasp.org

Android e mobile security Android e mobile security (for developers)(for developers)

Igor Falcomatà

CTO, [email protected]

Page 2: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 2

• attività professionale:•analisi delle vulnerabilità e penetration testing (~13 anni)•security consulting •formazione

• altro:•sikurezza.org•(F|Er|bz)lug

free advertising >free advertising >

Page 3: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 3

http://en.wikipedia.org/w/index.php?title=File:Android-System-Architecture.svg

Page 4: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 4

• Architetture: ARM, (MIPS, x86, ..)

• Kernel• Kernel Linux 2.6.x (Android 1, 2 e 3.x)• Kernel Linux 3.0.x (Android 4.x)• componenti e driver standard• FS, processi, permessi, processi• vulnerabilità standard ;)

• Componenti custom• binder, ashmem, pmem, logger, wavelocks, OOM,

alarm timers, paranoid network security, gpio, ..• android e vendor custom hw driver• nuove vulnerabilità da scoprire ;)

Page 5: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 5

• Sandbox (OS level)• sandboxing con uid/gid linux + patch kernel (protected

API)• 1 processo = 1 applicazione = 1 VM (+ componenti OS)• protected API per accesso all'hw: camera, gps,

bluetooth, telefonia, SMS/MMS, connessioni di rete)• root = root (full access)

• Librerie• bionic libc (!= gnu libc, !posix)• udev, WebKit, OpenGL, SQLite, crypto, .. (& bugs)

• Dalvik VM (!= JVM)• Java Code -> dex bytecode• custom Java libraries• può lanciare codice nativo (syscall, ioctls, .. ) -> kernel

Page 6: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 6

• Sandbox (OS level)• sandboxing con uid/gid linux + patch kernel (protected

API)• 1 processo = 1 applicazione = 1 VM (+ componenti OS)• protected API per accesso all'hw: camera, gps,

bluetooth, telefonia, SMS/MMS, connessioni di rete)• root = root (full access)

• Librerie• bionic libc (!= gnu libc, !posix)• udev, WebKit, OpenGL, SQLite, crypto, .. (& bugs)

• Dalvik VM (!= JVM)• Java Code -> dex bytecode• custom Java libraries• può lanciare codice nativo (syscall, ioctls, .. ) -> kernel

“Like all security features, the Application Sandbox is not unbreakable. However, to break out of the Application Sandbox in a properly configured device, one must compromise the security of the the Linux kernel.”

“Like all security features, the Application Sandbox is not unbreakable. However, to break out of the Application Sandbox in a properly configured device, one must compromise the security of the the Linux kernel.”

Page 7: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 7

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Page 8: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 8

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

Page 9: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 9

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

• vettori:• chat• e-mail• link su social network• MiTM / dns spoofing / ..

• exploit:• sito malicious ->• app (pwned) ->• kernel (pwned) ->• r00t!!

Page 10: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 10

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

• classico “client side attack”:• exploit app/lib

• (webkit, ..)

• exec codice arbitrario• -> kernel (syscall, ioctls, ..)

• situazione no-win• “non ci interessa”

• però...:• root -> controllo completo• accesso ai dati di ogni app

Page 11: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 11

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

Page 12: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 12

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

Page 13: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 13

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

3rd party

• root -> controllo completo• dati personali

posta, documenti, rubrica,calendario, ..

• intercettazioniaudio, video, messaging, network, ..

• geolocalizzazionefoto, social network, ..

• credenzialisiti, posta, VPN, .. → cloud storage

Page 14: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 14

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

Mr. MobileMalicious

Page 15: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 15

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

Mr. MobileMalicious

OOB covert channel(UMTS/GPRS/SMS/..)

Bring Your 0wned Device

Page 16: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 16

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Page 17: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 17

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Page 18: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 18

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

Page 19: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 19

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

no HTTPS (ahi ahi ahi)MiTMHot SpotRogue APs

Page 20: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 20

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

Page 21: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 21

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

Page 22: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 22

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

• MiTM (browser)• no SSL?• traffic mangling

• SSL? • utente “continua”?• game over

Page 23: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 23

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

• MiTM (app)• no SSL?• traffic mangling

• SSL?• app verifica cert?• OK!

• app non verifica cert?• game over

Page 24: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 24

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

servizi in cloud

Mr. WifiMiTM

• game over = traffic mangling• sniffing

• credenziali• dati

• reverse engineering• traffico/protocolli• business logic

• analisi API/URL• rogue/fake app• HTML-like c.s. attacks

• injection JS & co. • client side injection

Page 25: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 25

https://threatpost.com/en_us/blogs/research-shows-serious-problems-android-app-ssl-implementations-101912

Page 26: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 26

https://threatpost.com/en_us/blogs/research-shows-serious-problems-android-app-ssl-implementations-101912

nel 2012 ?!?!

Page 27: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 27

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

download .apk(install app)

Page 28: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 28

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

• .apk• download

• market install• adb pull

• estrazione• dex2jar, apk-extractor, ..

• analisi• risorse, manifest, ..

• decompilazione• jd-gui, ypjd, ..

Page 29: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 29

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

Page 30: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 30

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

Page 31: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 31

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

Page 32: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 32

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious • .apk• analisi business logic

• broken/no auth• broken/no session management• credenziali/certificati

• URL/API “privati”• HTTP/JSON/XMLRPC/WS/..

• SQL Injections• Path Traversal• Broken/no auth/session m.• ...

• custom/altri protocolli• reverse engineering• vedi sopra

Page 33: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 33

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

Page 34: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 34

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

http://www.example.com/app/privateapi?user=paperinohttp://www.example.com/app/privateapi?user=pluto

Page 35: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 35

hot-spot user

desktop

ext. router

web server app backend db server

file server

dep. server

desktopdesktop

firewall

access point

BY0D userwifi user

3G user

servizi in cloud

Mr. MobileMalicious

http://www.example.com/app/privateapi?user=paperino&pass=moohttp://www.example.com/app/privateapi?user=pluto'--&pass=boh

Page 36: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 36

https://www.owasp.org/index.php/OWASP_Mobile_Security_Project#tab=Top_Ten_Mobile_Risks

Page 37: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 37

bonus track :)

Page 38: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 38

bonus track :)

Page 39: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 39

http://www.guardian.co.uk/technology/2012/jan/30/android-malware-row

Page 40: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 40

• diffusione e “geopardizzazione” (AUGH!)

• sorgenti (AOSP), docs, SDK, NDK, emulatore, ..

• .apk → decompilazione, reversing, debug

• aggiornamenti OS, app e market alternativi

• permessi delle applicazioni “delegati” agli utenti

• Linux Kernel, ~ Linux userspace e librerie (e bug)

• exploit mitigation techniques (fail) (< 2.3, < 4.0.3)

• OOB “covert” channel (umts/gprs, SMS, ..)

• territori poco explorati: OS/lib custom, hw driver

Page 41: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 41

• dati personali (posta, documenti, rubrica, calendario, ..)

• intercettazioni (audio, video, messaging, network, ..)

• geolocalizzazione (foto, social network, ..)

• credenziali (siti, posta, VPN, ..) → cloud storage

• HTML-like client side attacks

• EvilApp want to eat your soul.. Install? YES!!!

• BY0D (Bring Your 0wned Device)

• banking OTP ($$)

• NFC ($$)

Page 42: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

OWASP-Italy Day 2012 OWASP 42

• url e web-services “privati”

• business logic esposta (client-side)

• -> device -> credenziali -> back-end

• -> device -> storage -> back-end

• credenziali e certificati hard-coded (.apk)

• no/lazy input validation

• no/broken authentication & session management

• the good ole web security vulns

Page 43: Android e mobile security (for developers) - owasp.org · Android e mobile security (for developers) Igor Falcomatà ... OWASP 2 •attività professionale: •analisi delle vulnerabilità

Copyright © 2008 - The OWASP FoundationPermission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License.

The OWASP Foundation

OWASP-Italy Day2012Rome, 23° November 2012

http://www.owasp.org

Android e mobile security Android e mobile security (for developers)(for developers)

Igor Falcomatà

CTO, [email protected]

Domande?Webografia vedi: http://www.enforcer.it/dl/android_security_smau2012.pdf