R ETRO S KELETON : R ETROFITTING A NDROID A PPS Benjamin Davis, Hao Chen University of California, Davis MobiSys 2013.

Slides:



Advertisements
Similar presentations
Why Eve & Mallory Love Android
Advertisements

Secure In-VM Monitoring Using Hardware Virtualization Monirul Sharif, Wenke Lee, Weidong Cui, and Andrea Lanzi Presented by Tyler Bletsch.
Aurasium: Practical Policy Enforcement for Android Applications By Yaoqi USENIX Security Symposium 2012.
Wenliang Du Syracuse University Vicky Singh Syracuse University Hao Syracuse University.
On the Effectiveness of API-Level Access Control Using Bytecode Rewriting in Android Presenter: Lu Gong.
Axis2 WSDL- Code Generation. Contents  Scope and Goals of the discussion.  Anticipated runtime behavior.  Proposed Architecture.  Change request for.
Chapter 6 Security Kernels.
Policy Weaving for Mobile Devices Drew Davidson. Smartphone security is critical – 1200 to 1400 US Army troops to be equipped with Android smartphones.
Yip, X. Wang, N. Zeldovich, M. F. Kaashoek MIT CSAIL Reading Group by Theo 06 Oct 2009.
An Evaluation of the Google Chrome Extension Security Architecture
Using Java interop in your Xamarin.Android
Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson Presented By: Rajat Khandelwal – 2009CS10209 Parikshit.
Aurasium: Practical Policy Enforcement for Android Applications R. Xu, H. Saidi and R. Anderson.
The Most Dangerous Code in the Browser Stefan Heule, Devon Rifkin, Alejandro Russo, Deian Stefan Stanford University, Chalmers University of Technology.
Introduction to Java Programming
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
01 Introduction to Java Technology. 2 Contents History of Java What is Java? Java Platforms Java Virtual Machine (JVM) Java Development Kit (JDK) Benefits.
Phu H. Phung Chalmers University of Technology JSTools’ 12 June 13, 2012, Beijing, China Joint work with Lieven Desmet (KU Leuven)
IOS & Android Security, Hacking and Tweaking Workshop D.Papamartzivanos University Of the Aegean – Info Sec Lab Android Security – Cydia Substrate Dimitris.
Automatic Mediation Of Privacy-sensitive Resource Access In Smartphone Applications Ben Livshits and Jaeyeon Jung Microsoft Research.
Chien-Chung Shen Manifest and Activity Chien-Chung Shen
Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)
Securing Legacy Software SoBeNet User group meeting 25/06/2004.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
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
Windows Windows Phone Azure … and WakeUpAndCode.com.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Virtualization: Not Just For Servers Hollis Blanchard PowerPC kernel hacker.
GEOREMINDERS ANDROID APPLICATION BY: ADRIENNE KECK.
The Procedure Abstraction, Part VI: Inheritance in OOLs Comp 412 Copyright 2010, Keith D. Cooper & Linda Torczon, all rights reserved. Students enrolled.
AppShield: A Virtual File System in Enterprise Mobility Management Zhengyang Qu 1 Northwestern University, IL, US,
Spring/2002 Distributed Software Engineering C:\unocourses\4350\slides\DefiningThreads 1 RMI.
1 Computer Science 340 Software Design & Testing Inheritance.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
SECURE WEB APPLICATIONS VIA AUTOMATIC PARTITIONING S. Chong, J. Liu, A. C. Myers, X. Qi, K. Vikram, L. Zheng, X. Zheng Cornell University.
Android Security Extensions. Android Security Model Main objective is simplicity Users should not be bothered Does the user care? Most do not care…until.
OOP: Encapsulation,Abstraction & Polymorphism. What is Encapsulation Described as a protective barrier that prevents the code and data being randomly.
VMM Based Rootkit Detection on Android Class Presentation Pete Bohman, Adam Kunk, Erik Shaw.
Instrumentation in Software Dynamic Translators for Self-Managed Systems Bruce R. Childers Naveen Kumar, Jonathan Misurda and Mary.
Java Dynamic Proxy Bibliography: reflection/proxy.html
© Keren Kalif Advanced Java Topics Written by Keren Kalif, Edited by Liron Blecher.
FireDroid: Hardening Security in Almost-Stock Android Presented By: Kenneth Siu.
Class Presentation Pete Bohman, Adam Kunk, Erik Shaw (ONL)
VMM Based Rootkit Detection on Android
Enterprise Wrappers OASIS PI Meeting March 12, 2002 Bob Balzer Neil Goldman Mahindra
Design and Implement of a Phone Game Based on Android.
Enhancing Mobile Apps to Use Sensor Hubs without Programmer Effort Haichen Shen, Aruna Balasubramanian, Anthony LaMarca, David Wetherall 1.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
RealTimeSystems Lab Jong-Koo, Lim
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Software, IEE Proceedings, Vol.152, Num.3, June 2005,Page(s): Prasanthi.S March, Java-based component framework for dynamic reconfiguration.
Authors: William Enck & Patrick McDaniel In collaboration with: Duke University and Intel Labs Presentation: Ed Novak 1.
What Mobile Ads know about mobile users
Security and Programming Language Work on SmartPhones
Boxify: Full-fledged App Sandboxing for Stock Android
The Java Dynamic Proxy.
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
Internet and Java Foundations, Programming and Practice
AppShield: Enabling Multi-entity Access Control Cross Platforms for Mobile App Management Zhengyang Qu1, Guanyu Guo2, Zhengyue Shao2, Vaibhav Rastogi3,
Microsoft .NET 3. Language Innovations Pan Wuming 2017.
TriggerScope Towards detecting logic bombs in android applications
Suwen Zhu, Long Lu, Kapil Singh
CS 1111 Introduction to Programming Spring 2019
The Most Popular Android UI Automation Testing Tool Andrii Voitenko
Open Automation Software
Android Platform, Android App Basic Components
Presentation transcript:

