Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks Qi Alfred Chen, Zhiyun Qian†, Z. Morley Mao University of.

Slides:



Advertisements
Similar presentations
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Advertisements

1. Prelude Diebold’s electronic voting system source code was discovered and subsequently leaked due to it being on a Diebold web server. Although it.
Toward a Framework for Preventing Side-Channel Attacks in Wireless Networks Jeff Pang.
Towards Application Security On Untrusted OS
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 14: Troubleshooting Windows Server 2003 Networks.
Loupe /loop/ noun a magnifying glass used by jewelers to reveal flaws in gems. a logging and error management tool used by.NET teams to reveal flaws in.
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
Secure Embedded Processing through Hardware-assisted Run-time Monitoring Zubin Kumar.
Information Security Technological Security Implementation and Privacy Protection.
Qi Alfred Chen University of Michigan
Panorama: Capturing System-wide Information Flow for Malware Detection and Analysis Authors: Heng Yin, Dawn Song, Manuel Egele, Christoper Kruegel, and.
Detecting and Preventing Privilege- Escalation on Android Jiaojiao Fu 1.
Zhiyun Qian, Zhuoqing Morley Mao University of Michigan 33 rd Security & Privacy (May, 2012)
APKInspector -Static Analysis of Android Applications Student: Yuan Tian Mentor: Cong Zheng Backup Mentor: Anthony Kara Jianwei 08/22/2012.
APC InfraStruxure TM Central Smart Plug-In for HP Operations Manager Manage Power, Cooling, Security, Environment, Rack Access and Physical Layer Infrastructure.
PRECIP: Towards Practical and Retrofittable Confidential Information Protection XiaoFeng Wang (IUB), Zhuowei Li (IUB), Ninghui Li (Purdue) and Jong Youl.
 a crime committed on a computer network, esp. the Internet.
CSE 4481 Computer Security Lab Mark Shtern. INTRODUCTION.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Android for Java Developers Denver Java Users Group Jan 11, Mike
Leave Me Alone: App-level Protection Against
FLOOR CANDY.
CSE 4481 Computer Security Lab Mark Shtern. INTRODUCTION.
Lecture 19 Page 1 CS 236 Online 16. Account Monitoring and Control Why it’s important: –Inactive accounts are often attacker’s path into your system –Nobody’s.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 11: Monitoring Server Performance.
Information Security What is Information Security?
Ali Alhamdan, PhD National Information Center Ministry of Interior
Project Management All projects need to be “managed” –Cost (people-effort, tools, education, etc.) –schedule –deliverables and “associated” characteristics.
Peeping Tom in the Neighborhood Keystroke Eavesdropping on Multi-User Systems USENIX 2009 Kehuan Zhang, Indiana University, Bloomington XiaoFeng Wang,
Yair Grindlinger, CEO and Co-Founder Do you know who your employees are sharing their credentials with? Do they?
Exploiting Cache-Timing in AES: Attacks and Countermeasures Ivo Pooters March 17, 2008 Seminar Information Security Technology.
1 A Network Security Monitor Paper By: Heberlein et. al. Presentation By: Eric Hawkins.
Framework for Virtual Web Laboratory I. Petković M. Rajković.
Unix Security Assessing vulnerabilities. Classifying vulnerability types Several models have been proposed to classify vulnerabilities in UNIX-type Oses.
PROTEUS: Network Performance Forecast for Real- Time, Interactive Mobile Applications Qiang Xu* Sanjeev Mehrotra# Z. Morley Mao* Jin Li# *University of.
Wireless and Mobile Security
University of Michigan, †University of California - Riverside
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
14.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Protection.
BUFFERZONE Advanced Endpoint Security Data Connectors-Charlotte January 2016 Company Confidential.
Virtualized Execution Realizing Network Infrastructures Enhancing Reliability Application Communities PI Meeting Arlington, VA July 10, 2007.
Importance of Physical Security Common Security Mistakes 1.Security Awareness 2.Incident Response 3.Poor Password Management 4.Bad administrative.
How to Mitigate Stay Safe. Patching Patches Software ‘fixes’ for vulnerabilities in operating systems and applications Why Patch Keep your system secure.
Mark Shtern.  Our life depends on computer systems  Traffic control  Banking  Medical equipment  Internet  Social networks  Growing number of.
IS3220 Information Technology Infrastructure Security
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
“What the is That? Deception and Countermeasures in the Android User Interface” Presented by Luke Moors.
Final Project: Advanced Security Blade IPS and DLP blades.
Constraint Framework, page 1 Collaborative learning for security and repair in application communities MIT site visit April 10, 2007 Constraints approach.
 Operating system.  Functions and components of OS.  Types of OS.  Process and a program.  Real time operating system (RTOS).
WHAT THE APP IS THAT? DECEPTION AND COUNTERMEASURES IN THE ANDROID USER INTERFACE.
WELCOME Mobile Applications Testing
Secure your complete data lifecycle using Azure Information Protection
Free for All! Assessing User Data Exposure to Advertising Libraries on Android Campbell Foskin.
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
Critical Security Controls
MadeCR: Correlation-based Malware Detection for Cognitive Radio
Chapter 5: Using System Software
Evaluating Existing Systems
Outline What does the OS protect? Authentication for operating systems
Evaluating Existing Systems
Secure Software Development: Theory and Practice
MobiSys 2017 Symbolic Execution of Android Framework with Applications to Vulnerability Discovery and Exploit Generation Qiang Zeng joint work with Lannan.
Introduction to Operating System (OS)
Secure your complete data lifecycle using Azure Information Protection
Common Operating System Exploits
Outline What does the OS protect? Authentication for operating systems
Deception and Countermeasures in the Android User Interface
Backtracking Intrusions
PerfView Measure and Improve Your App’s Performance for Free
Presentation transcript:

