skip to main content
10.1145/2046707.2046779acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
research-article

Android permissions demystified

Authors Info & Claims
Published:17 October 2011Publication History

ABSTRACT

Android provides third-party applications with an extensive API that includes access to phone hardware, settings, and user data. Access to privacy- and security-relevant parts of the API is controlled with an install-time application permission system. We study Android applications to determine whether Android developers follow least privilege with their permission requests. We built Stowaway, a 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 in order to build the permission map that is necessary for detecting overprivilege. We apply Stowaway to a set of 940 applications and find that about one-third are overprivileged. We investigate the causes of overprivilege and find evidence that developers are trying to follow least privilege but sometimes fail due to insufficient API documentation.

References

  1. Amazon Appstore for Android. http://www.amazon.com/mobile-apps/b?ie=UTF8&node=2350149011.Google ScholarGoogle Scholar
  2. Android Developers Reference. http://developer.android.com/reference/.Google ScholarGoogle Scholar
  3. Android Market. http://www.android.com/market/.Google ScholarGoogle Scholar
  4. Artzi, S., Ernst, M., Kiezun, A., Pacheco, C., and Perkins, J. Finding the needles in the haystack: Generating legal test inputs for object-oriented programs. In Workshop on Model-Based Testing and Object-Oriented Systems (2006).Google ScholarGoogle Scholar
  5. Barrera, D., Kayacik, H., van Oorschot, P., and Somayaji, A. A methodology for empirical analysis of permission-based security models and its application to android. In Proc. of the ACM conference on Computer and Communications Security (2010). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Bodden, E., Sewe, A., Sinschek, J., and Mezini, M. Taming reflection: Static analysis in the presence of reflection and custom class loaders. Tech. Rep. TUD-CS-2010-0066, CASED, Mar. 2010.Google ScholarGoogle Scholar
  7. Boyapati, C., Khurshid, S., and Marinov, D. Korat: Automated testing based on Java predicates. In Proc. of the 2002 ACM SIGSOFT International Symposium on Software Testing and Analysis (2002). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Chin, E., Felt, A. P., Greenwood, K., and Wagner, D. Analyzing Inter-Application Communication in Android. In Proc. of the Annual International Conference on Mobile Systems, Applications, and Services (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Csallner, C., and Smaragdakis, Y. JCrasher: an automatic robustness tester for Java. Software: Practice and Experience 34, 11 (2004). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Distimo. The battle for the most content and the emerging tablet market. http://www.distimo.com/blog/2011_04_the-battle-for-the-most-content-and-the-emerging-tablet-market.Google ScholarGoogle Scholar
  11. Enck, W., Octeau, D., McDaniel, P., and Chaudhuri, S. A Study of Android Application Security. In USENIX Security (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Enck, W., Ongtang, M., and McDaniel, P. On lightweight mobile phone application certification. In Proc. of the ACM conference on Computer and Communications Security (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Enck, W., Ongtang, M., and McDaniel, P. Understanding Android security. IEEE Security and Privacy 7, 1 (2009). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Enhanced JUnit. http://www.silvermark.com/Product/java/enhancedjunit/index.html.Google ScholarGoogle Scholar
  15. Felt, A. P., Greenwood, K., and Wagner, D. The Effectiveness of Application Permissions. In Proc. of the USENIX Conference on Web Application Development (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Gibler, C., Crussell, J., Erickson, J., and Chen, H. AndroidLeaks: Detecting Privacy Leaks in Android Applications. Tech. rep., UC Davis, 2011.Google ScholarGoogle Scholar
  17. Hackborn, D. Re: List of private / hidden / system APIs? http://groups.google.com/group/android-developers/msg/a9248b18cba59f5a.Google ScholarGoogle Scholar
  18. Livshits, B., Whaley, J., and Lam, M. S. Reflection Analysis for Java. In Asian Symposium on Programming Languages and Systems (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. McCluskey, G. Using Java Reflection. http://java.sun.com/developer/technicalArticles/ALT/Reflection/, 1998.Google ScholarGoogle Scholar
  20. Pacheco, C., and Ernst, M. Randoop. http://code.google.com/p/randoop/.Google ScholarGoogle Scholar
  21. Pacheco, C., and Ernst, M. Eclat: Automatic generation and classification of test inputs. European Conference on Object-Oriented Programming (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Pacheco, C., Lahiri, S., Ernst, M., and Ball, T. Feedback-directed random test generation. In Proc. of the International Conference on Software Engineering (2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Paller, G. Dedexer. http://dedexer.sourceforge.net.Google ScholarGoogle Scholar
  24. Sawin, J., and Rountev, A. Improving static resolution of dynamic class loading in java using dynamically gathered environment information. Automated Software Eng. 16 (June 2009), 357--381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Stack Overflow. Broadcast Intent when network state has changend. http://stackoverflow.com/questions/2676044/broadcast-intent-when-network-state-has-changend.Google ScholarGoogle Scholar
  26. Vennon, T., and Stroop, D. Threat Analysis of the Android Market. Tech. rep., SMobile Systems, 2010.Google ScholarGoogle Scholar
  27. Vidas, T., Christin, N., and Cranor, L. Curbing Android Permission Creep. In W2SP (2011).Google ScholarGoogle Scholar

Index Terms

  1. Android permissions demystified

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        CCS '11: Proceedings of the 18th ACM conference on Computer and communications security
        October 2011
        742 pages
        ISBN:9781450309486
        DOI:10.1145/2046707

        Copyright © 2011 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 17 October 2011

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CCS '11 Paper Acceptance Rate60of429submissions,14%Overall Acceptance Rate1,261of6,999submissions,18%

        Upcoming Conference

        CCS '24
        ACM SIGSAC Conference on Computer and Communications Security
        October 14 - 18, 2024
        Salt Lake City , UT , USA

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader