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

An empirical study of cryptographic misuse in android applications

Published:04 November 2013Publication History

ABSTRACT

Developers use cryptographic APIs in Android with the intent of securing data such as passwords and personal information on mobile devices. In this paper, we ask whether developers use the cryptographic APIs in a fashion that provides typical cryptographic notions of security, e.g., IND-CPA security. We develop program analysis techniques to automatically check programs on the Google Play marketplace, and find that 10.327 out of 11,748 applications that use cryptographic APIs -- 88% overall -- make at least one mistake. These numbers show that applications do not use cryptographic APIs in a fashion that maximizes overall security. We then suggest specific remediations based on our analysis towards improving overall cryptographic security in Android applications.

References

  1. The legion of the bouncy castle. http://bouncycastle.org/, 2013.Google ScholarGoogle Scholar
  2. M. Abadi and B. Warinschi. Password-Based Encryption Analyzed. In Proceedings of the international colloquium of Automata, Languages and Programming, pages 664--676. Springer, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. I. Apple. iOS Security Contents, 2012.Google ScholarGoogle Scholar
  4. M. Bellare, T. Kohno, and C. Namprempre. Authenticated encryption in SSH: Provably Fixing the SSH Binary Packet Protocol. In Proceedings of the 9th ACM conference on Computer and communications security, pages 1--11, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Bellare, T. Ristenpart, and S. Tessaro. Multi-instance Security and Its Application to Password-Based Cryptography. In Proceedings of the 32nd Annual Cryptology Conference, pages 312{329. Springer, 2012.Google ScholarGoogle Scholar
  6. M. Bellare and P. Rogaway. Course notes for introduction to modern cryptography. cseweb.ucsd.edu/users/mihir/cse207/classnotes.html.Google ScholarGoogle Scholar
  7. K. Bhargavan, C. Fournet, R. Corin, and E. Zalinescu. Cryptographically verified implementations for TLS. In Proceedings of the 15th ACM conference on computer and Communications security, pages 459--468, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. H. Chen and D. Wagner. MOPS: An Infrastructure for Examining Security Properties of Software. In Proceedings of the 9th ACM conference on Computer and communications security, pages 235--244, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. S. Clark and T. Goodspeed. Why (special agent) Johnny (still) can't encrypt: a security analysis of the APCO project 25 two-way radio system. In Proceedings of the 20th USENIX Security Symposium, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. R. Cytron, J. Ferrante, B. K. Rosen, M. N. Wegman, and F. K. Zadeck. Efficiently Computing Static Single Assignment Form and the Control Dependence Graph. ACM Transactions on Programming Languages and Systems, 13(4):451--490, Oct. 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Dean, D. Grove, and C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. In Proceedings of the 9th European Conference on Object-Oriented Programming, pages 77--101. Springer, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. A. Desnos. Androguard: Reverse engineering, malware and goodware analysis of android applications ... and more (ninja !). http://code.google.com/p/androguard/.Google ScholarGoogle Scholar
  13. W. Enck, P. Gilbert, B.-G. Chun, L. P. Cox, J. Jung, P. McDaniel, and A. N. Sheth. TaintDroid: an information-flow tracking system for realtime privacy monitoring on smartphones. In Proceedings of the 9th USENIX Symposium on Operating Systems Design and Implementation, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. W. Enck, M. Ongtang, and P. McDaniel. On lightweight mobile phone application certification. In Proceedings of the 16th ACM conference on computer and Communications security, pages 235--245, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Fahl, M. Harbach, T. Muders, M. Smith, L. Baumgartner, and B. Freisleben. Why Eve and Mallory Love Android: An Analysis of Android SSL (In)Security. In Proceedings of the 19th ACM conference on Computer and communications security, pages 50--61, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. A. P. Felt, E. Chin, S. Hanna, D. Song, and D. Wagner. Android permissions demystified. In Proceedings of the 18th ACM conference on Computer and communications security, pages 627--638, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. J. Hoffmann, M. Ussath, T. Holz, and M. Spreitzenbarth. Slicing droids: program slicing for smali code. In In Proceedings of the 28th ACM Symposium on Applied Computing, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. S. C. Johnson. Lint , a C Program Checker. Technical report, 1978.Google ScholarGoogle Scholar
  19. B. Kaliski. PKCS #5: Password-based cryptography specification version 2.0. http://tools.ietf.org/html/rfc2898. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Klyubin. Some SecureRandom thoughts. http://android-developers.blogspot.co.uk/2013/08/some-securerandom-thoughts.html, 2013.Google ScholarGoogle Scholar
  21. D. Larochelle and D. Evans. Statically Detecting Likely Buffer Overflow Vulnerabilities. In Proceedings of the 10th USENIX Security Symposium, pages 177--190, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. C. Mitchell, M. Mitchell, and U. Stern. Automated Analysis of Cryptographic Protocols Using Murphi. In Proceedings of the IEEE Symposium on Security and Privacy, pages 141--151, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. B. Moeller. TLS insecurity (attack on CBC). http://www.openssl.org/~bodo/tls-cbc.txt, 2001.Google ScholarGoogle Scholar
  24. M. Nauman, S. Khan, and X. Zhang. Apex: extending android permission model and enforcement with user-defined runtime constraints. In Proceedings of the 5th ACM Symposium on Information, Computer and Communications Security, pages 328--332, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Pearce, A. P. Felt, G. Nunez, and D. Wagner. AdDroid: Privilege separation for applications and advertisers in android. In Proceedings of the 7th ACM Symposium on Information, Computer and Communications Security, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. T. Vidas, D. Votipka, and N. Christin. All Your Droid Are Belong To Us: A Survey of Current Android Attacks. In Proceedings of the 5th USENIX Workshop on Offensive Technologies, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. M. Weiser. Program Slicing. In Proceedings of the 5th international conference on Software engineering, pages 439--449, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. A. Whitten and J. Tygar. Why Johnny Can't Encrypt : A Usability Evaluation of PGP 5.0. In Proceedings of the 8th USENIX Security Symposium, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Y. Zhou, Z. Wang, W. Zhou, and X. Jiang. Hey, you, get off of my market: Detecting malicious apps in official and alternative android markets. In Proceedings of the 19th Annual Network and Distributed System Security Symposium, 2012.Google ScholarGoogle Scholar

Index Terms

  1. An empirical study of cryptographic misuse in android applications

      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 '13: Proceedings of the 2013 ACM SIGSAC conference on Computer & communications security
        November 2013
        1530 pages
        ISBN:9781450324779
        DOI:10.1145/2508859

        Copyright © 2013 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: 4 November 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        CCS '13 Paper Acceptance Rate105of530submissions,20%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