Peeking into Your App without Actually Seeing It: UI State Inference and Novel Android Attacks Qi Alfred Chen, Zhiyun Qian†, Z. Morley Mao University of Michigan, †University of California - Riverside

Importance of GUI Security GUI content confidentiality and integrity are critical for end-to-end security – UI Spoofing in desktop/browsers 1 – Screenshot capture on Android without privilege Chen, Oakland’07 2 ScreenMilker, NDSS’14

Another Form of GUI Confidentiality Breach A weaker form – UI state an app is in (e.g., login state) without knowing the exact pixels of the screen 3 Hijack! Use UI state info for best timing Serious security implications!

Tracking UI state! Enabled Attack: UI State Hijacking Hijack sensitive UI state to steal private input 4 Foreground:Background: UI State 1 UI State 2 UI State 3 Wait for Login UI state Inject the phishing Login UI state! Exploit UI preemption No glitches as we disable the animation + precise attack timing No glitches as we disable the animation + precise attack timing Steal user name and password!

UI State Hijacking Attack Demo 5 Video demo: UI state hijacking attack steals your password in H&R Block app

Other Enabled Attacks An enabled attack: camera peeking – Steal sensitive pictures taken in Android apps – Breaks GUI confidentiality! Monitor and analyze user behavior – Breaks GUI confidentiality! Enhance existing attacks in both stealthiness and effectiveness 6 Steal!

UI State Leakage is Dangerous Lead to both GUI integrity and confidentiality breaches UI state information is not protected well – An unprivileged application can track another app’s UI states in real time 7

UI State Inference Attack UI state: a mostly consistent UI at window level for certain functionality (e.g., log-in) – On Android: Activity (full-screen window) Also called Activity inference attack – An unprivileged app can infer the foreground Activity in real time – Requires no permission 8

Underlying Causes Android GUI framework design leaks UI state changes through a publicly-accessible side channel – A newly-discovered shared-memory side channel – Affects nearly all popular OSes 9

A single bit of information Attack General Steps 10 Activity transition detection Activity inference UI state hijacking Newly-discovered Shared-memory side channel Newly-discovered Shared-memory side channel Other side channels (e.g., CPU, network activity) UI state based attacks: Camera peeking

Shared-Memory Side Channel Finding: shared virtual memory size changes are correlated with Android window events 11 Shared virtual memory size in public file /proc/pid/statm Proportional to window size Window pop-up Window close

Shared-Memory Side Channel Root cause for this correlation – Window manager design in Android 12 For better UI drawing performance, Android uses shared memory as IPC The changed size is the off-screen buffer size The root cause is here Confirmed that shared memory is used in GUI design for many OSes, including

Activity Transition Detection Detect shared-memory size change pattern – Nice properties: 13 Clean channel Unique patterns Fixed (Full screen) Buffer allocation for the new Activity Buffer deallocation for the previous Activity + +

Activity Inference Activity signature + Activity transition graph 14 Training phase (offline): Attacking phase (online): Trigger Activity transition automatically Activity transition graph Collect transition feature data Trigger Activity transition Transition model Activity signature Activity inference result Collect transition feature data

Activity Signature Design 15 Content Provider feature Network event feature Input method feature CPU utilization time feature Consists of various features Activity 1Activity 2

Remaining Steps of Activity Inference Create an Activity transition model – Hidden Markov Model (HMM) Inference results – A list of Activities in decreasing order of their probabilities 16

Evaluation Methodology Implementation: ~ 2300 lines of C++ code compiled with Android NDK Data collection: using automated Activity transition tool on Samsung Galaxy S3 devices with Android 4.2 Experimented on 7 popular Android apps: 17

Evaluation Results Activity transition detection, for all apps – Detection accuracy ≥ 96.5% – FP and FN rates both ≤ 4% Activity inference accuracy – 80–90% for 6 out of 7 popular apps Important features: CPU, network, transition model Inference computation & delay – Inference computation time: ≤ 10 ms – Delay (Activity transition  inference result): ≤ 1.3 sec Improved to ≤ 500 ms for faster and more seamless Activity hijacking Overhead – Increase power usage by 2.2–6.0% 18

Defense Discussion Eliminate the side channel – Proc file system access control Android already limits some, but more is needed – Window buffer reuse Pre-allocate double the buffers and reuse them More memory consumption (several MBytes per buffer) Mitigate those follow-up attacks – For example, for UI state hijacking Build trusted paths between user and app Defense is non-trivial, more effort is required 19

Summary Demonstrated serious security implications for a new form of GUI confidentiality breach – Formulated a general UI state inference attack Infer UI state in real time – Discovered a new side channel for UI state inference Potentially affecting all popular GUI systems – Designed and implemented it on Android, and further built several new attacks (e.g., UI state hijacking) – Attack video demos at our website 20

Questions? 21