mobile platform security models

67
Mobile Device and Platform Security John Mitchell CS 155 Spring 2017

Upload: prisca

Post on 25-Feb-2016

94 views

Category:

Documents


0 download

DESCRIPTION

Spring 2014. CS 155. Mobile Platform Security Models. John Mitchell. Outline. Introduction: platforms and attacks Apple iOS security model Android security model Windows 7, 8 Mobile security model. Mobile phone market share. Many mobile apps. Mobile Operating Systems. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Mobile  Platform  Security Models

Mobile Device and Platform Security   

John Mitchell

CS 155 Spring 2017

Page 2: Mobile  Platform  Security Models

2

Two lectures on mobile security

Introduction: platforms and trendsThreat categories Physical, platform malware, malicious apps

Defense against physical theftMalware threatsSystem architecture and defenses Apple iOS security features and app security model Android security features and app security model

Security app development WebView – secure app and web interface dev Device fragmentation

Tues

Thurs

Page 3: Mobile  Platform  Security Models

3

MOBILE COMPUTING

Page 4: Mobile  Platform  Security Models

4

Current devices have long history

Apple Newton, 1987

Palm Pilot, 1997

iPhone, 2007

Page 5: Mobile  Platform  Security Models

5

Mobile devicesMainframe -> desktop/server -> mobile/cloudTrends Increasing reliance on person device

Communication, personal data, banking, work Data security, authentication increasingly

important From enterprise perspective: BYOD

Mobile device management (MDM) to protect enterprise

Reliance on cloud: iCloud attack risks, etc Progress from web use to mobile device UI

Apps provide custom interface, but limited screen size…

System designs draw on best ideas of past

Page 6: Mobile  Platform  Security Models

6

Global smartphone market share

Page 7: Mobile  Platform  Security Models

7

Global smartphone market share

Gartner/Statista

Page 8: Mobile  Platform  Security Models

8

Page 9: Mobile  Platform  Security Models

9

US Mobile App Traffic

http://www.ironpaper.com/webintel/articles/web-design-statistics-2015/

Page 10: Mobile  Platform  Security Models

10

Comparison with laptop

http://www.ironpaper.com/webintel/articles/web-design-statistics-2017/

Page 11: Mobile  Platform  Security Models

11

Zillions of apps

Page 12: Mobile  Platform  Security Models

12

App Marketplace Better protection, isolation than laptop installApp review before distribution iOS: Apple manual and automated vetting Android

Easier to get app placed on market Transparent automated scanning, removal via

BouncerApp isolation and protection Sandboxing and restricted permission Android

Permission model Defense against circumvention

Page 13: Mobile  Platform  Security Models

13

MOBILE THREATS

Page 14: Mobile  Platform  Security Models

14

What’s on your phone?Contact list?Email, messaging, social networking?Banking, financial apps?Pictures, video, …?Music, movies, shows?Location information and history Access to cloud data and services?

What would happen if someone picked up your unlocked phone?

Page 15: Mobile  Platform  Security Models

15

Mobile platform threat models

Attacker with physical access Try to unlock phone Exploit vulnerabilities to circumvent locking

System attacks Exploit vulnerabilities in mobile platform via

drive-by web downloads, malformed data, etc.

App attacks Use malicious app to steal data, misuse

system, hijack other apps

Page 16: Mobile  Platform  Security Models

16

OWASP Mobile Top TenM1: Improper Platform UsageM2: Insecure DataM3: Insecure CommunicationM4: Insecure AuthenticationM5: Insufficient CryptographyM6: Insecure AuthorizationM7: Client Code Quality IssuesM8: Code TamperingM9: Reverse EngineeringM10: Extraneous Functionality

https://www.owasp.org/index.php/Projects/OWASP_Mobile_Security_Project_-2015_Scratchpad

Page 17: Mobile  Platform  Security Models

17

PROTECTION AGAINST PHYSICAL ATTACKER

Page 18: Mobile  Platform  Security Models

18

PROTECTION AGAINST PHYSICAL ATTACKER

Device locking and unlocking

Page 19: Mobile  Platform  Security Models

19

Today: PINs or PatternsNeed PIN or pattern to unlock device

Once unlocked all apps are accessible

Twist: set a PIN or pattern per app (per photo, video)

Protect settings, market, Gmail even if phone unlocked.

Examples: App Protector Pro, Seal, Smart lock, …

Another twist: Front camera takes picture when wrong PIN entered Example: GotYa

Page 20: Mobile  Platform  Security Models

20

Background: brute force pwd attack

Offline attack Traditionally: steal pwd file, try all pwd Unix pwd file has hashed passwords Cannot reverse hash, but can try dictionary

hash(pwd, salt) = pwd_file_entry

Online attack Can you try all passwords at a web site? What does this mean for phone pin attacks?

dictionary

Page 21: Mobile  Platform  Security Models

21

AttacksSmudge attacks [Aviv et al., 2010]

Entering pattern leaves smudge that can be detected with proper lighting Smudge survives incidental contact with clothing

Potential defense [Moxie 2011] After entering pattern, require user to swipe across

Another problem: entropy People choose simple patterns – few strokes At most 1600 patterns with <5 strokes

1

2345

Page 22: Mobile  Platform  Security Models

22

Biometric unlockingBiometric unlock: Fingerprint (Morotola Atrix 4G) Requires backup PIN

⇒ no more secure than PIN

Android ICS: Face Unlock Concerns about security

Standard biometric security concerns: Not secret and cannot be changed.

fingerprintscanner

Page 23: Mobile  Platform  Security Models

23

iOS 4.0: PIN brute force attack

After device is jail broken, can PIN be extracted?

[Needed to read encrypted data partition (later topic)]

iOS key management (abstract):

Testing 10,000 PINs for each, derive and test class key ≈ 20 mins on

iPhone 4

[Bedrune, Sigwald, 2011]

HW UID key(AES key unique to device,

cannot extract)

| 4 digit PIN | decryptstored

keyclass key

(decrypts keychain)

(code.google.com/p/iphone-dataprotection)

Page 24: Mobile  Platform  Security Models

24

Better Device Unlocking

A more secure approach to unlocking: Unlock phone using a security token on

body wrist watch, glasses, clothing

Requirements Cheap token, should not require charging

Page 25: Mobile  Platform  Security Models

25

Summary: locking and unlocking

Protect from thief via user authentication Commonly: pin, swipe, etc. Future: Biometric? Token on body? Can phone destroy itself if too many tries?

Physical access can allow Thief to jailbreak and crack password/pin Subject phone to other attacks

Next defense: erase phone when stolen

Page 26: Mobile  Platform  Security Models

26

PROTECTION AGAINST PHYSICAL ATTACKER

Mobile device management (MDM)

Page 27: Mobile  Platform  Security Models

27

MDM:Mobile Device Management

Manage mobile devices across organization Consists of central server and client-side

softwareFunctions: Diagnostics, repair, and update Backup/restore Policy enforcement (e.g. only allowed apps) Remote lock and wipe GPS tracking

Page 28: Mobile  Platform  Security Models

28

MDM Sample Deployment

MDM enterprise

serverpolicy file

user’s phoneenrollment

push notification to request check inHTTPS connection to

report status andreceive instructions

configure, query, lock, wipe, …

server cert

User consent

Page 29: Mobile  Platform  Security Models

29

Summary: mobile device mgmt

Protect stolen phone from thief GPS: where’s my phone? Device wipe

Preventing brute force attacks Phone can “lock” if too many bad pin tries Use MDM to reset to allow user pin

Backup, backup, backup! Frequent backup makes auto-wipe possible

Page 30: Mobile  Platform  Security Models

30

MALWARE ATTACKS

Page 31: Mobile  Platform  Security Models

31

Mobile malware examplesDroidDream (Android)

Over 58 apps uploaded to Google app market Conducts data theft; send credentials to attackers

Ikee (iOS) Worm capabilities (targeted default ssh pwd) Worked only on jailbroken phones with ssh installed

Zitmo (Symbian,BlackBerry,Windows,Android) Propagates via SMS; claims to install a “security

certificate” Captures info from SMS; aimed at defeating 2-factor auth Works with Zeus botnet; timed with user PC infection

Page 32: Mobile  Platform  Security Models

32

Android malware 2015

Page 33: Mobile  Platform  Security Models

33

Increasing Android app malware

https://blog.gdatasoftware.com/2017/04/29712-8-400-new-android-malware-samples-every-day

Page 34: Mobile  Platform  Security Models

34

Recent Android MalwareDescription

AccuTrackThis application turns an Android smartphone into a GPS tracker.AckpostsThis Trojan steals contact information from the compromised device and uploads them to a remote server.AcnetdoorThis Trojan opens a backdoor on the infected device and sends the IP address to a remote server.AdsmsThis is a Trojan which is allowed to send SMS messages. The distribution channel ... is through a SMS message containing the download link.Airpush/StopSMSAirpush is a very aggresive Ad-Network.…BankBotThis malware tries to steal users’ confidential information and money from bank and mobile accounts associated with infected devices. http://forensics.spreitzenbarth.de/android-malware/

Page 35: Mobile  Platform  Security Models

35

Brief history of iOS attacksFind and call (2012)

Accesses user’s contacts and spams friendsJekyll-and-Hyde (2013):

Benign app that turns malicious after it passes Apple’s review

App can post tweets, take photos, send email and SMS, etc.

Xsser mRat (2014) Steal information from jailbroken iOS devices

WireLurker (2014) Infects iOS through USB to OSX machines

Xagent (2015) Spyware. Steals texts, contacts, pictures, …

AceDeceiver (2016) Infects by exploiting vulnerability in Fairplay (DRM)

Page 36: Mobile  Platform  Security Models

36

W

Page 37: Mobile  Platform  Security Models

37

Page 38: Mobile  Platform  Security Models

38

Based on FairPlay vulnerability

Requires malware on user PC, install of malicious app in App StoreContinues to work after app removed from store Silently installs app on phone

Page 39: Mobile  Platform  Security Models

39

IOS PLATFORM

Page 40: Mobile  Platform  Security Models

40

Apple iOS

From: iOS App Programming Guide

Page 41: Mobile  Platform  Security Models

41

Reference

https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Page 42: Mobile  Platform  Security Models

42

TopicsSystem SecurityEncryption and Data Protection App Security Network Security Apple Pay Internet Services Device ControlsPrivacy ControlsApple Security Bounty

1 User-level security features

2 Protecting mobile platform

3 App isolation and protection

Page 43: Mobile  Platform  Security Models

43

IOS DEVICE AND PRIVACY CONTROLS

Page 44: Mobile  Platform  Security Models

44

Device unlock

Passcode key: derived by hashing passcode and device IDHashing uses secret UID on secure enclave⇒ deriving passcode key requires the secure enclaveSecure enclave enforces 80ms delay per evaluation:

5.5 years to try all 6 digits pins 5 failed attempts ⇒ 1min delay, 9 failed attempts ⇒ 1

hour delay >10 failed attempts ⇒ erase phone. Counter on secure

enclave.

Can attacker try all 6-digit passcodes?

Page 45: Mobile  Platform  Security Models

45

Unlocking with Touch IDPasscode can always be used instead Passcode required after: Reboot, or five unsuccessful Touch ID attempts, …

Other uses (beyond unlock): Enable access to keychain items Apple Pay Can be used by applications

Page 46: Mobile  Platform  Security Models

46

How does it work?Touch ID: sends fingerprint image to secure enclave (encrypted)

Enclave stores skeleton encrypted with secure enclave key

With Touch ID off, upon lock, class-key Complete is deleted

⇒ no data access when device is lockedWith Touch ID on: class-key is stored encrypted by secure enclaveDecrypted when authorized fingerprint is recognizedDeleted upon reboot, 48 hours of inactivity, or five failed attempts

Page 47: Mobile  Platform  Security Models

47

How secure is it?Easy to build a fake finger

Several demos on YouTube About 20 mins of work If you have a fingerprint

The problem: fingerprints are not secret No way to reset once stolen

Convenient, but more secure solutions exist: Unlock phone via bluetooth using a wearable device ⇒ phone locks as soon as device is out of range Enable support for both a passcode and a fingerprint

Page 48: Mobile  Platform  Security Models

48

iOS Privacy ControlsUser can select which apps access location, microphone, a few other services

Page 49: Mobile  Platform  Security Models

49

IOS SYSTEM AND DATA SECURITY

Page 50: Mobile  Platform  Security Models

50

Apple iOS SecurityDevice security

Prevent unauthorized use of device

Data security Protect data at rest; device may

be lost or stolenNetwork security

Networking protocols and encryption of data in transmission

App security Secure platform foundation

https://www.apple.com/business/docs/iOS_Security_Guide.pdf

Page 51: Mobile  Platform  Security Models

51

Secure boot chainEvery layer ensures that the next layer is properly signedRoot of trust: boot ROM, installed during fabrication

Boot ROM

Apple Rootpublic-key

not updateable

Low levelboot-loader(LLB)signatur

e

iBoot

signature

iOS Kernel

signature

verifysignaturerun if valid

verifysig.

verifysig.

Page 52: Mobile  Platform  Security Models

52

Secure boot chainEnsures only authorized iOS code can boot

Jailbreaking works by exploiting bugs in the chain

Disables verification down the line

Note: bugs in the boot ROM are especially damaging

Boot ROM cannot be updated

Page 53: Mobile  Platform  Security Models

53

Software updateAll iOS software updates are signed by Apple Signature from Apple’s software update server covers:

hash of update code, device unique ID (ECID) and nonce from device

⇒ Apple keeps track of which devices (ECID) updated to what

Why sign nonce and device ID? (harder for Apple to distribute patch) Cannot copy update across devices ⇒ Apple can track updates Nonce ensures device always gets latest version of update

Page 54: Mobile  Platform  Security Models

54

Jailbreak detectionJailbreaking: install apps outside 3rd party sandbox

