skip to main content
10.1145/2884781.2884782acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Mining sandboxes

Authors Info & Claims
Published:14 May 2016Publication History

ABSTRACT

We present sandbox mining, a technique to confine an application to resources accessed during automatic testing. Sandbox mining first explores software behavior by means of automatic test generation, and extracts the set of resources accessed during these tests. This set is then used as a sandbox, blocking access to resources not used during testing. The mined sandbox thus protects against behavior changes such as the activation of latent malware, infections, targeted attacks, or malicious updates.

The use of test generation makes sandbox mining a fully automatic process that can be run by vendors and end users alike. Our BOXMATE prototype requires less than one hour to extract a sandbox from an Android app, with few to no confirmations required for frequently used functionality.

References

  1. Android 6 permission system. https://developer.android.com/preview/features/runtime-permissions.html. Retrieved 2015-08-27.Google ScholarGoogle Scholar
  2. Arzt, S., Rasthofer, S., Fritz, C., Bodden, E., Bartel, A., Klein, J., Le Traon, Y., Octeau, D., and McDaniel, P. FlowDroid: Precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps. In Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation (New York, NY, USA, 2014), PLDI '14, ACM, pp. 259--269. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Au, K. W. Y., Zhou, Y. F., Huang, Z., Gill, P., and Lie, D. Short paper: A look at smartphone permission models. In Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices (New York, NY, USA, 2011), SPSM '11, ACM, pp. 63--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Au, K. W. Y., Zhou, Y. F., Huang, Z., and Lie, D. PScout: Analyzing the Android permission specification. In Proceedings of the 2012 ACM Conference on Computer and Communications Security (New York, NY, USA, 2012), CCS '12, ACM, pp. 217--228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Backes, M., Bugiel, S., Hammer, C., Schranz, O., and von Styp-Rekowsky, P. Boxify: Full-fledged app sandboxing for stock android. In 24th USENIX Security Symposium, USENIX Security 15, Washington, D.C., USA, August 12-14, 2015. (2015), pp. 691--706. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Backes, M., Gerling, S., Hammer, C., Maffei, M., and von Styp-Rekowsky, P. AppGuard--fine-grained policy enforcement for untrusted Android applications. In Data Privacy Management and Autonomous Spontaneous Security, J. Garcia-Alfaro, G. Lioudakis, N. Cuppens-Boulahia, S. Foley, and W. M. Fitzgerald, Eds., Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2014, pp. 213--231. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Baliga, A., Ganapathy, V., and Iftode, L. Automatic inference and enforcement of kernel data structure invariants. In Proceedings of the 2008 Annual Computer Security Applications Conference (Washington, DC, USA, 2008), ACSAC '08, IEEE Computer Society, pp. 77--86. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Bartel, A., Klein, J., Le Traon, Y., and Monperrus, M. Automatically securing permission-based software by reducing the attack surface: An application to Android. In Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering (New York, NY, USA, 2012), ASE 2012, ACM, pp. 274--277. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Bhoraskar, R., Han, S., Jeon, J., Azim, T., Chen, S., Jung, J., Nath, S., Wang, R., and Wetherall, D. Brahmastra: Driving apps to test the security of third-party components. In Proceedings of the 23rd USENIX Security Symposium, San Diego, CA, USA, August 20-22, 2014. (2014), pp. 1021--1036. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Bierma, M., Gustafson, E., Erickson, J., Fritz, D., and Choe, Y. R. Andlantis: Large-scale Android dynamic analysis. CoRR abs/1410.7751 (2014).Google ScholarGoogle Scholar
  11. Bläsing, T., Batyuk, L., Schmidt, A.-D., Camtepe, S., and Albayrak, S. An Android application sandbox system for suspicious software detection. In Malicious and Unwanted Software (MALWARE), 2010 5th International Conference on (Oct 2010), pp. 55--62.Google ScholarGoogle ScholarCross RefCross Ref
  12. Burguera, I., Zurutuza, U., and Nadjm-Tehrani, S. Crowdroid: Behavior-based malware detection system for Android. In Proceedings of the 1st ACM Workshop on Security and Privacy in Smartphones and Mobile Devices (New York, NY, USA, 2011), SPSM '11, ACM, pp. 15--26. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Chandola, V., Banerjee, A., and Kumar, V. Anomaly detection: A survey. ACM Comput. Surv. 41, 3 (July 2009), 15:1--15:58. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Enck, W., Gilbert, P., Chun, B.-G., Cox, L. P., Jung, J., McDaniel, P., and Sheth, A. N. 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 (Berkeley, CA, USA, 2010), OSDI'10, USENIX Association, pp. 1--6. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Engler, D., Chen, D. Y., Hallem, S., Chou, A., and Chelf, B. Bugs as deviant behavior: A general approach to inferring errors in systems code. SIGOPS Oper. Syst. Rev. 35, 5 (Oct. 2001), 57--72. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Ernst, M. D., Cockrell, J., Griswold, W. G., and Notkin, D. Dynamically discovering likely program invariants to support program evolution. In Proceedings of the 21st International Conference on Software Engineering (New York, NY, USA, 1999), ICSE '99, ACM, pp. 213--224. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Felt, A. P., Chin, E., Hanna, S., Song, D., and Wagner, D. Android permissions demystified. In Proceedings of the 18th ACM Conference on Computer and Communications Security (New York, NY, USA, 2011), CCS '11, ACM, pp. 627--638. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Felt, A. P., Ha, E., Egelman, S., Haney, A., Chin, E., and Wagner, D. Android permissions: User attention, comprehension, and behavior. In Proceedings of the Eighth Symposium on Usable Privacy and Security (New York, NY, USA, 2012), SOUPS '12, ACM, pp. 3:1--3:14. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Forrest, S., Hofmeyr, S. A., Somayaji, A., and Longstaff, T. A. A sense of self for Unix processes. In Proceedings of the 1996 IEEE Symposium on Security and Privacy (Washington, DC, USA, 1996), SP '96, IEEE Computer Society, pp. 120--. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Godefroid, P., Levin, M. Y., and Molnar, D. Automated whitebox fuzz testing. In Proceedings of Network and Distributed Systems Security (NDSS 2008) (July 2008), pp. 151--166.Google ScholarGoogle Scholar
  21. Godefroid, P., Levin, M. Y., and Molnar, D. Sage: Whitebox fuzzing for security testing. Queue 10, 1 (Jan. 2012), 20:20--20:27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gorla, A., Tavecchia, I., Gross, F., and Zeller, A. Checking app behavior against app descriptions. In Proceedings of the 36th International Conference on Software Engineering (New York, NY, USA, 2014), ICSE 2014, ACM, pp. 1025--1035. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Hao, S., Liu, B., Nath, S., Halfond, W. G., and Govindan, R. PUMA: Programmable UI-automation for large-scale dynamic analysis of mobile apps. In Proceedings of the 12th Annual International Conference on Mobile Systems, Applications, and Services (New York, NY, USA, 2014), MobiSys '14, ACM, pp. 204--217. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Hu, C., and Neamtiu, I. Automating GUI testing for Android applications. In Proceedings of the 6th International Workshop on Automation of Software Test (New York, NY, USA, 2011), AST '11, ACM, pp. 77--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Lindorfer, M., Neugschwandtner, M., Weichselbaum, L., Fratantonio, Y., van der Veen, V., and Platzer, C. Andrubis -- 1,000,000 apps later: A view on current Android malware behaviors. In Proc. 3rd International Workshop on Building Analysis Datasets and Gathering Experience Returns for Security (BADGERS) (2014), ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Lu, L., Li, Z., Wu, Z., Lee, W., and Jiang, G. Chex: Statically vetting android apps for component hijacking vulnerabilities. In Proceedings of the 2012 ACM Conference on Computer and Communications Security (New York, NY, USA, 2012), CCS '12, ACM, pp. 229--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Machiry, A., Tahiliani, R., and Naik, M. Dynodroid: An input generation system for Android apps. In Proceedings of the 2013 9th Joint Meeting on Foundations of Software Engineering (New York, NY, USA, 2013), ESEC/FSE 2013, ACM, pp. 224--234. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Mahmood, R., Esfahani, N., Kacem, T., Mirzaei, N., Malek, S., and Stavrou, A. A whitebox approach for automated security testing of Android applications on the cloud. In Proceedings of the 7th International Workshop on Automation of Software Test (Piscataway, NJ, USA, 2012), AST '12, IEEE Press, pp. 22--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Miller, B. P., Fredriksen, L., and So, B. An empirical study of the reliability of UNIX utilities. Commun. ACM 33, 12 (Dec. 1990), 32--44. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Monkey: UI/Application exerciser. http://developer.android.com/tools/help/monkey.html. Retrieved 2015-02-01.Google ScholarGoogle Scholar
  31. Neuner, S., van der Veen, V., Lindorfer, M., Huber, M., Merzdovnik, G., Mulazzani, M., and Weippl, E. R. Enter sandbox: Android sandbox comparison. CoRR abs/1410.7749 (2014).Google ScholarGoogle Scholar
  32. Provos, N. Improving host security with system call policies. In Proc. USENIX Security (2003), USENIX Association, pp. 18--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Roesner, F., Kohno, T., Moshchuk, A., Parno, B., Wang, H. J., and Cowan, C. User-driven access control: Rethinking permission granting in modern operating systems. In Proceedings of the 2012 IEEE Symposium on Security and Privacy (Washington, DC, USA, 2012), SP '12, IEEE Computer Society, pp. 224--238. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Saltzer, J., and Schroeder, M. The protection of information in computer systems. Proceedings of the IEEE 63, 9 (Sept 1975), 1278--1308.Google ScholarGoogle ScholarCross RefCross Ref
  35. Shabtai, A., Kanonov, U., Elovici, Y., Glezer, C., and Weiss, Y. "Andromaly": a behavioral malware detection framework for android devices. Journal of Intelligent Information Systems 38, 1 (2012), 161--190. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Shirley, J., and Evans, D. The user is not the enemy: Fighting malware by tracking user intentions. In Proceedings of the 2008 Workshop on New Security Paradigms (New York, NY, USA, 2008), NSPW '08, ACM, pp. 33--45. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Sommer, R., and Paxson, V. Outside the closed world: On using machine learning for network intrusion detection. In Proceedings of the 2010 IEEE Symposium on Security and Privacy (Washington, DC, USA, 2010), SP '10, IEEE Computer Society, pp. 305--316. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Zeller, A. Test complement exclusion: Guarantees from dynamic analysis. In Proc. International Conference on Program Comprehension (ICPC) (2015). Abstract of invited keynote. Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. Mining sandboxes

      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
        ICSE '16: Proceedings of the 38th International Conference on Software Engineering
        May 2016
        1235 pages
        ISBN:9781450339001
        DOI:10.1145/2884781

        Copyright © 2016 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 the author(s) 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: 14 May 2016

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate276of1,856submissions,15%

        Upcoming Conference

        ICSE 2025

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader