Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10...

17
Gulaschprogrammiernacht 14 Mobile Security: All your secrets belong to me René Reuter 19.06.2014

Transcript of Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10...

Page 1: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14

Mobile Security: All your secrets belong to me

René Reuter 19.06.2014

Page 2: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Motivation

Nearly your complete digital identity is nowadays stored on your mobile phone For example: your Mail, Contacts, Facebook, Twitter, Amazon or PayPal Accounts

Page 3: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Motivation

Page 4: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Mobile Threat Model

Source: OWASP Top 10 Mobile Risks (Jack Mannino)

Page 5: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14

iOS:

•  iOS has since version 4 Data Protection

•  For files use NSFileProtection Classes

•  KeyChain since version 2 for passwords or certificates

Android:

•  Android has since version 3 encryption for Volume /data à Volume /sdcard is

separately encrypted!

•  Since version 4 KeyChain

Data Storage

Recommendation for Data Storage from the vendors

Page 6: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Data Storage iOS

The different keys on an iOS device:

UID  Key   Passcode  

Passcode  Key  Device  Key  

NSFileProtec6onNone  Class  Key  

NSFileProtec6onCompleteUn6l  FirstUserAuthen6ca6on  Class  Key  

NSFileProtec6onComplete  Class  Key  

File  Key   File  Key   File  Key   File  Key   File  Key  

Page 7: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Data Storage iOS

The KeyChain file on an iOS device:

Device  Key  

keychain-­‐2.db  

stored in /private/var/Keychains

Protec'on  Class  

kSecACrAccessibleWhenUnlocked  

kSecACrAccessibleAEerFirstUnlock  

kSecACrAccessibleAlways  

kSecACrAccessibleWhenUnlocked  ThisDeviceOnly  

kSecACrAccessibleAEerFirstUnlock  ThisDeviceOnly    

kSecACrAccessibleAlwaysThis  DeviceOnly    

Page 8: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Data Storage Android

The different keys on an Android device:

Master  Key  

/data  par66on  

•  Encryption is not set as default à has to be user initiated

•  Encryption for user data / files has to be implemented by yourself

(Crypto libraries are available)

stored in /data/misc/keystore/.masterkey

Page 9: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Data Storage Android

The KeyChain file on an Android device:

Master  Key  

KeyChain  Entry  

stored in /data/misc/keystore/[UID_EntryType_KeyName]

Key  Blob  

contains an info header, the initial vector (IV) used for encryption, an MD5 hash value of the encrypted data and the encrypted data itself

Page 10: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Attack types

So what are the different attack types for an invader?

•  Static attacks (source code, preferences files, databases, general files)

•  Dynamic attacks (injecting malicious code, hooking, man-in-the-middle)

•  KeyChain attacks (mostly direct system attacks: root exploits, bootrom

exploits, etc.)

Page 11: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Demos

Page 12: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Demo #1

Demo #1: static attack

Page 13: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Demo #2

Demo #2: dynamic attack

Page 14: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Demo #3

Demo #3: KeyChain attack

Page 15: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Conclusion

Page 16: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Top 10 mobile risks

Top  10  Mobile  Risks  

M1  –  Insecure  Data  Storage   M6  –  Improper  Session  Handling  

M2  –  Weak  Server  Side  Controls  

M7  –  Security  Decisions  via  Untrusted  Inputs  

M3  –  Insufficient  Transport  Layer  Protec6on  

M8  –  Side  Channel  Data  Leakage  

M4  –  Client  Side  Injec6on   M9  –  Broken  Cryptography  

M5  –  Poor  Authoriza6on  and  Authen6ca6on  

M10  –  Sensi6ve  Informa6on  Disclosure  

Page 17: Gulaschprogrammiernacht 14 · Gulaschprogrammiernacht 14 Mobile Threat Model Source: OWASP Top 10 Mobile Risks (Jack Mannino) Gulaschprogrammiernacht 14 iOS: • iOS has since version

Gulaschprogrammiernacht 14 Q&A