Mobile Application Security on Android Originally presented by Jesse Burns at Black Hat 2009 1.

Slides:



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

Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
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.
Android architecture overview
Chapter 6 Security Kernels.
Android Security. N-Degree of Separation Applications can be thought as composed by Main Functionality Several Non-functional Concerns Security is a non-functional.
Android Overview. Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short.
Android 101 Application Fundamentals January 29, 2010.
ANDROID™ OS Security A brief synopsis of the Android Operating System and its security. By Daniel Angelis.
Mobile Application Development
Security of Mobile Applications Vitaly Shmatikov CS 6431.
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
Android Overview Android (Google) is a widely anticipated open source operating system for mobile devices, Supporting Bluetooth ( wireless for short distance)
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.
Android Middleware Bo Pang
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 MobiSys '11 Proceedings of the 9th international conference on Mobile systems, applications,
Introduction to Android Swapnil Pathak Advanced Malware Analysis Training Series.
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Software Architecture of Android Yaodong Bi, Ph.D. Department of Computing Sciences University of Scranton.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
Android ICC Part II Inter-component communication.
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Erika Chin Adrienne Porter Felt Kate Greenwood David Wagner University of California Berkeley MobiSys 2011.
DUE Hello World on the Android Platform.
CS378 - Mobile Computing Intents.
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
CS378 - Mobile Computing Intents. Allow us to use applications and components that are part of Android System – start activities – start services – deliver.
COMP 365 Android Development.  Every android application has a manifest file called AndroidManifest.xml  Found in the Project folder  Contains critical.
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 L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
Android Security Model that Provide a Base Operating System Presented: Hayder Abdulhameed.
Android Declassification Infrastructure Matan David Yuval Evron Project Advisor: Roei Schuster 1.
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
Android Permissions Demystified
VMM Based Rootkit Detection on Android
Lecture 2: Android Concepts
By: Collin Molnar. Overview  Intro to Android  Security basics  Android architecture  Application isolation  Application permissions  Physical access.
Analyzing Input Validation vulnerabilities in Android System Services NAMJUN PARK (NPAR350)
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
ANDROID ACCESS CONTROL Presented by: Justin Williams Masters of Computer Science Candidate.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Android Application -Architecture.
Lecture 2: Android Concepts
Understanding Android Security
Instructor: Mazhar Hussain
Android System Security
Android Runtime – Dalvik VM
Outline What does the OS protect? Authentication for operating systems
Android Mobile Application Development
Outline What does the OS protect? Authentication for operating systems
Application Development A Tutorial Driven Course
Understanding Android Security
Android Developer Fundamentals V2 Lesson 5
Emerging Platform#3 Android & Programming an App
Mobile Programming Dr. Mohsin Ali Memon.
Introduction to Android
Lecture 2: Android Concepts
Presentation transcript:

Mobile Application Security on Android Originally presented by Jesse Burns at Black Hat

What is Android?  Smart Phone Operating System  Based on the Linux kernel  Expanded to support cellular based communication GSM, CMDA  Java like middleware 2

More Android  Open Source Mostly Apache v2 license Linux kernel is GPLv2  Free  Open API’s If Google uses them, so can developers 3

Applications  Built from for “components” Activity Service Content Provider Broadcast Receiver  Run in own VM sandbox using unique UID 4

More on Apps  Use explicitly defined permissions  Communicate through Intents  Intents are Inter-Process Communications  Applications register which Intents they wish to handle 5

Signatures  applications must be signed, but are usually self-signed proves no relationship with Google, but creates chain of trust between updates and among applications 6

Permissions I  >100 defined by the system  Declared at install time in Manifest.xml  Disclosed by PackageInstaller, protected by root ownership 7

Permissions II  applications can define arbitrary new perms normal dangerous signature signatureOrSystem 8

Permission III  Permissions checked at runtime  SecurityException thrown if permission denied 9

Intents  Core of Android IPC  Can cross security boundaries  Generally defined as a goal action and some data 10

Intent II  Used to: Start an Activity Broadcast events or changes Start, stop, or communicate with background Services Access data held by ContentProviders Call backs to handle events 11

Intent Filters  Used to determine recipient of Intent  Can be overridden  Provide no security Intents can explicitly define receiver 12

Activities  The user interface consists of a series of Activity components.  Each Activity is a “screen”.  User actions tell an Activity to start another Activity, possibly with the expectation of a result. 13

Activity II  The target Activity is not necessarily in the same application.  Directly or via Intent “action strings”.  Processing stops when another Activity is “on top”.  Must be able to handle malformed intents  Don’t start Intents that contain sensitive data 14

Activity III  Starting an Activity from an Intent 15

Activity IV  Forcing an Activity to start 16

Activity V  Protecting Activities 17

Broadcasts  Act as recievers for multiple components  Provide secure IPC  Done by specifying permissions on BroadcastReceiver regarding sender  Otherwise, behave like activities in terms of IPC 18

Broadcast II  Still need to validate input just in case  Sticky Broadcasts Persistent Apps require special permissions to create/destroy sticky broadcasts No guarantee of persistence Can’t define permission ○ Don’t send sensitive data 19

Services  Run in background  Play music, alarm clock, etc  Secured using permissions  Callers may need to verify that Service is the correct one 20

Services II  Verification: Check Service’s permissions res = getPackageManager().checkPermission(permToCheck, name.getPackageName()); 21

ContentProviders  Generally SQL backend  Used to share content between apps  Access controlled through permission tags 22

ContentProviders II  Apps can be dynamically authorized access Possible security hole  Must protect against SQL injection Sanitize input using parameterization 23

Intent Reflection  Intents may be sent when app is called  App sends Intent as app and not as caller: reflection May exceed caller’s permissions  Use PendingIntent instead, intent correctly identified as coming from caller 24

File System  Internally standard Linux file systems – yaffs2, ext*  Support stand Unix permissions  Vulnerabilities if permissions not set correctly Sensitive data could be read Other programs could write junk/waste space 25

File System II  Consider what files need what protections Config files: not writeable Log files: not world readable  Mass storage formatted as FAT, no Unix permissions support All data world readable Consider encryption 26

Binder  Kernel module that provides secure IPC on top of the standard Linux shared memory architecture  Includes interface to Parceable Parceable objects are passed by Binder  Can also move file descriptors, and other Binders 27

Binder II  Efficient, secure IPC Check caller’s permissions / identity Only selectively give out interface ○ Once given out, interface can be disseminated freely  All Binders are globally unique 28