CHEX
Authors:
Open Access
- 16 October 2012
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 229-240
Abstract
An enormous number of apps have been developed for Android in recent years, making it one of the most popular mobile operating systems. However, the quality of the booming apps can be a concern [4]. Poorly engineered apps may contain security vulnerabilities that can severally undermine users' security and privacy. In this paper, we study a general category of vulnerabilities found in Android apps, namely the component hijacking vulnerabilities. Several types of previously reported app vulnerabilities, such as permission leakage, unauthorized data access, intent spoofing, and etc., belong to this category. We propose CHEX, a static analysis method to automatically vet Android apps for component hijacking vulnerabilities. Modeling these vulnerabilities from a data-flow analysis perspective, CHEX analyzes Android apps and detects possible hijack-enabling flows by conducting low-overhead reachability tests on customized system dependence graphs. To tackle analysis challenges imposed by Android's special programming paradigm, we employ a novel technique to discover component entry points in their completeness and introduce app splitting to model the asynchronous executions of multiple entry points in an app. We prototyped CHEX based on Dalysis, a generic static analysis framework that we built to support many types of analysis on Android app bytecode. We evaluated CHEX with 5,486 real Android apps and found 254 potential component hijacking vulnerabilities. The median execution time of CHEX on an app is 37.02 seconds, which is fast enough to be used in very high volume app vetting and testing scenarios.Keywords
This publication has 16 references indexed in Scilit:
- Detecting repackaged smartphone applications in third-party android marketplaces2012
- These aren't the droids you're looking for2011
- Android permissions demystified2011
- On lightweight mobile phone application certification2009
- Static detection of cross-site scripting vulnerabilities2008
- Labels and event processes in the asbestos operating system2005
- MOPS2002
- JFlow1999
- The Confused DeputyACM SIGOPS Operating Systems Review, 1988
- Interprocedural slicing using dependence graphsACM SIGPLAN Notices, 1988