Apps in /Applications (not in sandboxed “mobile” dir)

Jailbreak prevention App wants to detect if device is jailbroken and not

run if so, e.g., banking apps Some methods:

_dyld_get_image_name(): check names of loaded dynamic libs _dyld_get_image_header(): inspect location in memory

Can be easily bypassed – jailbreak detection is brittle

e.g., using Xcon tool (part of Cydia)

Page 55: Mobile  Platform  Security Models

55

App exploit mitigation: XN and ASLR

XN bit (eXecute Never): [a.k.a NX bit] Mark stack and heap memory pages as non-

execute, enforced by CPU

ASLR (address space layout randomization): At app startup: randomize location of

executable, heap, stack At boot time: randomize location of shared

libs

Harder to exploit memory corruption vulns

Page 56: Mobile  Platform  Security Models

56

Data protection: protecting application data

Application files written to Flash are encrypted:• Per-file key: encrypts all file contents (AES-XTS)• Class key: encrypts per-file key (ciphertext

stored in metadata)• File-system key: encrypts file metadataResetting device deletes file-system key

All key enc/dec takes place inside the secure enclave ⇒ key never visible to apps

Page 57: Mobile  Platform  Security Models

57

Secure enclave (Apple A7 and later)

Coprocessor fabricated in the Apple A7, A8, …All writes to memory and disk are encrypted with a random key generated in the enclaveUsed for device unlock, ApplePay, … (more on this later)

application processor Secure enclave

HW-RNGshared

memoryUID

iOS

app

app

app

app

keys

A9

Page 58: Mobile  Platform  Security Models

58

Backup to iCloudData backup Encrypted data sent from device to iCloud But not applied to data of class NoProtection Class keys backed up protected by “iCloud keys” (for device migration)

Keychain class keys: Non-migratory class keys

wrapped with a UID-derived key ⇒ Can only be restored on current device

App-created items: not synced to iCloud by default

[dict secObject:kCFBooleanTrue forKey:kSecAttrSynchronizable];

Page 59: Mobile  Platform  Security Models

59

IOS APP DEVELOPMENT AND SECURITY

Page 60: Mobile  Platform  Security Models

60

iOS Application Development

Apps developed in Objective-C using Apple SDKEvent-handling model based on touch eventsFoundation and UIKit frameworks provide key services used by apps

Page 61: Mobile  Platform  Security Models

61

iOS Platform

Cocoa Touch Foundation framework

OO support for collections, file mgmt, network; UIKitMedia layer

2D and 3D drawing, audio, videoCore OS and Core Services:

APIs for files, network, SQLite, POSIX threads, UNIX sockets

Kernel: based on Mach kernel like Mac OS X

Implemented in C and Objective-C

Page 62: Mobile  Platform  Security Models

62

App SecurityRuntime protection System resources, kernel shielded from user apps App “sandbox” prevents access to other app’s

data Inter-app communication only through iOS APIs Code generation prevented

Mandatory code signing All apps must be signed using Apple-issued

certificateApplication data protection Apps can leverage built-in hardware encryption

Page 63: Mobile  Platform  Security Models

63

Limit app’s access to files, preferences, network, other resourcesEach app has own sandbox directoryLimits consequences of attacksSame privileges for each app

iOS Sandbox

Page 64: Mobile  Platform  Security Models

64

Runtime process securityAll 3rd party apps are sandboxed:

run as the non-privileged user “mobile”

access limited by underlying OS access control

Each app has a unique home directory for its files randomly assigned when the app is installedAccessing other info only through mediated services provided by iOS

Page 65: Mobile  Platform  Security Models

66

App code signingAll executable code must be signed by Apple certificate, including

Native apps 3rd party apps (signed after Apple review) Dynamic libraries

App can link against any dynamic library with the same TeamID (10-char string)

Example: an ad network libraryNot perfect: Charlie Miller’s InstaStock app

stock ticker program: passed Apple review After launch: downloads “data” from remote site,

stores it in non-XN region, executes it ⇒ app becomes malicious

Why is there a non-XN region? Needed for Safari JIT.

Page 66: Mobile  Platform  Security Models

67

“Masque Attack”iOS app installed using enterprise/ad-hoc provisioning could replace genuine app installed through the App Store, if both apps have same bundle identifierThis vulnerability existed because iOS didn't enforce matching certificates for apps with the same bundle identifier 

Several attacks occurred in 2015

Page 67: Mobile  Platform  Security Models

68

Two lectures on mobile security

Introduction: platforms and trendsThreat categories Physical, platform malware, malicious apps

Defense against physical theftMalware threatsSystem architecture anddefenses Apple iOS security features and app security model Android security features and app security model

Security app development WebView – secure app and web interface dev Device fragmentation

Tues

Thurs