AppAudit Effective Real-time Android Application Auditing Andrew Jeong 9642114.

Slides:



Advertisements
Similar presentations
Operating System Security
Advertisements

Code Injection Attacks on HTML5-based Mobile Apps: Characterization, Detection and Mitigation Xing Jin, Xunchao Hu, Kailiang Ying, Wenliang Du, Heng Yin,
TaintScope: A Checksum-Aware Directed Fuzzing Tool for Automatic Software Vulnerability Detection Tielei Wang 1, Tao Wei 1, Guofei Gu 2, Wei Zou 1 1 Peking.
Abhinn Kothari, 2009CS10172 Parth Jaiswal 2009CS10205 Group: 3 Supervisor : Huzur Saran.
04b | Manage Test Execution (2 of 2) Steven Borg | Co-founder & Strategist, Northwest Cadence Anthony Borton | ALM Consultant, Enhance ALM.
1 Achieving Trusted Systems by Providing Security and Reliability (Research Project #22) Project Members: Ravishankar K. Iyer, Zbigniew Kalbarczyk, Jun.
Rage Against The Virtual Machine: Hindering Dynamic Analysis of Android Malware Thanasis Petsas, Giannis Voyatzis, Elias Athanasopoulos, Sotiris Ioannidis,
Jiang Wang, Joint work with Angelos Stavrou and Anup Ghosh CSIS, George Mason University HyperCheck: a Hardware Assisted Integrity Monitor.
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
Varun Sharma Security Engineer | ACE Team | Microsoft Information Security
Skybox® Security Solutions for Symantec CCS Comprehensive IT Governance Risk and Access Compliance Management Skybox Security's.
Efficient Privilege De-Escalation for Ad Libraries in Mobile Apps Bin Liu (SRA), Bin Liu (CMU), Hongxia Jin (SRA), Ramesh Govindan (USC)
CSE 451: Operating Systems Autumn 2013 Module 6 Review of Processes, Kernel Threads, User-Level Threads Ed Lazowska 570 Allen.
Securing Legacy Software SoBeNet User group meeting 25/06/2004.
Yin, H., Song, D., Egele, M., Kruegel, C., Kirda, E. In Proc. of the 14th ACM conference on Computer and communications security, October /9/31.
PrivacyShield: Real-time Monitoring and Detection of Android Privacy Leakage Review and Discussion Yan Chen Lab of Internet and Security Technology Northwestern.
Harvesting Developer Credentials in Android Apps
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
Security Baseline. Definition A preliminary assessment of a newly implemented system Serves as a starting point to measure changes in configurations and.
Introduction Overview Static analysis Memory analysis Kernel integrity checking Implementation and evaluation Limitations and future work Conclusions.
Conditions and Terms of Use
Presented by: Tom Staley. Introduction Rising security concerns in the smartphone app community Use of private data: Passwords Financial records GPS locations.
15-740/ Oct. 17, 2012 Stefan Muller.  Problem: Software is buggy!  More specific problem: Want to make sure software doesn’t have bad property.
Ideas to Improve SharePoint Usage 4. What are these 4 Ideas? 1. 7 Steps to check SharePoint Health 2. Avoid common Deployment Mistakes 3. Analyze SharePoint.
AUTHORS: ASAF SHABTAI, URI KANONOV, YUVAL ELOVICI, CHANAN GLEZER, AND YAEL WEISS "ANDROMALY": A BEHAVIORAL MALWARE DETECTION FRAMEWORK FOR ANDROID.
University of Central Florida TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones Written by Enck, Gilbert,
Event Management & ITIL V3
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
Effective Real-time Android Application Auditing
Mahesh Sukumar Subramanian Srinivasan. Introduction Embedded system products keep arriving in the market. There is a continuous growing demand for more.
Leave Me Alone: App-level Protection Against
COMPUTER SECURITY MIDTERM REVIEW CS161 University of California BerkeleyApril 4, 2012.
An Offloaded Dynamic Taint Analysis Approach for Privacy Leakage Detection on Android Hui Xu 1.
MICHALIS POLYCHRONAKIS(COLUMBIA UNIVERSITY,USA), KOSTAS G. ANAGNOSTAKIS(NIOMETRICS, SINGAPORE), EVANGELOS P. MARKATOS(FORTH-ICS, GREECE) ACSAC,2010 Comprehensive.
Information Security What is Information Security?
Checking More Alerting Less PRESENTED BY: AMIN ROIS SINUNG NUGROHO.
Extend the Operations Dashboard with Custom Widgets (and more)
Leave Me Alone: App- level Protection Against Runtime Information Gathering on Android NAN ZHANG, KAN YUAN, MUHAMMAD NAVEED†, XIAOYONG ZHOU AND XIAOFENG.
Android System Security Xinming Ou. Android System Basics An open-source operating system for mobile devices (AOSP, led by Google) – Consists of a base.
Hui Xu, Yangfan Zhou, Cuiyun Gao, Yu Kang, Michael R. Lyu
Zozzle: Low-overhead Mostly Static JavaScript Malware Detection.
Sampling Dynamic Dataflow Analyses Joseph L. Greathouse Advanced Computer Architecture Laboratory University of Michigan University of British Columbia.
Chapter 22 Metrics for Process and Projects Software Engineering: A Practitioner’s Approach 6 th Edition Roger S. Pressman.
Introduction to Software Analysis CS Why Take This Course? Learn methods to improve software quality – reliability, security, performance, etc.
Mobile Testing Overview. Agenda Mobile application quality poses a unique challenge Mobile changes the ALM cycle – Interoperability is unique to mobile.
Microsoft NDA Material Adwait Joshi Sr. Technical Product Manager Microsoft Corporation.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Beyond Application Profiling to System Aware Analysis Elena Laskavaia, QNX Bill Graham, QNX.
“What the is That? Deception and Countermeasures in the Android User Interface” Presented by Luke Moors.
INFORMATION-FLOW ANALYSIS OF ANDROID APPLICATIONS IN DROIDSAFE JARED YOUNG.
WHAT THE APP IS THAT? DECEPTION AND COUNTERMEASURES IN THE ANDROID USER INTERFACE.
What mobile ads know about mobile users
Optimistic Hybrid Analysis
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
Android System Security
Harvesting Runtime Values in Android Applications That Feature Anti-Analysis Techniques Presented by Vikraman Mohan.
TaintART: A Practical Multi-level Information-Flow Tracking System for Android RunTime Sadiq Basha.
Presented by Xiaohui (Amy) Lin
MobiSys 2017 Symbolic Execution of Android Framework with Applications to Vulnerability Discovery and Exploit Generation Qiang Zeng joint work with Lannan.
TriggerScope Towards Detecting Logic Bombs in Android Applications
Prevent Costly Data Leaks from Microsoft Office 365
TriggerScope Towards detecting logic bombs in android applications
Microsoft Build /9/2018 8:05 PM © 2016 Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY,
Suwen Zhu, Long Lu, Kapil Singh
12/5/2018 2:50 AM How to secure your front door with real-time risk assessments of your logons Jan Ketil Skanke COO and Principal Cloud Architect CloudWay.
John Hazen Principal Program Manager Lead Microsoft Corporation
Presentation transcript:

AppAudit Effective Real-time Android Application Auditing Andrew Jeong

Background  Motivation?  Mobile applications can have access to sensitive personal data.  This can lead to threats of data leakage!  How to resolve the matter?  APP AUDITING!  What is App Auditing?  “App auditing is a fundamental program analysis task to reveal unauthorised data leaks”

How do these data leak? Third-party Advertising Modules  93.3% (28 out of 30 sample apps) of detected data leaks are caused by 3rd-party advertising libraries  Privilege separation and fine-grained privilege control.  Developers can analyse the application before publishing to the market.

How do these data leak? HTTP Requests are the most prominent leaking venues  HTTP servers can be easily configured, vulnerable to data leaks.  Important personal information can be easily obtained by traffic sniffing in the public.  Some of the apps do not have a clear privacy policy statement, making users unaware of the potential risks.

Existing Tools  AppIntent  Static analysis tool based on symbolic execution.  Can prune false positive and optimize the performance of symbolic execution.  Tend to overkill some cases with its pruning mechanism.  Consumes 32GB of memory by default, so not really usable to mobile and PC users.  Requires minutes to hours of execution time!  FlowDroid  High precision by accurately modeling the runtime behavior of the application.  Relatively high accuracy compared to AppIntent.  Faster execution than AppIntent  Needs 2GB to 4GB of memory by default, so more usable.  However, not adequate for real applications due to quick memory exhaustion.

AppAudit: Use Cases IDEs integrated with AppAudit App Developer App Market Mobile End-user

AppAudit: How does it work?  Static API usage analysis :  efficient but over-estimating analysis technique that sifts out suspicious functions.  lightweight, but reports false positives  Dynamic Approximated Execution :  simulates the execution of a program while performing customised checks at each program state.  executes each suspicious function, monitors the dissemination of sensitive data and reports data leaks that can happen in real execution.  prunes false positives resulted from the static analysis

AppAudit: Static API analysis Source API : retrieves personal data Sink API : transmits data out of the device Trigger API : registers call-back functions KEY Traditional call Extended call Suspicious Func Function

AppAudit: Dynamic Approximated Execution Three Working Modes:  Execution (exec) : executor interprets bytecodes and perform operations.  Check : executor checks the parameters for the sink API.  Approximation (approx) : entered when bytecode instruction includes unknown operands.

Evaluation Test Sets  DroidBench : a suite of test cases that indicates the completeness of the static API analysis  Malware : these samples have well-understood malicious behavior, which serves as good accuracy index for data leak detection tools.  Free apps : a collection of top free apps and newly uploaded apps during the sampling time period.

Evaluation Method 1.Use a micro-benchmark suite to validate the completeness of the static API analysis 2.Use malware samples to evaluate the accuracy of AppAudit  Can our dynamic analysis guarantee no false positives?  Can AppAudit provide comparable code coverage as static analysis (a low false negative rate)? 3.Use real-world apps to evaluate the usability as well as usefulness of AppAudit  What is the analysis time and memory consumption?  How could AppAudit be used in different use cases? 4.Present characterisation study of data-leaking apps uncovered by AppAudit

Evaluation Result

 AppAudit achieves a 99.3% true positive rate (comparable to static analysis) and no false positives.  AppAudit performs 8.3 times faster than the state-of-the-art static analysis tools.  AppAudit only requires a heap size of 256MB, which can run on all platforms (mobile devices, PCs and servers).

Criticism  Incomplete code structure recognition module. AppAudit cannot detect where the executor is unaware of the correlation of unknown variables in cases of if-else statements.  Unknown Branching Approximation only explores the “then” branch.  AppAudit cannot determine for itself whether an input-sensitive leak is user-intended or not.  e.g., input message could come from an untrusted source like BeanBot malware

Thank you for listening! Questions?