Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)

Slides:



Advertisements
Similar presentations
Policy Weaving for Mobile Devices Drew Davidson. Smartphone security is critical – 1200 to 1400 US Army troops to be equipped with Android smartphones.
Advertisements

Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson Presented By: Rajat Khandelwal – 2009CS10209 Parikshit.
OSGi: Open Services Gateway Initiative Richard Chapman 5 Sept
Bending Binary Programs to your Will Rajeev Barua.
Android Security Enforcement and Refinement. Android Applications --- Example Example of location-sensitive social networking application for mobile phones.
Mobile App Monetization: Understanding the Advertising Ecosystem Vaibhav Rastogi.
R ETRO S KELETON : R ETROFITTING A NDROID A PPS Benjamin Davis, Hao Chen University of California, Davis MobiSys 2013.
Unsafe Exposure Analysis of Mobile In-App Advertisements Offense: Rachel Stonehirsch.
Understanding Android Security Yinshu Wu William Enck, Machigar Ongtang, and PatrickMcDaniel Pennsylvania State University.
Introduction to Android Swapnil Pathak Advanced Malware Analysis Training Series.
Authors: William Enck The Pennsylvania State University Peter Gilbert Duke University Byung-Gon Chun Intel Labs Landon P. Cox Duke University Jaeyeon Jung.
Dynodroid: An Input Generation System for Android Apps
All Your Droid Are Belong To Us: A Survey of Current Android Attacks 단국대학교 컴퓨터 보안 및 OS 연구실 김낙영
Data Administration & Database Administration
Presented by: Tom Staley. Introduction Rising security concerns in the smartphone app community Use of private data: Passwords Financial records GPS locations.
Clone-Cloud. Motivation With the increasing use of mobile devices, mobile applications with richer functionalities are becoming ubiquitous But mobile.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
Proof Carrying Code Zhiwei Lin. Outline Proof-Carrying Code The Design and Implementation of a Certifying Compiler A Proof – Carrying Code Architecture.
Effective Real-time Android Application Auditing
Smita Vijayakumar Qian Zhu Gagan Agrawal 1.  Background  Data Streams  Virtualization  Dynamic Resource Allocation  Accuracy Adaptation  Research.
SE-02 COMPONENTS – WHY? Object-oriented source-level re-use of code requires same source code language. Object-oriented source-level re-use may require.
Automatically Repairing Broken Workflows for Evolving GUI Applications Sai Zhang University of Washington Joint work with: Hao Lü, Michael D. Ernst.
Creating an Example Android App in Android Studio Activity lifecycle & UI Resources.
IoT HoloLens Surface Hub Windows Desktop Windows Mobile Xbox ONE CORE OS ONE APP PLATFORM ONE STORE Windows 10.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Virtual Support for Dynamic Join Points C. Bockisch, M. Haupt, M. Mezini, K. Ostermann Presented by Itai Sharon
Legion - A Grid OS. Object Model Everything is object Core objects - processing resource– host object - stable storage - vault object - definition of.
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
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.
Android - Location Based Services. Google Play services facilitates adding location awareness to your app with automated location tracking Geo fencing.
Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1.
The Value of USAP in Software Architecture Design Presentation by: David Grizzanti.
AppAudit Effective Real-time Android Application Auditing Andrew Jeong
Computer System Structures
NDN-Android: NDN Networking Stack for Android Platform
Containers as a Service with Docker to Extend an Open Platform
Android Mobile Application Development
What Mobile Ads know about mobile users
Free for All! Assessing User Data Exposure to Advertising Libraries on Android Campbell Foskin.
Security and Programming Language Work on SmartPhones
TriggerScope: Towards Detecting Logic Bombs in Android Applications
Understanding Android Security
The Development Process of Web Applications
Android System Security
Android Studio, Android System Basics and Git
AUDACIOUS: USER DRIVEN ACCESS CONTROL WITH UNMODIFIED OPERATING SYSTEM
Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas
DCR ARB Presentation Team 5: Tour Conductor.
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
Presented by Xiaohui (Amy) Lin
IM-pack: Software Installation Using Disk Images
On the road: Test automation in practice for a BMW map update service
Development-Introduction
Software Design and Architecture
TriggerScope Towards Detecting Logic Bombs in Android Applications
NEED OF JAILBREAKING IN IOS PENETRATION TESTING
TriggerScope Towards detecting logic bombs in android applications
A Framework for Automatic Resource and Accuracy Management in A Cloud Environment Smita Vijayakumar.
Analyzing WebView Vulnerabilities in Android Applications
Suwen Zhu, Long Lu, Kapil Singh
Introduction CSC 111.
Smita Vijayakumar Qian Zhu Gagan Agrawal
Analysis models and design models
What's in an Ad? Connor Leonhardt.
Mobile App Advertisements
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Understanding Android Security
Android Platform, Android App Basic Components
Gesto: Mapping UI Events to Gestures and Voice Commands
Presentation transcript:

Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)

2 The Mobile Ad Ecosystem App Developer Phone/Tablet App Ad Network Ad Plugin IntroductionChallengesPEDALEvaluationConclusion See/Click Ads App User Ad Plugin Paid by User Clicks Paid by Impressions

3 Ecosystem Incentives are Skewed Against Users “ Users felt the least comfortable when private resources were used for advertising” “ Users felt the least comfortable when private resources were used for advertising” Ad libraries taking unwarranted liberties with personal data on devices in order to more efficiently target ads Users are especially concerned about privacy risks posed by ad libraries IntroductionChallengesPEDALEvaluationConclusion “Mobile advertising services were a consistent privacy concern for the most participants”

Therefore, our position is that… 4 This cannot be achieved in Android Android permissions model governs app access to resources, however, acts on the whole apps, at install time Once the app is installed, the app and all its included libraries are granted access to these resources Considering these privacy concerns on ad libraries Ad libraries fundamentally need less privilege than app logic The user should be able to specify what resources should be granted to ad libraries IntroductionChallengesPEDALEvaluationConclusion

5 IntroductionChallengesPEDALEvaluationConclusion Our Approach – Privilege De-Escalation An ad library can have fewer resource access privileges than the app logic itself Users can selectively deny resource access privileges to the ad libraries without affecting the main app logic

6 IntroductionChallengesPEDALEvaluationConclusion Our Approach – Examples

7 IntroductionChallengesPEDALEvaluationConclusion

8 IntroductionChallengesPEDALEvaluationConclusion How to effect selective privilege de-escalation? To implement such a system, we need to answer two questions Both challenges are non-trivial How to identify ad library code in an app? Challenges

9 Challenges on Identify Ad Libraries IntroductionChallengesPEDALEvaluationConclusion There is no annotation that preserves the separation between bytecodes from app logic and bytecodes from an ad library We can at best access the so called bytecodes which are a intermediate code obtained by compiling source codes

10 Challenges on Identify Ad Libraries However, advanced ad libraries use package-level or code-level obfuscation to foil this method Some researchers suggest to use bytecode path matching to identify ad libraries in bytecodes, e.g. /com/google/ads IntroductionChallengesPEDALEvaluationConclusion

11 Challenges on privilege de-escalation The solution must be highly efficient; significant slowdowns in app execution time can affect usability Ideally, the solution must not require changes to the OS or the VM, or must not require rooting a phone IntroductionChallengesPEDALEvaluationConclusion

12 IntroductionChallengesPEDALEvaluationConclusion Challenges on privilege de-escalation Most important, in a substantial fraction of apps, ad libraries inherit privileges from the app logic Any solution for privilege de-escalation must prevent this kind of privilege inheritance Any solution for privilege de-escalation must prevent this kind of privilege inheritance

