Erika Chin Adrienne Porter Felt Kate Greenwood David Wagner University of California Berkeley MobiSys 2011.

Slides:



Advertisements
Similar presentations
Google Android Introduction to Mobile Computing. Android is part of the build a better phone process Open Handset Alliance produces Android Comprises.
Advertisements

Application Fundamentals Android Development. Announcements Posting in D2L Tutorials.
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
©2011 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Software Security Goes Mobile Jacob.
Security of Mobile Applications Vitaly Shmatikov CS 6431.
Mobile Programming Pertemuan 6 Presented by Mulyono Poltek NSC Surabaya.
Intent An Intent describes the operation to be performed. Intents are used to start an activity using either of the following methods – Context.startActivity()
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)
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.
A METHODOLOGY FOR EMPIRICAL ANALYSIS OF PERMISSION-BASED SECURITY MODELS AND ITS APPLICATION TO ANDROID.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 MobiSys '11 Proceedings of the 9th international conference on Mobile systems, applications,
 Understanding an activity  Starting an activity  Passing information between activities  Understanding intents  Understanding the activity lifecycle.
Detecting and Preventing Privilege- Escalation on Android Jiaojiao Fu 1.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
Software Architecture of Android Yaodong Bi, Ph.D. Department of Computing Sciences University of Scranton.
APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.
Mobile Computing Lecture#08 IntentFilters & BroadcastReceivers.
A NDROID P ERMISSIONS D EMYSTIFIED Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner University of California ACM CCS /09/20.
Rajab Davudov. Agenda Eclipse, ADT and Android SDK APK file Fundamentals – Activity – Service – Content Provider – Broadcast Receiver – Intent Hello World.
Using Intents to Broadcast Events Intents Can be used to broadcast messages anonymously Between components via the sendBroadcast method As a result Broadcast.
Cosc 5/4730 Broadcast Receiver. Broadcast receiver A broadcast receiver (short receiver) – is an Android component which allows you to register for system.
Android ICC Part II Inter-component communication.
CS378 - Mobile Computing Intents.
16 Services and Broadcast Receivers CSNB544 Mobile Application Development Thanks to Utexas Austin.
Developing Security Mobile Applications for Android Presenter, Joel Elixson Author, Jesse Burns of iSEC Partners.
Cellular Networks and Mobile Computing COMS , Spring 2012 Instructor: Li Erran Li
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 L. Grewe Components  Java Standard Development Kit (JDK) (download) (latest version)  AndroidStudio.
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.
Introducing Intents Intents Bind application components and navigate between them Transform device into collection of interconnected systems Creating a.
Android Permissions Demystified
Lecture 2: Android Concepts
Android By Collin Donaldson With Strong Contributions From: Anthony Kopczyk.
Speech Service & client(Activity) 오지영.
Intents and Broadcast Receivers Dr. David Janzen Except as otherwise noted, the content of this presentation is licensed under the Creative Commons Attribution.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Working with Multiple Activities. Slide 2 Introduction Working with multiple activities Putting together the AndroidManifest.xml file Creating multiple.
Messaging and Networking. Objectives Send SMS messages using the Messaging app Send SMS messages programmatically from within your app Receive and consume.
CS371m - Mobile Computing Intents 1. Allow us to use applications and components that are already part of Android System – start activities – start services.
Joshua Garcia Institute for Software Research
Android Mobile Application Development
Android Application -Architecture.
More Security and Programming Language Work on SmartPhones
Reactive Android Development
Lecture 2: Android Concepts
Understanding Android Security
Broadcast receivers.
CS371m - Mobile Computing Services and Broadcast Receivers
Android System Security
Android Runtime – Dalvik VM
Messaging Unit-4.
Reactive Android Development
Deception and Countermeasures in the Android User Interface
CS371m - Mobile Computing Intents.
Application Development A Tutorial Driven Course
Activities and Intents
Understanding Android Security
Android Developer Fundamentals V2 Lesson 5
It is used to Start an Activity Start a Service Deliver a Broadcast
Introduction to Android
Lecture 2: Android Concepts
Presentation transcript:

Erika Chin Adrienne Porter Felt Kate Greenwood David Wagner University of California Berkeley MobiSys 2011

Outline  Introduction  Android Overview  Intent-based Attack Surfaces  ComDroid  Evaluation  Other mobile Platforms

Introduction

 Android’s message passing system can become an attack surface if used incorrectly  Intent  Intents can be used for both intra- and inter- application communication  ComDroid  A tool analyzes Android applications to detect potential instances of vulnerabilities  Personal data loss, corruption, phishing…

Android Overview

 Android’s security model differs significantly from the standard desktop security model  The complexity of Android’s message passing system implies it has the largest attack surface

Android Overview  Threat Model Isolation (mem, file..)

Android Overview Activity Service BroadcastReceiver Service BroadcastReceiver Service BroadcastReceiver Intent System Intent Malicious Intent Fake System Intent

Android Overview Activity attacker.com ?

Android Overview  This paper do not consider attacks on the OS  Just focus on securing applications from each other

Android Overview  Intents [link][link]  System broadcast Intents  Only can be sent by the OS  Explicit or implicit

Explicit Intents 12 Yelp Map App Name: MapActivity To: MapActivity Only the specified destination receives this message

Implicit Intents 13 Yelp Clock App Map App Handles Action: VIEW Handles Action: DISPLAYTIME Implicit Intent Action: VIEW

Implicit Intents 14 Yelp Browser App Map App Handles Action: VIEW Implicit Intent Action: VIEW

Android Overview  Activities  Services  Broadcast Receivers  Content Providers

Android Overview  Activity  Display on screen 2009/12/8Advanced Defense Laboratory 16

Android Overview  Service  Background process 2009/12/8Advanced Defense Laboratory 17

Android Overview  Broadcast Receiver  Asynchronous event notification 2009/12/8Advanced Defense Laboratory 18

Android Overview  Content Provider  Share data between applications  Do not use Intents  Use URI (Uniform Resource Identifier) 2009/12/8Advanced Defense Laboratory 19

Android Overview  Component Declaration  AndroidManifest.xml  To receive Intents…  Service and Activity must be declared in the manifest  Broadcast Receivers can be declared at runtime or in the manifest

Android Overview  Exported Components  EXPORTED flag (in AndroidManifest.xml)  Includes at least one Intent filter  Intent filter  Action, category, data, extra data…

Android Overview  A sender can assign any action, type, or category (certain actions that it only the system can send)

Android Overview  Permission  Normal  Dangerous  Signature  SignatureOrSystem

Intent-based Attack Surfaces

Common Developer Pattern: Unique Action Strings 25 Showtime Search Results UI IMDb App Handles Actions: willUpdateShowtimes, showtimesNoLocationError Implicit Intent Action: willUpdateShowtimes

26

Common Developer Pattern: Unique Action Strings 27 Showtime Search Results UI IMDb App Handles Actions: willUpdateShowtimes, showtimesNoLocationError Implicit Intent Action: willUpdateShowtimes

ATTACK #1: Eavesdropping 28 Showtime Search Malicious Receiver IMDb App Handles Action: willUpdateShowtimes, showtimesNoLocationError Implicit Intent Action: willUpdateShowtimes Eavesdropping App Sending Implicit Intents makes communication public

ATTACK #2: Intent Spoofing 29 Malicious Component Results UI IMDb App Handles Action: willUpdateShowtimes, showtimesNoLocationError Action: showtimesNoLocationError Malicious Injection App Receiving Implicit Intents makes the component public

30 Typical caseAttack case

ATTACK #3: Man in the Middle 31 Showtime Search Results UI IMDb App Handles Action: willUpdateShowtimes, showtimesNoLocation Error Malicious Receiver Handles Action: willUpdateShowtimes, showtimesNoLocationError Man-in-the-Middle App Action: willUpdateShowtimes Action: showtimesNoLocation Error

ATTACK #4: System Intent Spoofing  Background – System Broadcast  Event notifications sent by the system  Some can only be sent by the system  Receivers become accessible to all applications when listening for system broadcast 32

System Broadcast 33 Component App 1 Handles Action: BootCompleted Component App 2 Handles Action: BootCompleted Component App 3 Handles Action: BootCompleted System Notifier Action: BootCompleted

System Intent Spoofing: Failed Attack 34 Handles Action: BootCompleted Malicious Component Malicious App Action: BootCompleted Component App 1

System Intent Spoofing: Successful Attack 35 Handles Action: BootCompleted Malicious Component Malicious App Component App 1 To: App1.Component

Real World Example: ICE App  ICE App: Allows doctors access to medical information on phones  Contains a component that listens for the BootCompleted system broadcast  On receipt of the Intent, it exits the application and locks the screen 36

Real World Example: ICE 37

ComDroid

 Disassemble application DEX files using Dedexer tool Dedexer  Parses the disassembled output and logs potential component and Intent vulnerabilities

ComDroid

 Permission  Normal and Dangerous  Intent Analysis  Intents, IntentFilters, registers, sinks (e.g., sendBroadcast(), startActivity(), etc.) and components

ComDroid  Intent  Whether it has been made explicit  Whether it has an action  Whether it has any flags set  Whether it has any extra data  Sinks  Implicit or not?

ComDroid  Component Analysis  Public or not?  Main, launching Activity is public but is less likely to be attackable  registerReceiver()  With data / without data  System broadcast  Intent.getAction()  Misuse

ComDroid  Limitation and discussion  Do not distinguish between paths through if and switch statements  False negatives  Pending Intent  Future work

Evaluation