Mobile Platform Security Models John Mitchell CS 155 Spring 2014.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Thomas S. Messerges, Ezzat A. Dabbish Motorola Labs Shin Seung Uk.
Presented By Abhishek Singh Computer Science Department Kent state University WILLIAM ENCK, MACHIGAR ONGTANG, AND PATRICK MCDANIEL.
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Building and Deploying Safe and Secure Android Apps for Enterprise Presented by Technology Consulting Group at Endeavour Software Technologies.
Mobile Mobile OS and Application Team: Kwok Tak Chi Law Tsz Hin So Ting Wai.
Script Kiddies; CybercrimeCyber-espionage; Cyber-warfare CybercriminalsState sponsored actions; Unlimited resources Attacks on fortune 500All sectors.
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Security in By: Abdulelah Algosaibi Supervised by: Prof. Michael Rothstein Summer II 2010: CS 6/79995 Operating System Security.
Mobile Application Development
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
Case study 2 Android – Mobile OS.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
CS 153 Design of Operating Systems Spring 2015 Lecture 24: Android OS.
Mobile OSes and security Android iOS Windows. Mobile is now huge.
Presentation By Deepak Katta
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Windows Server MIS 424 Professor Sandvig. Overview Role of servers Performance Requirements Server Hardware Software Windows Server IIS.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
Java Security. Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security Manager.
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Controlling Files Richard Newman based on Smith “Elementary Information Security”
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Mobile Device Security
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
Cosc 4010 Sandboxing. Last lecture Last time, we covered chroot, which is a method to "sandbox" a problem. –Not full proof by any means. Many simple mistakes.
1 22 August 2001 The Security Architecture of the M&M Mobile Agent Framework P. Marques, N. Santos, L. Silva, J. Silva CISUC, University of Coimbra, Portugal.
Basic Security: Java vs.NET Master Seminar Advanced Software Engineering Topics Prof. Jacques Pasquier-Rocha Software Engineering Group Department of Informatics.
Overview of Android Application Development
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edition Chapter 2: Operating-System Structures.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Android Security Auditing Slides and projects at samsclass.info.
ADV. NETWORK SECURITY CODY WATSON What’s in Your Dongle and Bank Account? Mandatory and Discretionary Protections of External Resources.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
14.1/21 Part 5: protection and security Protection mechanisms control access to a system by limiting the types of file access permitted to users. In addition,
Vulnerability Study of the Android Ryan Selley, Swapnil Shinde, Michael Tanner, Madhura Tipnis, Colin Vinson (Group 8)
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
Wireless and Mobile Security
TCS Internal Security. 2 TCS Internal Objective Objective :  Android Platform Security Architecture.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Mobile Platform Security Models *Original slides by Prof. John Mitchell.
Analysis And Research Of System Security Based On.
©2012 Check Point Software Technologies Ltd. [PROTECTED] — All rights reserved. Securing Your Data in Endpoint and Mobile Environments Frank Suijten Security.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
Android and IOS Permissions Why are they here and what do they want from me?
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
ClickOnce Deployment (One-click Deployment)
Module 51 (Mobile Device Fundamentals - Android)
Mobile Platform Security Models
Computer System Structures
Mobile OSes and security
Android Mobile Application Development
Understanding Android Security
Architecture of Android
CMPE419 Mobile Application Development
Application Development A Tutorial Driven Course
Understanding Android Security
Emerging Platform#3 Android & Programming an App
CMPE419 Mobile Application Development
ClickOnce Deployment (One-click Deployment)
Presentation transcript:

Mobile Platform Security Models John Mitchell CS 155 Spring 2014

2 Outline Introduction: platforms and attacks Apple iOS security model Android security model Windows 7, 8 Mobile security model

3 Mobile phone market share

4

5 Many mobile apps

6

7 Mobile Operating Systems Mobile OS Vulnerabilities Mobile OS Exploits Source: IBM X-Force, Mar 2011

8 Two attack vectors Web browser Installed apps Both increasing in prevalence and sophistication source:

9 Mobile malware attacks Unique to phones: Premium SMS messages Identify location Record phone calls Log SMS Similar to desktop/PCs: Connects to botmasters Steal data Phishing Malvertising

