A NDROID P ERMISSIONS D EMYSTIFIED Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner University of California ACM CCS 2011 2011/09/20.

Slides:



Advertisements
Similar presentations
Configuration management
Advertisements

Configuration management
PScout: Analyzing the Android Permission Specification
Presented By Abhishek Singh Computer Science Department Kent state University WILLIAM ENCK, MACHIGAR ONGTANG, AND PATRICK MCDANIEL.
Presented By: Aniithaa Rajashekar 03/04/  Access to privacy- and security-relevant parts of the Android API is controlled with an install- time.
1 Detection of Injected, Dynamically Generated, and Obfuscated Malicious Code (DOME) Subha Ramanathan & Arun Krishnamurthy Nov 15, 2005.
Chapter 51 Scripting With JSP Elements JavaServer Pages By Xue Bai.
An Evaluation of the Google Chrome Extension Security Architecture
Automating Bespoke Attack Ruei-Jiun Chapter 13. Outline Uses of bespoke automation ◦ Enumerating identifiers ◦ Harvesting data ◦ Web application fuzzing.
visualSTATE 4 Workshop Seminar Content, Day 1 Introduction Different analysis methods State/Transition principles,  Mealy notation  Moore notation.
Mercury Quality Center Formerly Test Director. Topics Covered Testdirector Introduction Understanding the Testdirector Interface. Understanding Requirement.
Leveraging User Interactions for In-Depth Testing of Web Applications Sean McAllister, Engin Kirda, and Christopher Kruegel RAID ’08 1 Seoyeon Kang November.
Static Analysis for Dynamic Assessments Greg Patton | September 2014.
Intrusion Detection System Marmagna Desai [ 520 Presentation]
Unsafe Exposure Analysis of Mobile In-App Advertisements Offense: Rachel Stonehirsch.
BRUE Behavioral Reverse Engineering in UML as Eclipse Plugin MSE Presentation 1 Sri Raguraman.
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,
Lei Wu, Michael Grace, Yajin Zhou, Chiachih Wu, Xuxian Jiang Department of Computer Science North Carolina State University CCS 2013.
박 종 혁 컴퓨터 보안 및 운영체제 연구실 Workshop on Mobile Security Technologies (MoST)
Detecting and Preventing Privilege- Escalation on Android Jiaojiao Fu 1.
A Visual Comparison Approach to Automated Regression Testing (PDF to PDF Compare)
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Permission Evolution in the Android Ecosystem Xuetao Wei, Lorenzo Gomez, Iulian Neamtiu, Michalis Faloutsos Department of Computer Science and Engineering.
C ASE S TUDIES OF A CCESSIBILITY E XCESSIVENESS A NALYSIS FOR J AVA P ROGRAMS Dotri Quoc Inoue Laboratory.
Behavior-based Spyware Detection By Engin Kirda and Christopher Kruegel Secure Systems Lab Technical University Vienna Greg Banks, Giovanni Vigna, and.
 To explain the importance of software configuration management (CM)  To describe key CM activities namely CM planning, change management, version management.
Android ICC Part II Inter-component communication.
Erika Chin Adrienne Porter Felt Kate Greenwood David Wagner University of California Berkeley MobiSys 2011.
CS378 - Mobile Computing Intents.
A Specification Language and Test Planner for Software Testing Aolat A. Adedeji 1 Mary Lou Soffa 1 1 DEPARTMENT OF COMPUTER SCIENCE, UNIVERSITY OF VIRGINIA.
1 In the good old days... Years ago… the WWW was made up of (mostly) static documents. –Each URL corresponded to a single file stored on some hard disk.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
CloudAppSec : Cloud Based Application Security for Android Applications Animesh Nandanwar Kshitij Desai Mayuresh Randive
Cloak and Dagger: Dynamics of Web Search Cloaking David Y. Wang, Stefan Savage, and Geoffrey M. Voelker University of California, San Diego 左昌國 Seminar.
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
RELATIONAL FAULT TOLERANT INTERFACE TO HETEROGENEOUS DISTRIBUTED DATABASES Prof. Osama Abulnaja Afraa Khalifah
CS266 Software Reverse Engineering (SRE) Reversing and Patching Java Bytecode Teodoro (Ted) Cipresso,
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.
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,
The Category-Partition Method for Specifying and Generating Functional Tests. Thomas J. Ostrand and Marc J.Balcer [ CACM,1988 ]. Slides from Prof. Shmuel.
Mobile Application Security on Android Originally presented by Jesse Burns at Black Hat
Microsoft FrontPage 2003 Illustrated Complete Integrating a Database with a Web Site.
Protecting Browsers from Extension Vulnerabilities Paper by: Adam Barth, Adrienne Porter Felt, Prateek Saxena at University of California, Berkeley and.
Android Permissions Demystified
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
I NTRUSION P REVENTION S YSTEM (IPS). O UTLINE Introduction Objectives IPS’s Detection methods Classifications IPS vs. IDS IPS vs. Firewall.
Dynamic Vetting Android Applications for Privilege-escalation Risks Jiaojiao Fu 1.
T EST T OOLS U NIT VI This unit contains the overview of the test tools. Also prerequisites for applying these tools, tools selection and implementation.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Apache Cocoon – XML Publishing Framework 데이터베이스 연구실 박사 1 학기 이 세영.
INFORMATION-FLOW ANALYSIS OF ANDROID APPLICATIONS IN DROIDSAFE JARED YOUNG.
Code improvement: Coverity static analysis Valgrind dynamic analysis GABRIELE COSMO CERN, EP/SFT.
Introduction to Software Testing Part1 Summary & Terms
More Security and Programming Language Work on SmartPhones
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Security and Programming Language Work on SmartPhones
Android Runtime – Dalvik VM
Static Detection of Cross-Site Scripting Vulnerabilities
Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques Presented by Vikraman Mohan.
Presented by Xiaohui (Amy) Lin
Content Providers.
The GoogleMap API By Cody Littley.
Knowledge Byte In this section, you will learn about:
PRG 421 GUIDE Lessons in Excellence -- prg421guide.com.
Analyzing WebView Vulnerabilities in Android Applications
Network Profiler: Towards Automatic Fingerprinting of Android Apps
6 Methods: A Deeper Look.
Dotri Quoc†, Kazuo Kobori†, Norihiro Yoshida
Presentation transcript:

A NDROID P ERMISSIONS D EMYSTIFIED Adrienne Porter Felt, Erika Chin, Steve Hanna, Dawn Song, David Wagner University of California ACM CCS /09/20 1

A GENDA Introduction Android Permission System Permission Testing Methodology Permission Map Result Application Analysis Tool Application Analysis Results Conclusion 2011/09/20 2

I NTRODUCTION Stowaway, that detects over privilege in compiled Android applications. a static analysis tool that determines what API calls an application makes a permission map that identifies what permissions are needed for each API call The lack of reliable permission information that Android provides may cause developer error. About one-third of 940 apps are overprivileged 2011/09/20 3

A NDROID P ERMISSION S YSTEM Android 2.2 defines 134 permissions Normal permissions Dangerous permissions Signature/System permissions 2011/09/20 4

A NDROID P ERMISSION S YSTEM API calls : be handled in three steps 2011/09/

A NDROID P ERMISSION S YSTEM Content Providers are protected with both static and dynamic permission checks Intents Some Intents can only be sent by applications with appropriate permissions. Other system Intents can only be sent by processes whose UID matches the system's. 2011/09/20 6

P ERMISSION T ESTING M ETHODOLOGY construct a permission map that identifies the permissions required for each method in the Android API. modified Android 2.2's permission verification mechanism to log permission checks as they occur. We then generated unit test cases for API calls, Content Providers, and Intents. 2011/09/20 7

P ERMISSION T ESTING M ETHODOLOGY API calls testing in three phases Feedback-directed testing Randoop Customizable test case generation Manual verification 2011/09/20 8

P ERMISSION T ESTING M ETHODOLOGY Content Providers We collected a list of URIs from the android.provider package For each URI, we attempted to execute each type of database operation without any permissions and check Intents 2011/09/20 9

P ERMISSION M AP R ESULT We attained 85% coverage of the Android API through two phases of testing. Our testing identified 1259 API calls with permission checks. Android 2.2 documentation specifies permission requirements for 78 methods. 2011/09/20 10

P ERMISSION M AP R ESULT Characterizing Permissions Signature/System Permissions. Unused Permissions. Hierarchical Permissions. Permission Granularity. Class Characteristics. 2011/09/20 11

A PPLICATION A NALYSIS T OOL Stowaway, which analyzes an Android application and determines the maximum set of permissions it may require. API calls It parses the disassembled DEX(Dalvik executable) files and identify all calls to standard API methods. Content Providers Stowaway collects all strings that could be used as Content Provider URIs and links those strings to the Content Providers' permission requirements. Intent Use ComDroid to detect the sending and receiving of Intents that require permissions. 2011/09/20 12

A PPLICATION A NALYSIS R ESULTS We applied Stowaway to 940 Android applications to identify the prevalence of overprivilege Manual Analysis Automated Analysis The Challenges of Java Reflection Reflection is commonly used in Android applications. Of the 900 applications, 545 (61%) use Java reflection to make API calls. 2011/09/20 13

A PPLICATION A NALYSIS R ESULTS Common Developer Errors Permission Name. Deputies Related Methods Copy and Paste Deprecated Permissions Testing Artifacts Signature/System Permissions 2011/09/20 14

C ONCLUSION We applied automated testing techniques to Android 2.2 to determine the permissions required to invoke each API method. Stowaway, generates the maximum set of permissions needed for an application and compares them to the set of permissions actually requested. about one-third of them are overprivileged 2011/09/20 15

Thanks 2011/09/20 16

2011/09/20 17

2011/09/20 18