R ETRO S KELETON : R ETROFITTING A NDROID A PPS Benjamin Davis, Hao Chen University of California, Davis MobiSys 2013

The Android TM Platform 2 More than 600,000 third-party apps & games on Google Play TM alone Android and Google Play are trademarks of Google Inc. The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. “What are these apps doing?” “How can I control what these apps do?” ?

Limitations of Android’s Permission System 3  All or Nothing  Coarse-grained  No revocation

 Examples: TISSA (TRUST ‘11), Apex (ASIACCS ‘10)  Deployment Challenges  Proprietary binaries for device hardware  Requires rooting phone, voiding warranty, etc.  Inflexible  Difficult to enforce app-specific policies  New behavior requires system changes  Each Android version requires new implementation 4 Current Proposals: Platform Modifications

Goals  Observe and control the behavior of third-party apps  Devices  Require no platform modifications  Approach  Powerful  Complete  Policy  App-independent  Applied automatically  Non-goal: prevent detection by app 5

Rewriting Android Apps  Observations:  Apps interact with device via platform API method calls  95% of apps are implemented entirely in Dalvik  Dalvik bytecode is structured & unambiguous  Our approach: in-app method-call interception via automatic bytecode rewriting 6

RetroSkeleton Automatic App Analysis & Rewriting Transformation Policy Target Methods Method Handlers Transformation Policy Target Methods Method Handlers Original App INPUTREWRITINGOUTPUT 7 Rewritten App

Intercepting Method Invocations  Interception strategy depends on:  Method type ( static, instance, …)  Method attributes ( protected, final, …)  Invocation kind ( direct, virtual, …)  Higher-level strategies for:  Inheritance  Virtual method invocation 8

DeveloperSocket bind() DeveloperSocket bind() Inheritance-Based Interception 9 bind() bind() DatagramSocket bind() DatagramSocket bind() Android Platform Code App Code

Challenge: Interception Completeness  Reflection API (behavior specified at runtime)  Statically identify invocation of the reflection API  Add handlers to inspect and dispatch at runtime  Native and dynamically-loaded code  Detect and intercept invocation 10

RetroSkeleton Automatic App Analysis & Rewriting Transformation Policy Target Methods Method Handlers Transformation Policy Target Methods Method Handlers Original App INPUTREWRITINGOUTPUT 11 Rewritten App

Transformation Policy Specification 12  Target Method  Handler Behavior public static void retroSkeletonConnect (DatagramSocket p0, SocketAddress p1) throws SocketException { Log.i("RSKEL", "connect called!"); p0.connect(p1); // invoke target method } java.net.DatagramSocket public void connect(SocketAddress peer) throws SocketException

Use: Fine-Grained Network Access Control 13 evil.com example.com

Use: HTTPS-Everywhere for Apps 14 example.com example.com HTTPS Everywhere Project: example.com example.com HTTP HTTPS

Use: Automatic Localization 15 App Code translation service translation service Guten Tag! setText("Guten Tag!") "Guten Tag!" "Good Day!" Good Day! setText("Good Day!")

Evaluation  Run-time overhead: (0.2 µs) + handler  Rewrite speed: fast (~5 seconds)  Impact on app size: (0.5% for our policies)  Policy functionality:  Applied to over 1,000 apps from Google Play  Tested rewritten apps in emulator & observed handler behavior 16 Transformation PolicySuccess Network Access Control99.5% HTTPS-Everywhere93.2% Automatic Localization99.6%

Conclusion 17  In-app method interception  App-agnostic policy specification and application  Automatic rewriting, no manual guidance  Rewritten apps deployable to any Android device  Coming Soon: retroskeleton.com