Android Security Joshua Hodosh and Tim Leek



Similar documents
Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Overview of CS 282 & Android

Analysis of advanced issues in mobile security in android operating system

Lecture 17: Mobile Computing Platforms: Android. Mythili Vutukuru CS 653 Spring 2014 March 24, Monday

Android Programming and Security

Hacking your Droid ADITYA GUPTA

Popular Android Exploits

Android Security. Giovanni Russello

Introduction to Android

Android Fundamentals 1

Android Geek Night. Application framework

Studying Security Weaknesses of Android System

Defending Behind The Device Mobile Application Risks

ITG Software Engineering

Reversing Android Malware

How To Develop Android On Your Computer Or Tablet Or Phone

Security Solution for Android Application Assessment

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

Graduate presentation for CSCI By Janakiram Vantipalli ( Janakiram.vantipalli@colorado.edu )

ANDROID BASED MOBILE APPLICATION DEVELOPMENT and its SECURITY

Understanding Android s Security Framework

Mercury User Guide v1.1

Android Application Development

Android Commercial Spyware Disease and Medication

A Short Introduction to Android

Example of Standard API

Synthesis for Developing Apps on Mobile Platforms

Tushar Dalvi Sr. Security Engineer at LinkedIn Penetration Tester. Responsible for securing a large suite mobile apps

Pentesting Android Apps. Sneha Rajguru

The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.

Advanced ANDROID & ios Hands-on Exploitation

Android Security for Enterprise App Developers Jon Preedy

INTRODUCTION TO ANDROID CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 11 02/15/2011

Messing with the Android Runtime

Research and Design of Universal and Open Software Development Platform for Digital Home

Overview. The Android operating system is like a cake consisting of various layers.

Running a Program on an AVD

Android Development Exercises Version Hands On Exercises for. Android Development. v

Mobile Application Security and Penetration Testing Syllabus

Security Issues in Android Custom ROMs

Android Application Repackaging

An Introduction to Android. Huang Xuguang Database Lab. Inha University

BYOD Guidance: BlackBerry Secure Work Space

Building a Mobile App Security Risk Management Program. Copyright 2012, Security Risk Advisors, Inc. All Rights Reserved

GlobalProtect Overview

Mobile Application Security Testing ASSESSMENT & CODE REVIEW

Android Development Tools for Eclipse

Configuring MassTransit Server to listen on ports less than 1024 using WaterRoof on Macintosh Workstations

An Introduction to Android

Issues in Android on Mobile Platform and Their Resolution

APPLICATION SECURITY: FROM WEB TO MOBILE. DIFFERENT VECTORS AND NEW ATTACK

TOTAL DEFENSE MOBILE SECURITY USER S GUIDE

Islamic University of Gaza. Faculty of Engineering. Computer Engineering Department. Mobile Computing ECOM Eng. Wafaa Audah.

Android Architecture. Alexandra Harrison & Jake Saxton

Sascha Fahl, Marian Harbach, Matthew Smith. Usable Security and Privacy Lab Leibniz Universität Hannover

Sophos Mobile Control User guide for Android. Product version: 4

Blackbox Android. Breaking Enterprise Class Applications and Secure Containers. Marc Blanchou Mathew Solnik 10/13/

Administrator's Guide

Getting Started with Android Programming (5 days) with Android 4.3 Jelly Bean

The Behavioral Analysis of Android Malware

Android Binder. Android Interprocess Communication. Thorsten Schreiber First Advisor: Juraj Somorovsky Second Advisor: Daniel Bußmeyer

SYLLABUS MOBILE APPLICATION SECURITY AND PENETRATION TESTING. MASPT at a glance: v1.0 (28/01/2014) 10 highly practical modules

OpenCV on Android Platforms

Android Development. Marc Mc Loughlin

Developing for MSI Android Devices

MOBILE BANKING USER GUIDE

ANDROID PROGRAMMING - INTRODUCTION. Roberto Beraldi

Adobe Flash Player and Adobe AIR security

Kaspersky Fraud Prevention: a Comprehensive Protection Solution for Online and Mobile Banking

Developing Mobile Device Management for 15 million devices (case study) Rim KHAZHIN

Introduction to Android Android Architecture Software Development Purpose of the project Location Based Service (LBS) Android. Location class Google

WebView addjavascriptinterface Remote Code Execution 23/09/2013

Workshop on Android and Applications Development

Mobile applications security Android OS (case study) Maciej Olewiński. Cryptographic Seminar r.

Enterprise Application Security Workshop Series

AVG Business SSO Partner Getting Started Guide

Android Developer Fundamental 1

Introduction to Google Apps for Business Integration

Android (Basic + Advance) Application Development

GO!Enterprise Mobile Device Management Android Release Notes

Table of Contents. Adding Build Targets to the SDK 8 The Android Developer Tools (ADT) Plug-in for Eclipse 9

Why API? Using the REST API in an education environment. JAMF Software, LLC

Mobile Application Development Android

Review and Exploit Neglected Attack Surface in ios 8. Tielei Wang, Hao Xu, Xiaobo Chen of TEAM PANGU

Specialized Android APP Development Program with Java (SAADPJ) Duration 2 months

