Stowaway
A static analysis tool and permission map for identifying permission use in Android applications
Contact: android at eecs.berkeley.edu
Overview
Parts of the Android API are protected with permissions. In order to access protected API calls, developers must request the appropriate permissions in their applications' manifests. If a developer asks for more permissions than an application needs, then the application is overprivileged. Preventing overprivilege is important. Extra permissions may (1) unnecessarily deter users from installing applications, (2) unnecessarily accustom users to accepting lots of permissions, and (3) needlessly increase the potential damage of application vulnerabilities. We built Stowaway, a static analysis tool that detects overprivilege in compiled Android applications. Stowaway determines the set of API calls that an application uses and then maps those API calls to permissions. We used automated testing tools on the Android API to build the permission map.

You can read our research paper for more information about how our static analysis tool works and how we collected the permission map data. The paper will be presented later this year at CCS 2011.
Deliverables
Here's how our work might be useful to you:
  • Upload your app for analysis. Stowaway will tell you whether your application has any unnecessary permissions. Don't worry: the results will be displayed within a minute, and your app won't be saved on our server after the analysis is complete.

  • Please be patient while Stowaway runs. Large applications (and slow upload speeds) can take a while.
  • Browse the permission map. Curious about whether a specific API call, Content Provider, or Intent needs a permission? Check out our permission map for Android 2.2.
  • Download the full permission map. If you use our data set in your research, please cite our CCS 2011 paper.
This work is partially supported by National Science Foundation grants CCF-0424422, 0311808, 0832943, 0448452, 0842694, a gift from Google, and the MURI program under AFOSR grant FA9550-08-1-0352. This material is also based upon work supported under a National Science Foundation Graduate Research Fellowship. Any opinions, findings, conclusions, or recommendations expressed here are those of the authors and do not necessarily reflect the views of the National Science Foundation.