skip to main content
10.1145/2771783.2771800acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article

Dynamic detection of inter-application communication vulnerabilities in Android

Published:13 July 2015Publication History

ABSTRACT

A main aspect of the Android platform is Inter-Application Communication (IAC), which enables reuse of functionality across apps and app components via message passing. While a powerful feature, IAC also constitutes a serious attack surface. A malicious app can embed a payload into an IAC message, thereby driving the recipient app into a potentially vulnerable behavior if the message is processed without its fields first being sanitized or validated. We present what to our knowledge is the first comprehensive testing algorithm for Android IAC vulnerabilities. Toward this end, we first describe a catalog, stemming from our field experience, of 8 concrete vulnerability types that can potentially arise due to unsafe handling of incoming IAC messages. We then explain the main challenges that automated discovery of Android IAC vulnerabilities entails, including in particular path coverage and custom data fields, and present simple yet surprisingly effective solutions to these challenges. We have realized our testing approach as the IntentDroid system, which is available as a commercial cloud service. IntentDroid utilizes lightweight platform-level instrumentation, implemented via debug breakpoints (to run atop any Android device without any setup or customization), to recover IAC-relevant app-level behaviors. Evaluation of IntentDroid over a set of 80 top-popular apps has revealed a total 150 IAC vulnerabilities — some already fixed by the developers following our report — with a recall rate of 92% w.r.t. a ground truth established via manual auditing by a security expert.

References

  1. E. Chin, A. Felt, K. Greenwood, and D. Wagner. Analyzing inter-application communication in android. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, pages 239–252, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Chin, A. F. Porter, K. Greenwood, and D. Wagner. Analyzing inter-application communication in android. In Proceedings of the 9th International Conference on Mobile Systems, Applications, and Services, pages 239–252, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Cozzette, K. Lingel, S. Matsumoto, O. Ortlieb, J. Alexander, J. Betser, L. Florer, G. Kuenning, J. Nilles, and P. L. Reiher. Improving the security of android inter-component communication. In IM, pages 808–811, 2013.Google ScholarGoogle Scholar
  4. 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 Conference on Operating Systems Design and Implementation, pages 1–6, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. W. Enck, M. Ongtang, and P. McDaniel. Understanding android security. IEEE Security and Privacy, 7(1):50–57, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. R. Hay and Y. Amit. Android browser cross-application scripting (cve-2011-2357), August 2011.Google ScholarGoogle Scholar
  7. IDC. Smartphone os market share, q1 2015, 2015.Google ScholarGoogle Scholar
  8. D. Kantola, E. Chin, W. He, and D. Wagner. Reducing attack surfaces for intra-application communication in android. In SPSM, pages 69–80, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. L. Lu, Z. Li, Z. Wu, W. Lee, and G. Jiang. Chex: Statically vetting android apps for component hijacking vulnerabilities. In Proceedings of the 2012 ACM Conference on Computer and Communications Security, pages 229–240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. T. Luo, H. Hao, W. Du, Y. Wang, and H. Yin. Attacks on webview in the android system. In Proceedings of the 27th Annual Computer Security Applications Conference, pages 343–352, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. A. K. Maji, F. A. Arshad, S. Bagchi, and J. S. Rellermeyer. An empirical study of the robustness of inter-component communication in android. In DSN, pages 1–12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. R. Naraine. Google android vulnerable to drive-by browser exploit, 2008.Google ScholarGoogle Scholar
  13. D. Octeau, P. McDaniel, S. Jha, A. Bartel, E. Bodden, J. Klein, and Y. L. Traon. Effective inter-component communication mapping in android with epicc: An essential step towards holistic security analysis. In Proceedings of the 22Nd USENIX Conference on Security, pages 543–558, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Portokalidis, P. Homburg, K. Anagnostakis, and H. Bos. Paranoid android: Versatile protection for smartphones. In Proceedings of the 26th Annual Computer Security Applications Conference, pages 347–356, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. S. Rasthofer, S. Arzt, E. Lovat, and E. Bodden. Droidforce: Enforcing complex, data-centric, system-wide policies in android. In Proceedings of the 9th International Conference on Availability, Reliability and Security (ARES), 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. V. Rastogi, Y. Chen, and W. Enck. Appsplayground: Automatic security analysis of smartphone applications. In Proceedings of the Third ACM Conference on Data and Application Security and Privacy, pages 209–220, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. M. Sagiv, T. Reps, and S. Horwitz. Precise interprocedural dataflow analysis with applications to constant propagation. In Theor. Comput. Sci., pages 131–170, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. R. Sasnauskas and J. Regehr. Intent fuzzer: Crafting intents of death. In Proceedings of the 2014 Joint International Workshop on Dynamic Analysis (WODA) and Software and System Performance Testing, Debugging, and Analytics (PERTEA), pages 1–5, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. O. Shacham, E. Yahav, G. G. Gueta, A. Aiken, N. Bronson, M. Sagiv, and M. Vechev. Verifying atomicity via data independence. In Proceedings of the 2014 International Symposium on Software Testing and Analysis, pages 26–36, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Terada. ˆ a ˘ A¸ S attacking android browsers via intent scheme urls, 2014.Google ScholarGoogle Scholar
  21. P. Wolper. Expressing interesting properties of programs in propositional temporal logic. In Proceedings of the 13th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages, pages 184–193, 1986. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. K. Yang, J. Zhuge, Y. Wang, L. Zhou, and H. Duan. Intentfuzzer: Detecting capability leaks of android applications. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security, pages 531–536, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Ye, S. Cheng, L. Zhang, and F. Jiang. Droidfuzzer: Fuzzing the android apps with intent-filter tag. In Proceedings of International Conference on Advances in Mobile Computing & Multimedia, pages 68:68–68:74, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic detection of inter-application communication vulnerabilities in Android

    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
      ISSTA 2015: Proceedings of the 2015 International Symposium on Software Testing and Analysis
      July 2015
      447 pages
      ISBN:9781450336208
      DOI:10.1145/2771783
      • General Chair:
      • Michal Young,
      • Program Chair:
      • Tao Xie

      Copyright © 2015 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: 13 July 2015

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate58of213submissions,27%

      Upcoming Conference

      ISSTA '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader