Automatically Securing Permission-Based Software by Reducing the Attack Surface: An Application to Android
Preprint
Abstract
A common security architecture, called the permission-based security model (used e.g. in Android and Blackberry), entails intrinsic risks. For instance, applications can be granted more permissions than they actually need, what we call a "permission gap". Malware can leverage the unused permissions for achieving their malicious goals, for instance using code injection. In this paper, we present an approach to detecting permission gaps using static analysis. Our prototype implementation in the context of Android shows that the static analysis must take into account a significant amount of platform-specific knowledge. Using our tool on two datasets of Android applications, we found out that a non negligible part of applications suffers from permission gaps, i.e. does not use all the permissions they declare.Keywords
All Related Versions
This publication has 8 references indexed in Scilit:
- User-Driven Access Control: Rethinking Permission Granting in Modern Operating Systems2012
- Semantically rich application‐centric security in AndroidSecurity and Communication Networks, 2011
- An Attack Surface MetricIEEE Transactions on Software Engineering, 2010
- Understanding Android SecurityIEEE Security & Privacy, 2009
- Modular string-sensitive permission analysis with demand-driven precision2009
- When Role Models Have Flaws: Static Validation of Enterprise Security Policies2007
- Interprocedural Analysis for Privileged Code Placement and Tainted Variable Detection2005
- Access rights analysis for JavaACM SIGPLAN Notices, 2002