Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.

Slides:



Advertisements
Similar presentations
Operating-System Structures
Advertisements

Thomas S. Messerges, Ezzat A. Dabbish Motorola Labs Shin Seung Uk.
Overview Network security involves protecting a host (or a group of hosts) connected to a network Many of the same problems as with stand-alone computer.
Operating System Security
ASM: A Programmable Interface for Extending Android Security Research by: Stephan Heuser, Adwair Nadkarni, William Enck, Ahmad-Reza Sadeghi From NC State.
Application Fundamentals Android Development. Announcements Posting in D2L Tutorials.
Presented By Abhishek Singh Computer Science Department Kent state University WILLIAM ENCK, MACHIGAR ONGTANG, AND PATRICK MCDANIEL.
Machigar Ongtang, Stephen McLaughlin, William Enck, Patrick McDaniel Department of Computer Science and Engineering The Pennsylvania State University ACSCA.
Android Security. N-Degree of Separation Applications can be thought as composed by Main Functionality Several Non-functional Concerns Security is a non-functional.
An Evaluation of the Google Chrome Extension Security Architecture
Android Overview. Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short.
Building and Deploying Safe and Secure Android Apps for Enterprise Presented by Technology Consulting Group at Endeavour Software Technologies.
Java Security: From HotJava to Netscape & Beyond Drew Dean, Edward W. Felten, Dan S. Wallach Department of Computer Science, Princeton University May,
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Android 101 Application Fundamentals January 29, 2010.
Security of Mobile Applications Vitaly Shmatikov CS 6431.
Mobile Programming Pertemuan 6 Presented by Mulyono Poltek NSC Surabaya.
Service Broker Lesson 11. Skills Matrix Service Broker Service Broker, provides a solution to common problems with message delivery and consistency that.
Android Overview Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short distance)
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Middleware Bo Pang
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 MobiSys '11 Proceedings of the 9th international conference on Mobile systems, applications,
Detecting and Preventing Privilege- Escalation on Android Jiaojiao Fu 1.
Lecture 4 Page 1 CS 236 Online Prolog to Lecture 4 CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Mobile Application Development using Android Lecture 2.
Developing Security Mobile Applications for Android Presenter, Joel Elixson Author, Jesse Burns of iSEC Partners.
Developing Secure Mobile Applications for Android CS 595 James Zachary Howland.
Overview of Android Application Development
Module 9 Configuring Messaging Policy and Compliance.
COMP 365 Android Development.  Every android application has a manifest file called AndroidManifest.xml  Found in the Project folder  Contains critical.
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
G53SEC 1 Access Control principals, objects and their operations.
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.
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,
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 13. Review Shared Data Software Architectures – Black board Style architecture.
Mobile Application Security on Android Originally presented by Jesse Burns at Black Hat
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
Wireless and Mobile Security
Android Permissions Demystified
Trusted Operating Systems
Privilege Management Chapter 22.
VMM Based Rootkit Detection on Android
Lecture 2: Android Concepts
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
NTHU CS ISLAB 國立清華大學 資訊工程研究所 資訊安全實驗室 Semantically Rich Application- Centric Security in Android Machigar Ongtang, Stephen McLaughlin, William Enck and.
A Multi-Dimensional Configurable Access Control Framework for Mobile Applications By: Yaira K. Rivera Sánchez Major Advisor: Steven A. Demurjian.
PREPARED BY: MS. ANGELA R.ICO & MS. AILEEN E. QUITNO (MSE-COE) COURSE TITLE: OPERATING SYSTEM PROF. GISELA MAY A. ALBANO PREPARED BY: MS. ANGELA R.ICO.
By: Matt Winkeler.  PCI – Payment Card Industry  DSS – Data Security Standard  PAN – Primary Account Number.
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?
ANDROID ACCESS CONTROL Presented by: Justin Williams Masters of Computer Science Candidate.
Android Application -Architecture.
More Security and Programming Language Work on SmartPhones
Free for All! Assessing User Data Exposure to Advertising Libraries on Android Campbell Foskin.
Lecture 2: Android Concepts
Understanding Android Security
Android Access Control
Android System Security
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
THE STEPS TO MANAGE THE GRID
Firewalls.
What is an Operating System?
Understanding Android Security
Emerging Platform#3 Android & Programming an App
Introduction to Android
Android Access Control
Presentation transcript:

Android Security Enforcement and Refinement

Android Applications --- Example Example of location-sensitive social networking application for mobile phones in which users can discover their friends’ locations. Activities provide a user interface, Services execute background processing, Content providers are data storage facilities, and Broadcast receivers act as mailboxes for messages from other applications.

Android Applications --- Example Application(cont.) Take FriendTracker application for example, FriendTracker (Service) polls an external service to discover friends’ locations FriendProvider (Content provider) maintains the most recent geographic coordinates for friends FriendTrackerControl (Activity) defines a user interface for starting and stopping the tracking functionality BootReceiver (Broadcast receiver) gets a notification from the system once it boots (the application uses this to automatically start the FriendTracker service).

Android Applications--- Component Interaction Intent - is the primary mechanism for component interaction, which is simply a message object containing a destination component address and data Action - the process of inter-components communication

Android Applications--- Component Interaction (cont.) Example: Interaction between components in applications and with components in system applications. Interactions occur primarily at the component level.

Android Applications--- Component Interaction (cont.) Each component type supports interaction specific to its type. For example, Service components support start, stop, and bind actions, so the FriendTrackerControl (Activity) can start and stop the FriendTracker (Service) that runs in the background.

Security Enforcement Android protect application at system level and at the Inter-component communication (ICC) level. This article focus on the ICC level enforcement. Each application runs as a unique user identity, which lets Android limit the potential damage of programming flaws.

Security Enforcement (cont.) Example: Protection. Security enforcement in Android occurs in two places: each application executes as its own user identity, allowing the underlying Linux system to provide system-level isolation; and the Android middleware contains a reference monitor that mediates the establishment of inter-component communication (ICC).

Security Enforcement (cont.) Core idea of Android security enforcement - labels assignment to applications and components A reference monitor provides mandatory access control (MAC) enforcement of how applications access components. Access to each component is restricted by assigning it an access permission label; applications are assigned collections of permission labels. When a component initiates ICC, the reference monitor looks at the permission labels assigned to its containing application and— if the target component’s access permission label is in that collection— allows ICC establishment to proceed.

Security Enforcement (cont.) Example: Access permission logic. The Android middleware implements a reference monitor providing mandatory access control (MAC) enforcement about how applications access components. The basic enforcement model is the same for all component types. Component A’s ability to access components B and C is determined by comparing the access permission labels on B and C to the collection of labels assigned to application 1.

Security Enforcement - Conclusion Assigning permission labels to an application specifies its protection domain. Assigning permissions to the components in an application specifies an access policy to protect its resources. Android’s policy enforcement is mandatory, all permission labels are set at install time and can’t change until the application is reinstalled. Android’s permission label model only restricts access to components and doesn’t currently provide information flow guarantees.

Security Refinements --- Public vs. Private Components Applications often contain components that another application should never access. For example, component related to password storing. The solution is to define private component. This significantly reduces the attack surface for many applications.

Security Refinements --- Implicitly Open Components At development time, if the decision of access permission is unclear, The developer can permit the functionality by not assigning an access permission to it. If a public component doesn’t explicitly have an access permission listed in its manifest definition, Android permits any application to access it.

Security Refinements --- Broadcast Intent Permissions Sending the unprotected intent is a privacy risk. Android API for broadcasting intents optionally allows the developer to specify a permission label to restrict access to the intent object.

Security Refinements --- Content Provider Permissions If the developer want his application to be the only one to update the contents but for other applications to be able to read them. Android allows such a security policy assigning read or write permissions.

Security Refinements --- Protected APIs Not all system resources(for example, network) are accessed through components— instead, Android provides direct API access. Android protects these sensitive APIs with additional permission label checks: an application must declare a corresponding permission label in its manifest file to use them.

Security Refinements --- Permission Protection Levels The permission protection levels provide a means of controlling how developers assign permission labels. Signature permissions ensure that only the framework developer can use the specific functionality (only Google applications can directly interface the telephony API, for example).

Security Refinements --- Pending Intents Pending intent - a developer defines an intent object to perform an action. However, instead of performing the action, the developer passes the intent to a special method that creates a PendingIntent object corresponding to the desired action. The PendingIntent object is simply a reference pointer that can pass to another application. Pending intents allow applications included with the framework to integrate better with third- party applications.

Lessons in Defining Policy Android security policy begins with a relatively easy-to-understand MAC enforcement model, but the number and subtlety of refinements make it difficult to discover an application’s policy. The label itself is merely a text string, but its assignment to an application provides access to potentially limitless resources.