ANDROID APPS DEVELOPMENT FOR MOBILE AND TABLET DEVICE (LEVEL I)

Lecture 2 PLATFORM SECURITY IN ANDROID OS

BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: Security Note

Xerox Mobile Link 2.0 Frequently Asked Questions (FAQ) - Android

Fairsail REST API: Guide for Developers

Hey, We Catch You: Dynamic Analysis of Android Applications. Wenjun Hu(MindMac) PacSec, Tokyo

Enterprise Apps: Bypassing the Gatekeeper

Penetration Testing for iphone Applications Part 1

Fourteenforty Research Institute, Inc.

Transcription:

Android Security Joshua Hodosh and Tim Leek This work is sponsored under Air Force contract FA8721-05-C-0002. Opinions, interpretations, conclusions, and recommendations are those of the authors and are not necessarily endorsed by United States Government.!

Android is Middleware Object-Oriented OS API IOCTLs fread,etc. VK - 2

Android is Middleware Object-Oriented OS API IOCTLs fread,etc. VK - 3

Android is Middleware Apache+Proprietary User-Space Drivers GPL VK - 4

Android as a Linux System Dalvik Process Native Process Zygote forks into Dalvik apps; COW memory includes all Dalvik classes VK - 5

How does it make calls? In the Goldfish emulated device, RIL and rild communicate over a socket VK - 6

Android Package Zip File (.APK extension) XML Manifest Security info Activities (windows) Intent filters (event handler registration) Dalvik bytecode Native code Anything else VK - 7

Android Package: IPC Android apps are highly multithreaded and componentized There is no main, just event listeners Intent objects contain data and/or metadata URI, action text, and possibly other data http://foo.com, mailto://bar@example, vending://com.app, The intent resolver routes them to the app component(s) they need to be delivered to VK - 8

Android Security Model Capability based Apps request permission to use a set of capabilities which the user approves at install Eg. install apps, send text messages, make phone calls, read GPS, talk to internet Only dangerous permissions are even shown to the user, other are silently approved Mix of coarse- and fine-grained permissions All network traffic is one permission GPS and cell-triangulation are different permissions Mostly enforced at the Java API layer Each app runs as a separate user Some APIs check user s permissions list Some enforcement is by UNIX file permissions VK - 9

Android Security Model: Custom Permissions Apps can define and export their own permissions/capabilities Eg. A PGP app can let any email client request an email be signed Permissions can be protected by author private key All apps signed with the same private key can use them Apps by the same author can be merged Can load classes from each other (not scary) Can request to run as the same user (scary! union of perms) This also changes the installed app s permissions Since signature -level permissions are auto-granted, this just makes analysis more difficult Google Key 57:88 : Gmail Access Google Key A6:00 VK - 10

Android Security Model: Capability Leaks Lots of implicit permissions for internal communications App components can be fed arbitrary input Intents can directly target a component (like Authenticator2 did), bypassing the resolver Google has a warning on their developer portal Woodpecker academic software detects issues North Carolina State University Eg Samsung phones could be factory reset with a single broadcast message Android Reset Button Broadcast Intent: SELECTIVE_RESET Samsung Confirmation Screen NO AUTHENTICATION Broadcast Intent: SELECTIVE_RESET_DONE Android Reset Service VK - 11

Android Security Model: Dynamic Loading Apps can load any readable Dalvik bytecode file or Linux shared library.so files don t evade the sandbox Either thunk back to Java through JNI and get checked, or Do all the work themselves and file permission checks in /dev can stop them VK - 12

Android Security Model: Permission Coverage of APIs Paraphrasing of Google s advice to app developers: Add permissions until the API call succeeds Two academic efforts to map permissions to protected APIs Android-permissions.org instruments the package manager s permission checker and runs through the Android API dynamically (Dawn Song, UC Berkeley) PScout analyzes the Android OS statically (University of Toronto) Especially complex because of conjunctions and disjunctions VK - 13

Android Security Model: Files Files are either private to an application or world-readable, determined by their location Private files can be shared or made available with IPC VK - 14

Android Security Model: Google Phones with Google apps like to talk to Google Constant Google Talk connection for notifications Play Store (web or app) pushes app install commands over Google Talk That s why the PackageManagerService dialog doesn t pop up for them, but does for all apps with Install packages permission Google has demonstrated an ability to push delete app commands Used to exterminate any malware found spreading through the Play Store Used sparingly Not part of open-source Android Presumably able to delete any app, not just ones installed through Play VK - 15

Android Malware Mostly ask the user for permission to do stuff Most of it sends SMSs to premium numbers Some are sophisticated trojans with standard remote control These usually just ask for permission Users want their pr0n and pirated w@r3z and will click anything they have to Very few use vulnerabilities in Android All known rooting malware used exploits previously used for jailbreaking 0-days may be used by commercial law enforcement tools FinFisher/FinSpy (British/German?) Remote Control System (hackingteam.it, Milan) VK - 16

Reverse Engineering Tools AndroGuard Python, open source Fully scriptable/extensible, depends on understanding of internal code Focused on identifying variants and creating signatures JEB Pair-wise analysis Commercial ($1000/seat) IDA for Android With a decompiler Has some issues saving notes Scripting API v1 is limited VK - 17

VK - 18 Questions?