13 IntroductionChallengesPEDALEvaluationConclusion PEDAL Overview PEDAL contains: a Separator and a Rewriter Input: a packaged app & Output: a repacked app with de- escalated privileges for any (obfuscated) ad libraries in the app

14 PEDAL Overview Obfuscation resistant classification and binary-rewriting achieve selective de-escalation on ad libraries By using binary rewriting, our approach does not require OS level changes, and also achieves significant efficiency This design achieves the challenges we have reviewed before IntroductionChallengesPEDALEvaluationConclusion Finally, the Rewriter, by analyzing information flow across bytecode sets, can prevent privilege inheritance

15 Separator Implementation IntroductionChallengesPEDALEvaluationConclusion Most important: choose the set of features that ensure high classification accuracy

16 IntroductionChallengesPEDALEvaluationConclusion We choose six groups of features that are informative to ad library classification Usage of Android basic components Usage of selective Android permissions Usage of visual elements Usage of information sources and sinks Usage of APIs for runtime permission check Keyword matching for class/method/field names We do not use bytecode path information, and the chosen features are resistance to code obfuscation Separator Implementation

17 Rewriter Implementation Rewriter effects privilege de-escalation by binary re- writing based on user-specified privacy policies Rewriter interposes on resource accesses by the ad library or the app logic Rewriter only interposes what we called core resource access functions IntroductionChallengesPEDALEvaluationConclusion

18 Rewriter Implementation Preventing Privilege Inheritance Focus on resource access core functions in the app logic to Internet access calls in the ad library IntroductionChallengesPEDALEvaluationConclusion Once these potential leakage paths have been identified, Rewriter performs the same kind of interposition as above Once these potential leakage paths have been identified, Rewriter performs the same kind of interposition as above Native Libraries Marginally Affect our Control

19 IntroductionChallengesPEDALEvaluationConclusion Evaluation: the Separator Crawled 63,105 free apps from Google Play Store Train a SVM from 335 ad modules and 335 non ad modules: Recall 98.4%, Precision 98.5% Randomly chose 200 apps, and manually check the classification result Even with obfuscation in most of these apps (120/200) our classifier performs an accuracy of 93%

20 Evaluation: the Separator Our Separator is more efficient than the traditional package name matching approach Among all apps, our Separator discovered 2,598 unique ad library modules, belonging to 546 unique ad library sources This is at least 5X more than the reported numbers in papers that maintain a pre-defined blacklist of ad package names IntroductionChallengesPEDALEvaluationConclusion

21 Evaluation: the Separator IntroductionChallengesPEDALEvaluationConclusion

22 Evaluation: the Rewriter How much the runtime overhead the rewriting code has added We select 100 apps, and uses an UI automation tool to run both original and rewritten apps IntroductionChallengesPEDALEvaluationConclusion Both versions of a app were fed identical click streams Executing these 100 apps on showed a total increase in runtime of 0.89% on average.

Due to limitations of static flow analysis 23 Evaluation: the Rewriter 100 Apps + Pre-defined clickstream for each app No Control Control Internet (block ads) Control Location (feed fake location) Control Location (feed fake location) IntroductionChallengesPEDALEvaluationConclusion 843 ads, 304 are location targeted 9 ads 806 ads, 249/23 targets fake/real location Due to missing core functions How effective the control can be?

24 Conclusion IntroductionChallengesPEDALEvaluationConclusion PEDAL: a system to achieve selective privilege de-escalation for ad libraries PEDAL performs automated classification to identify ad library code, and rewrite core resource functions to achieve de-escalation PEDAL is robust, by design, to both package name obfuscations and source code obfuscation PEDAL is robust, by design, to both package name obfuscations and source code obfuscation PEDAL shows remarkable classification accuracy and efficacy, yet requires reasonable computing power to process apps PEDAL is effective and imposes negligible runtime overhead for apps PEDAL is effective and imposes negligible runtime overhead for apps