skip to main content
research-article
Open Access

TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones

Published:01 June 2014Publication History
Skip Abstract Section

Abstract

Today’s smartphone operating systems frequently fail to provide users with visibility into how third-party applications collect and share their private data. We address these shortcomings with TaintDroid, an efficient, system-wide dynamic taint tracking and analysis system capable of simultaneously tracking multiple sources of sensitive data. TaintDroid enables realtime analysis by leveraging Android’s virtualized execution environment. TaintDroid incurs only 32% performance overhead on a CPU-bound microbenchmark and imposes negligible overhead on interactive third-party applications. Using TaintDroid to monitor the behavior of 30 popular third-party Android applications, in our 2010 study we found 20 applications potentially misused users’ private information; so did a similar fraction of the tested applications in our 2012 study. Monitoring the flow of privacy-sensitive data with TaintDroid provides valuable input for smartphone users and security service firms seeking to identify misbehaving applications.

References

  1. Alastair R. Beresford, Andrew Rice, Nicholas Skehin, and Ripduman Sohan. 2011. MockDroid: Trading privacy for application functionality on smartphones. In Proceedings of the 12th Workshop on Mobile Computing Systems and Applications (HotMobile’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Apache Harmony. 2011. Apache harmony -- Open source Java platform. http://harmony.apache.org.Google ScholarGoogle Scholar
  3. Apple, Inc. 2013. Apples app store downloads top three billion. http://www.apple.com/pr/library/2013/01/07App-Store-Tops-40-Billion-Downloads-with-Almost-Half-in-2012.html.Google ScholarGoogle Scholar
  4. Sven Bugiel, Lucas Davi, Alexandra Dmitrienko, Thomas Fischer, and Ahmad-Reza Sadeghi. 2011a. Xmandroid: A new android evolution to mitigate privilege escalation attacks. Tech. rep. TR-2011-04, Center for Advanced Security Research Darmstadt, Technische Universitat Darmstadt, Darmstadt, Germany.Google ScholarGoogle Scholar
  5. Sven Bugiel, Lucas Davi, Alexandra Dmitrienko, Stephan Heuser, Ahmad-Reza Sadeghi, and Bhargava Shastry. 2011b. Practical and lightweight domain isolation on android. In Proceedings of the ACM Workshop on Security and Privacy in Mobile Devices (SPSM’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Sven Bugiel, Stephan Heuser, and Ahmad-Reza Sadeghi. 2013. Flexible and fine-grained mandatory access control on android for diverse security and privacy policies. In Proceedings of the USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Deepak Chandra and Michael Franz. 2007. Fine-grained information flow analysis and enforcement in a Java virtual machine. In Proceedings of the 23rd Annual Computer Security Applications Conference (ACSAC’07).Google ScholarGoogle ScholarCross RefCross Ref
  8. Ben Cheng and Bill Buzbee. 2010. A jit compiler for androids dalvik vm. http://dl.google.com/googleio/2010/android-jit-compiler-androids-dalvik-vm.pdf.Google ScholarGoogle Scholar
  9. Winnie Cheng, Qin Zhao, Bei Yu, and Scott Hiroshige. 2006. TaintTrace: Efficient flow tracing with dynamic binary rewriting. In Proceedings of the IEEE Symposium on Computers and Communications (ISCC’06). 749--754. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jim Chow, Ben Pfaff, Tal Garfinkel, Kevin Christopher, and Mendel Rosenblum. 2004. Understanding data lifetime via whole system simulation. In Proceedings of the 13th USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. James Clause, Wanchun Li, and Alessandro Orso. 2007. Dytan: A generic dynamic taint analysis framework. In Proceedings of the International Symposium on Software Testing and Analysis. 196--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Mauro Conti, Vu Thien Nga Nguyen, and Bruno Crispo. 2010. CRePE: Context-related policy enforcement for android. In Proceedings of the 13th Information Security Conference (ISC’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Manuel Costa, Jon Crowcroft, Miguel Castro, Antony Rowstron, Lidong Zhou, Lintao Zhang, and Paul Barham. 2005. Vigilante: End-to-end containment of internet worms. In Proceedings of the ACM Symposium on Operating Systems Principles. 133--147. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Landon P. Cox and Peter Gilbert. 2009. Redflag: Reducing inadvertent leaks by personal machines. Tech. rep. TR-2009-02, Duke University.Google ScholarGoogle Scholar
  15. Landon P. Cox, Peter Gilbert, Geoffrey Lawler, Valentin Pistol, Ali Razeen, Bi Wu, and Sai Cheemalapati. 2014. Spandex: Secure password tracking for android. Tech. rep. TR-2014-01, Duke University.Google ScholarGoogle Scholar
  16. Jedidiah R. Crandall and Frederic T. Chong. 2004. Minos: Control data attack prevention orthogonal to memory model. In Proceedings of the International Symposium on Microarchitecture. 221--232. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Chris Davies. 2009. iPhone spyware debated as app library “phones home”. http://www.slashgear.com/iphone-spyware-debated-as-app-library-phones-home-1752491/.Google ScholarGoogle Scholar
  18. Benjamin Davis and Hao Chen. 2013. RetroSkeleton: Retrofitting android apps. In Proceeding of the 11th Annual International Conference on Mobile Systems, Applications, and Services (MobiSys’13). 181--192. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Dorothy E. Denning. 1976. A lattice model of secure information flow. Comm. ACM 19, 5, 236--243. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dorothy E. Denning and Peter J. Denning. 1977. Certification of programs for secure information flow. Comm. ACM 20, 7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Michael Dietz, Shashi Shekhar, Yuliy Pisetsky, Anhei Shu, and Dan S. Wallach. 2011. Quire: Lightweight provenance for smart phone operating systems. In Proceedings of the 20th USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Manuel Egele, Christopher Kruegel, Engin Kirda, Heng Yin, and Dawn Song. 2007. Dyanmic spyware analysis. In Proceedings of the USENIX Annual Technical Conference. 233--246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. William Enck, Peter Gilbert, Byung-Gon Chun, Landon P. Cox, Jaeyeon Jung, Patrick Mcdaniel, and Anmol N. Sheth. 2010. 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 (OSDI’10). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. William Enck, Damien Octeau, Patrick Mcdaniel, and Swarat Chaudhuri. 2011. A study of android application security. In Proceedings of the 20th USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. William Enck, Machigar Ongtang, and Patrick Mcdaniel. 2009. On lightweight mobile phone application certification. In Proceedings of the 16th ACM Conference on Computer and Communications Security (CCS’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Adrienne Porter Felt, Helen J. Wang, Alexander Moshchuk, Steven Hanna, and Erika Chin. 2011. Permission re-delegation: Attacks and defenses. In Proceedings of the 20th USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Michael Fitzpatrick. 2010. Mobile that allows bosses to snoop on staff developed. BBC News. http://news.bbc.co.uk/2/hi/technology/8559683.stm.Google ScholarGoogle Scholar
  28. Peter Gilbert, Byung-Gon Chun, Landon P. Cox, and Jaeyeon Jung. 2011. Vision: Automated security validation of mobile apps at app markets. In Proceedings of the International Workshop on Mobile Cloud Computing and Services (MCS’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Michael Grace, Wu Zhou, Xuxian Jiang, and Ahmad-Reza Sadeghi. 2012. Unsafe exposure analysis of mobile in-app advertisements. In Proceedings of the ACM Conference on Security and Privacy in Wireless and Mobile Networks (WiSec’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Vivek Haldar, Deepak Chandra, and Michael Franz. 2005. Dynamic taint propagation for Java. In Proceedings of the 21st Annual Computer Security Applications Conference (ACSAC’05). 303--311. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. William G. J. Halfond, Allesandro Orso, and Panagiotis Manolios. 2008. WASP: Protecting web applications using positive tainting and syntax-aware evaluation. IEEE Trans. Softw. Engin. 34, 1, 65--81. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Nevin Heintze and Jon G. Riecke. 1998. The slam calculus: Programming with secrecy and integrity. In Proceedings of the Symposium on Principles of Programming Languages (POPL’98). 365--377. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Boniface Hicks, Kiyan Ahmadizadeh, and Patrick Mcdaniel. 2006. Understanding practical application development in security-typed languages. In Proceedings of the 22nd Annual Computer Security Applications Conference (ACSAC’06). 153--164. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Alex Ho, Michael Fetterman, Christopher Clark, Andrew Warfield, and Steven Hand. 2006. Practical taint-based protection using demand emulation. In Proceedings of the European Conference on Computer Systems (EuroSys’06). 29--41. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Peter Hornyack, Seungyeop Han, Jaeyeon Jung, Stuart Schechter, and David Wetherall. 2011. These aren’t the droids you’re looking for: Retrofitting android to protect data from imperious applications. In Proceedings of the ACM Conference on Computer and Communications Security (CCS’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Jaeyeon Jung, Anmol Sheth, Ben Greenstein, David Wetherall, Gabriel Maganis, and Tadayoshi Kohno. 2008. Privacy oracle: A system for finding application leaks with black box differential testing. In Proceedings of the 15th ACM Conference on Computer and Communications Security. 279--288. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Min Gyung Kang, Stephen Mccamant, Pongsin Poosankam, and Dawn Song. 2011. DTA+ +: Dynamic taint analysis with targeted control-flow propagation. In Proceedings of the Network and Distributed System Security Symposium (NDSS’11).Google ScholarGoogle Scholar
  38. Maxwell Krohn, Alexander Yip, Micah Brodsky, Natan Cliffer, M. Frans Kaashoek, Eddie Kohler, and Robert Morris. 2007. Information flow control for standard os abstractions. In Proceedings of ACM Symposium on Operating Systems Principles (SOSP’07). 321--334. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Lap Chung Lam and Tzicker Chiueh. 2006. A general dynamic information flow tracking framework for security applications. In Proceedings of the Annual Computer Security Applications Conference (AC-SAC’06). 463--472. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Sheng Liang. 1999. Java Native Interface: Programmer’s Guide and Specification. Prentice Hall PTR. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Lookout. 2010. Introducing the app genome project. http://blog.mylookout.com/2010/07/introducing-the-app-genome-project/.Google ScholarGoogle Scholar
  42. Stephen Mccamant and Michael D. Ernst. 2008. Quantitative information flow as network flow capacity. SIGPLAN Not. 43, 6, 193--205. Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Matteo Migliavacca, Ioannis Papagiannis, David M. Eyers, Brian Shand, Jean Bacon, and Peter Pietzuch. 2010. DEFCon: High-performance event processing with information security. In Proceedings of the USENIX Annual Technical Conference. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Dan Moren. 2009. Retrievable iphone numbers mean potential privacy issues. http://www.macworld.com/article/143047/2009/09/phone_hole.html.Google ScholarGoogle Scholar
  45. Andrew C. Myers. 1999. JFlow: Practical mostly-static information flow control. In Proceedings of the ACM Symposium on Principles of Programming Langauges (POPL’99). Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Andrew C. Myers and Barbara Liskov. 2000. Protecting privacy using the decentralized label model. ACM Trans. Softw. Engin. Methodol. 9, 4, 410--442. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. Adwait Nadkarni and William Enck. 2013. Preventing accidental data disclosure in modern operating systems. In Proceedings of the ACM Conference on Computer and Communications Security (CCS’13). Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. Srijith K. Nair, Patrick N. D. Simpson, Bruno Crispo, and Andrew S. Tanenbaum. 2007. A virtual machine based information flow control system for policy enforcement. In Proceedings of the 1st International Workshop on Run Time Enforcement for Mobile and Distributed Systems (REM’07).Google ScholarGoogle Scholar
  49. Mohammad Nauman, Sohail Khan, and Xinwen Zhang. 2010. 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 (ASICCAS’10). 328--332. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. James Newsome, Stephen Mccamant, and Dawn Song. 2009. Measuring channel capacity to distinguish undue influence. In Proceedings of the 4th ACM SIGPLAN Workshop on Programming Languages and Analysis for Security (PLAS’09). 73--85. Google ScholarGoogle ScholarDigital LibraryDigital Library
  51. James Newsome and Dawn Song. 2005. Dynamic taint analysis for automatic detection, analysis, and signature generation of exploits on commodity software. In Proceedings of the 12th Network and Distributed System Security Symposium (NDSS’05).Google ScholarGoogle Scholar
  52. Machigar Ongtang, Stephen Mclaughlin, William Enck, and Patrick Mcdaniel. 2009. Semantically rich application-centric security in android. In Proceedings of the 25th Annual Computer Security Applications Conference (ACSAC’09). Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. Pendragon Software Corporation. 1997. CaffeineMark 3.0. http://www.benchmarkhq.ru/cm30/.Google ScholarGoogle Scholar
  54. Feng Qin, Chen Wang, Zhenmin Li, Ho-Seop Kim, Yuanyuan Zhou, and Youfeng Wu. 2006. LIFT: A low-overhead practical information flow tracking system for detecting security attacks. In Proceedings of the 39th Annual IEEE/ACM International Symposium on Microarchitecture. 135--148. Google ScholarGoogle ScholarDigital LibraryDigital Library
  55. Indrajit Roy, Donald E. Porter, Michael D. Bond, Kathryn S. Mckinley, and Emmettwitchel. 2009. Laminar: Practical fine-grained decentralized information flow control. In Proceedings of the Conference on Programming Language Design and Implementation (PLDI’09). 63--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  56. Andrei Sabelfeld and Andrew C. Myers. 2003. Language-based information-flow security. IEEE J. Selected Areas Comm. 21, 1, 5--19. Google ScholarGoogle ScholarDigital LibraryDigital Library
  57. Prateek Saxena, R. Sekar, and Varun Puranik. 2008. Efficient fine-grained binary instrumentation with applications to taint-tracking. In Proceedings of the IEEE/ACM Symposium on Code Generation and Optimization (CGO’08). 74--83. Google ScholarGoogle ScholarDigital LibraryDigital Library
  58. Roman Schlegel, Kehuan Zhang, Xiao-Yong Zhou, Mehool Intwala, Apu Kapadia, and Xiao Feng Wang. 2011. Soundcomber: A stealthy and context-aware sound trojan for smartphones. In Proceedings of the ISOC Network and Distributed System Security Symposium (NDSS’11).Google ScholarGoogle Scholar
  59. Edward J. Schwartz, Thanassis Avgerinos, and David Brumley. 2010. All you ever wanted to know about dynamic taint analysis and forward symbolic execution (but might have been afraid to ask). In Proceedings of the IEEE Symposium on Security and Privacy. Google ScholarGoogle ScholarDigital LibraryDigital Library
  60. Asia Slowinska and Herbert Bos. 2009. Pointless tainting? Evaluating the practicality of pointer tainting. In Proceedings of the European Conference on Computer Systems (EuroSys’09). 61--74. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Stephen Smalley and Robert Craig. 2013. Security enhanced (se) android: Bringing flexible MAC to android. In Proceedings of the ISOC Network and Distributed System Security Symposium (NDSS’13).Google ScholarGoogle Scholar
  62. G. Edward Suh, Jae W. Lee, David Zhang, and Srinivas Devadas. 2004. Secure program execution via dynamic information flow tracking. In Proceedings of the Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS’04). 85--96. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. Yang Tang, Phillip Ames, Sravan Bhamidipati, Ashish Bijlani, Roxana Geambasu, and Nikhil Sarda. 2012. CleanOS: Limiting mobile data exposure with idle eviction. In Proceedings of the USENIX Symposium on Operating Systems Design and Implementation (OSDI’12). Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, Jason A. Blome, George A. Reis, Manish Vachharajani, and David I. August. 2004. RIFLE: An architectural framework for user-centric information-flow security. In Proceedings of the 37th Annual IEEE/ACM International Symposium on Microarchitecture. 243--254. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Steve Vandebogart, Petros Efstathopoulos, Eddie Kohler, Maxwell Krohn, Cliff Frey, David Ziegler, Frans Kaashoek, Robert Morris, and David Mazieres. 2007. Labels and event processes in the asbestos operating system. ACM Trans. Comput. Syst. 25, 4. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Philipp Vogt, Florian Nentwich, Nenad Jovanovic, Engin Kirda, Christopher Kruegel, and Giovanni Vigna. 2007. Cross-site scripting prevention with dynamic data tainting and static analysis. In Proceedings of the 14th Network and Distributed System Security Symposium.Google ScholarGoogle Scholar
  67. Xiao Feng Wang, Zhuowei Li, Ninghui Li, and Jong Youl Choi. 2008. PRECIP: Towards practical and retrofittable confidential information protection. In Proceedings of 15th Network and Distributed System Security Symposium (NDSS’08).Google ScholarGoogle Scholar
  68. Whatapp. 2010. WhatApp. http://www.whatapp.org.Google ScholarGoogle Scholar
  69. Rubin Xu, Hassen Saidi, and Ross Anderson. 2012. Aurasium: Practical policy enforcement for android applications. In Proceedings of the USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  70. Wei Xu, Sandeep Bhatkar, and R. Sekar. 2006. Taint-enhanced policy enforcement: A practical approach to defeat a wide range of attacks. In Proceedings of the USENIX Security Symposium. 121--136. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Lok Kwong Yan and Heng Yin. 2012. DroidScope: Seamlessly reconstructing the os and dalvik semantic views for dynamic android malware analysis. In Proceedings of the USENIX Security Symposium. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Heng Yin, Dawn Song, Manuel Egele, Christopher Kruegel, and Engin Kirda. 2007. Panorama: Capturing system-wide information flow for malware detection and analysis. In Proceedings of the 14th ACM Conference on Computer and Communications Security. 116--127. Google ScholarGoogle ScholarDigital LibraryDigital Library
  73. Alexander Yip, Xi Wang, Nickolai Zeldovich, and M. Frans Kaashoek. 2009. Improving application security with data flow assertions. In Proceedings of the ACM Symposium on Operating Systems Principles. Google ScholarGoogle ScholarDigital LibraryDigital Library
  74. Aydan R. Yumerefendi, Benjamin Mickle, and Landon P. Cox. 2007. TightLip: Keeping applications from pilling the beans. In Proceedings of the 4th USENIX Symposium on Network Systems Design and Implementation (NSDI’07). 159--172. Google ScholarGoogle ScholarDigital LibraryDigital Library
  75. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, and David Mazières. 2006. Making information flow explicit in Histar. In Proceedings of the 7th Symposium on Operating Systems Design and Implementation (OSDI’06). 263--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  76. Yajin Zhou, Zhi Wang, Wu Zhou, and Xuxian Jiang. 2012. Hey, you, get off of my market: Detecting malicious apps in official and alternative android markets. In Proceedings of the Network and Distributed System Security Symposium.Google ScholarGoogle Scholar
  77. Yajin Zhou, Xinwen Zhang, Xuxian Jiang, and Vincent W. Freeh. 2011. Taming information-stealing smartphone applications (on android). In Proceedings of the International Conference on Trust and Trustworthy Computing (TRUST’11). Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. David Zhu, Jaeyeon Jung, Dawn Song, Tadayoshi Kohno, and David Wetherall. 2009. Privacy scope: A precise information flow tracking system for finding application leaks. Tech. rep. EECS-2009-145, Department of Computer Science, UC Berkeley, CA.Google ScholarGoogle Scholar

Index Terms

  1. TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones

    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

    Full Access

    • Published in

      cover image ACM Transactions on Computer Systems
      ACM Transactions on Computer Systems  Volume 32, Issue 2
      June 2014
      117 pages
      ISSN:0734-2071
      EISSN:1557-7333
      DOI:10.1145/2642648
      Issue’s Table of Contents

      Copyright © 2014 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: 1 June 2014
      • Accepted: 1 April 2014
      • Revised: 1 February 2014
      • Received: 1 April 2013
      Published in tocs Volume 32, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article
      • Research
      • Refereed

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader