Automatic Detection of Inter-application Permission Leaks in Android Applications

dc.contributor.authorBurke, Michael G.
dc.contributor.authorGuarnieri, Salvatore
dc.contributor.authorPistoia, Marco
dc.contributor.authorSarkar, Vivek
dc.contributor.authorSbîrlea, Dragoș
dc.date.accessioned2017-08-02T22:03:12Z
dc.date.available2017-08-02T22:03:12Z
dc.date.issued2013-01-23
dc.date.noteJanuary 23, 2013
dc.description.abstractDue to their growing prevalence, smartphones can access an increasing amount of sensitive user information. To better protect this information, modern mobile operating systems provide permission-based security, which restricts applications to only access a clearly defined subset of system APIs and user data. The Android operating system builds upon already successful permission systems, but complements them by allowing application components to be reused within and across applications through a single communication mechanism, called the Intent mechanism. In this paper we identify three types of inter-application Intent-based attacks that rely on information flows in applications to obtain unauthorized access to permission-protected information. Two of these attacks are of previously known types: confused deputy and permission collusion attacks. The third attack, private activity invocation, is new and relies on the existence of difficult-to-detect misconfigurations introduced because Intents can be used for both intra-application and inter-application communication. Such misconfigured applications allow protected information meant for intraapplication communication to leak into unauthorized applications. This breaks a fundamental security guarantee of permissions systems: that applications can only access information if they own the corresponding permission. We formulate the detection of the vulnerabilities on which these attacks rely as a static taint propagation problem based on rules. We show that the rules describing the permission protected information can be automatically generated though static analysis of the Android libraries an improvement over previous work. To test our approach we built Permission Flow, a tool that can reliably and accurately identify the presence of vulnerable information flows in Android applications. Our automated analysis of popular applications found that 56% of the top 313 Android applications actively use inter-component information flows; by ensuring the absence of inter-application permission leaks, the proposed analysis would be highly beneficial to the Android ecosystem. Of the tested applications, Permission Flow found four exploitable vulnerabilities.
dc.format.extent14 pp
dc.identifier.citationBurke, Michael G., Guarnieri, Salvatore, Pistoia, Marco, et al.. "Automatic Detection of Inter-application Permission Leaks in Android Applications." (2013) https://hdl.handle.net/1911/96405.
dc.identifier.digitalTR13-02
dc.identifier.urihttps://hdl.handle.net/1911/96405
dc.language.isoeng
dc.rightsYou are granted permission for the noncommercial reproduction, distribution, display, and performance of this technical report in any format, but this permission is only for a period of forty-five (45) days from the most recent time that you verified that this technical report is still available from the Computer Science Department of Rice University under terms that include this permission. All other rights are reserved by the author(s).
dc.titleAutomatic Detection of Inter-application Permission Leaks in Android Applications
dc.typeTechnical report
dc.type.dcmiText
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TR13-02.pdf
Size:
401.31 KB
Format:
Adobe Portable Document Format