TeICC
Open Access
- 3 April 2017
- conference paper
- Published by Association for Computing Machinery (ACM)
- p. 1747-1752
Abstract
Effective analysis of applications (shortly apps) is essential to understanding apps' behavior. Two analysis approaches, i.e., static and dynamic, are widely used; although, both have well known limitations. Static analysis suffers from obfuscation and dynamic code updates. Whereas, it is extremely hard for dynamic analysis to guarantee the execution of all the code paths in an app and thereby, suffers from the code coverage problem. However, from a security point of view, executing all paths in an app might be less interesting than executing certain potentially malicious paths in the app. In this work, we use a hybrid approach that combines static and dynamic analysis in an iterative manner to cover their shortcomings. We use targeted execution of interesting code paths to solve the issues of obfuscation and dynamic code updates. Our targeted execution leverages a slicing-based analysis for the generation of data-dependent slices for arbitrary methods of interest (MOI) and on execution of the extracted slices for capturing their dynamic behavior. Motivated by the fact that malicious apps use Inter Component Communications (ICC) to exchange data [19], our main contribution is the automatic targeted triggering of MOI that use ICC for passing data between components. We implement a proof of concept, TelCC, and report the results of our evaluation.Keywords
This publication has 15 references indexed in Scilit:
- Static analysis of android apps: A systematic literature reviewInformation and Software Technology, 2017
- R-Droid2016
- IccTA: Detecting Inter-Component Privacy Leaks in Android Apps2015
- Information-Flow Analysis of Android Applications in DroidSafe2015
- FlowDroidACM SIGPLAN Notices, 2014
- Slicing droids2013
- CHEX2012
- AndroidLeaks: Automatically Detecting Potential Privacy Leaks in Android Applications on a Large Scale2012
- Data Flow Analysis in Software ReliabilityACM Computing Surveys, 1976
- A program data flow analysis procedureCommunications of the ACM, 1976