10 Mobile malware examples DroidDream (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 (could have been worse) 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

11 Comparison between platforms Operating system (recall security features from lecture 5) Unix Windows Approval process for applications Market: Vendor controlled/Open App signing: Vendor-issued/self-signed User approval of permission Programming language for applications Managed execution: Java,.Net Native execution: Objective C

12 Outline Introduction: platforms and attacks Apple iOS security model Android security model Windows 7 Mobile security model

13 Apple iOS From: iOS App Programming Guide

14 iOS Platform Kernel: based on Mach kernel like Mac OS X Core OS and Core Services: APIs for files, network, … includes SQLite, POSIX threads, UNIX sockets Media layer: supports 2D and 3D drawing, audio, video Cocoa Touch: Foundation framework, OO support for collections, file management, network operations; UIKit Implemented in C and Objective-C

15 iOS Application Development Apps developed in Objective-C using Apple SDK Event-handling model based on touch events Foundation and UIKit frameworks provide the key services used by all iOS applications

16 Apple iOS Security Device security Prevent unauthorized use of the device Data security Protect data at rest; device may be lost or stolen Network security Networking protocols and encryption of data in transmission App security Secure platform foundation Reference:

17 Device Security: passcodes Strong passcodes Passcode expiration Passcode reuse history Maximum failed attempts Over-the-air passcode enforcement Progressive passcode timeout

18 Data Security Hardware encryption Remote wipe Local wipe Encrypted Configuration Profiles Encrypted iTunes backups

19 Network Security Current accepted network security protocols IPSec, L2TP, PPTP VPN SSL VPN via App Store apps SSL/TLS with X.509 certificates WPA/WPA2 Enterprise with 802.1X

20 App Security Runtime 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 an Apple-issued certificate Application data protection Apps can take advantage of built-in hardware encryption

21 Limit app’s access to files, preferences, network, other resources Each app has own sandbox directory Limits consequences of attacks Same privileges for each app iOS Sandbox

22 Comparison iOSAndroidWindows Unixx Windows Open market Closed marketx Vendor signedx Self-signed User approval of permissions Managed code Native codex

23 Outline Introduction: platforms and attacks Apple iOS security model Android security model Windows 7, 8 Mobile security model

24 Android Platform outline: Linux kernel, browser, SQL-lite database Software for secure network communication  Open SSL, Bouncy Castle crypto API and Java library C language infrastructure Java platform for running applications Also: video stuff, Bluetooth, vibrate phone, etc.

25

26 Android market Self-signed apps Permissions granted on user installation Open Bad applications may show up on market Shifts focus from remote exploit to privilege escalation

27 Security Features Isolation Multi-user Linux operating system Each application normally runs as a different user Communication between applications May share same Linux user ID  Access files from each other  May share same Linux process and Dalvik VM Communicate through application framework  “Intents,” based on Binder, discussed in a few slides Battery life Developers must conserve power Applications store state so they can be stopped (to save power) and restarted – helps with DoS

28 Application development process

29 Application development concepts Activity – one-user task Example: scroll through your inbox client comprises many activities Service – Java daemon that runs in background Example: application that streams an mp3 in background Intents – asynchronous messaging system Fire an intent to switch from one activity to another Example: app has inbox, compose activity, viewer activity  User click on inbox entry fires an intent to the viewer activity, which then allows user to view that Content provider Store and share data using a relational database interface Broadcast receiver “mailboxes” for messages from other applications

30 Exploit prevention 100 libraries million lines new code Open source -> public review, no obscurity Goals Prevent remote attacks, privilege escalation Secure drivers, media codecs, new and custom features Overflow prevention ProPolice stack protection  First on the ARM architecture Some heap overflow protections  Chunk consolidation in DL malloc (from OpenBSD) ASLR Avoided in initial release  Many pre-linked images for performance Developed and contributed by Bojinov, Boneh

31 Application sandbox Each application runs with its UID in its own Dalvik virtual machine  Provides CPU protection, memory protection  Authenticated communication protection using Unix domain sockets  Only ping, zygote (spawn another process) run as root Applications announces permission requirement  Create a whitelist model – user grants access But don’t want to ask user often – all questions asked as install time  Inter-component communication reference monitor checks permissions

32 Layers of security Each application executes as its own user identity Android middleware has reference monitor that mediates the establishment of inter-component communication (ICC) Source: Penn State group Android security paper

33 Source: Penn State group, Android security tutorial

34 dlmalloc (Doug Lea) Stores meta data in band Heap consolidation attack Heap overflow can overwrite pointers to previous and next unconsolidated chunks Overwriting these pointers allows remote code execution Change to improve security Check integrity of forward and backward pointers  Simply check that back-forward-back = back, f-b-f=f Increases the difficulty of heap overflow

35 Java Sandbox Four complementary mechanisms Class loader  Separate namespaces for separate class loaders  Associates protection domain with each class Verifier and JVM run-time tests  NO unchecked casts or other type errors, NO array overflow  Preserves private, protected visibility levels Security Manager  Called by library functions to decide if request is allowed  Uses protection domain associated with code, user policy

36 Comparison: iOS vs Android App approval process Android apps from open app store iOS vendor-controlled store of vetted apps Application permissions Android permission based on install-time manifest All iOS apps have same set of “sandbox” privileges App programming language Android apps written in Java; no buffer overflow… iOS apps written in Objective-C See also:

37 Comparison iOSAndroidWindows Unixxx Windows Open marketx Closed marketx Vendor signedx Self-signedx User approval of permissionsx Managed codex Native codex

38 Outline Introduction: platforms and attacks Apple iOS security model Android security model Windows Phone 7, 8 security model

39 Windows Phone 7, 8 security Secure boot All binaries are signed Device encryption Security model with isolation, capabilities

Windows Phone 7 security model Least Privilege Chamber (LPC) Trusted Computing Base (TCB) Elevated Rights Standard Rights Central repository of rules 3-tuple {Principal, Right, Resource} Chamber boundary is security boundary Chambers defined using policy rules 4 chamber types, 3 fixed size, one can be expanded with capabilities (LPC) Expressed in application manifest Disclosed on Marketplace Defines app’s security boundary on phone

Windows Phone 8 security model Least Privilege Chamber (LPC) Trusted Computing Base (TCB) Services and Application all in chambers WP8 has a richer capabilities list

42 Windows Phone OS 7.0 security model Principles of isolation and least privilege Each chamber Provides a security and isolation boundary Is defined and implemented using a policy system The security policy of a chamber Specifies the OS capabilities that processes in that chamber can access

43 Isolation Every application runs in own isolated chamber All apps have basic permissions, incl a storage file Cannot access memory or data of other applications, including the keyboard cache. No communication channels between applications, except through the cloud Non-MS applications distributed via marketplace stopped in background When user switches apps, previous app is shut down Reason: application cannot use critical resources or communicate with Internet–based services while the user is not using the application

44 Four chamber types Three types have fixed permission sets Fourth chamber type is capabilities-driven Applications that are designated to run in the fourth chamber type have capability requirements that are honored at installation and at run-time

45 Overview of four chambers Trusted Computing Base (TCB) chamber unrestricted access to most resources can modify policy and enforce the security model. kernel and kernel-mode drivers run in the TCB Minimizing the amount of software that runs in the TCB is essential for minimizing the Windows Phone 7, 8 attack surface

46 Overview of four chambers Elevated Rights Chamber (ERC) Can access all resources except security policy Intended for services and user-mode drivers Standard Rights Chamber (SRC) Default for pre-installed applications that do not provide device-wide services Outlook Mobile is an example that runs in the SRC Least Privileged Chamber (LPC) Default chamber for all non-Microsoft applications LPCs configured using capabilities (see next slide)

47 Granting privileges to applications Goal: Least Privilege Application gets capabilities needed to perform all its use cases, but no more Developers Use the capability detection tool to create the capability list The capability list is included in the application manifest Each application discloses its capabilities to the user, Listed on Windows Phone Marketplace. Explicit prompt upon application purchase Disclosure within the application, when the user is about to use the location capability for the first time.

48 Windows Phone 7 “Capabilities” W7 Capability: a resource associated with user privacy, security, cost, or business concerns Examples: geographical location information, camera, microphone, networking, and sensors.

49 Managed code Application development model uses of managed code only

50.NET Code Access Security Default Security Policy is part of the.NET Framework Default permission for code access to protected resources Permissions can limit access to system resources. Use EnvironmentPermission class for environment variables access permission. The constructor defines the level of permission (read, write,…) Deny and Revert The Deny method of the permission class denies access to the associated resource The RevertDeny method will cause the effects of any previous Deny to be cancelled

51 Example: code requires permission class NativeMethods { // This is a call to unmanaged code. Executing this method // requires the UnmanagedCode security permission. Without // this permission, an attempt to call this method will throw a // SecurityException: [DllImport("msvcrt.dll")] public static extern int puts(string str); [DllImport("msvcrt.dll")] internal static extern int _flushall(); }

52 Example: Code denies permission not needed [SecurityPermission(SecurityAction.Deny, Flags = SecurityPermissionFlag.UnmanagedCode)] private static void MethodToDoSomething() { try { Console.WriteLine(“ … "); SomeOtherClass.method(); } catch (SecurityException) { … }

53 calls.NET Stackwalk Demand must be satisfied by all callers Ensures all code in causal chain is authorized Cannot exploit other code with more privilege Code B Code C Demand P B has P? A has P? calls Code A

54 Stackwalk: Assert The Assert method can be used to limit the scope of the stack walk Processing overhead decreased May inadvertently result in weakened security

55 Comparison between platforms Operating system Unix Windows Approval process for applications Market: Vendor controlled/Open App signing: Vendor-issued/self-signed User approval of permissions Programming language for applications Managed execution: Java,.Net Native execution: Objective C

56 Comparison iOSAndroidWindows Unixxx Windowsx Open marketx Closed marketxx Vendor signedx Self-signedxx User approval of permissionsx7-> 8 Managed codexx Native codex

57 Conclusion Introduction: platforms and attacks Apple iOS security model Android security model Windows 7, 8 Mobile security model