skip to main content
research-article

TaintEraser: protecting sensitive data leaks using application-level taint tracking

Published:18 February 2011Publication History
Skip Abstract Section

Abstract

We present TaintEraser, a new tool that tracks the movement of sensitive user data as it flows through off-the-shelf applications. TaintEraser uses application-level dynamic taint analysis to let users run applications in their own environment while preventing unwanted information exposure. It is made possible by techniques we developed for accurate and efficient tainting: (1) Semantic-aware instruction-level tainting is critical to track taint accurately, without explosion or loss. (2) Function summaries provide an interface to handle taint propagation within the kernel and reduce the overhead of instruction-level tracking. (3) On-demand instrumentation enables fast loading of large applications. Together, these techniques let us analyze large, multi-threaded, networked applications in near real-time. In tests on Internet Explorer, Yahoo! Messenger, and Windows Notepad, Taint- Eraser generated no false positives and instrumented fewer than 5% of the executed instructions while precisely scrubbing user-defined sensitive data that would otherwise have been exposed to restricted output channels. Our research provides the first evidence that it is viable to track taint accurately and efficiently for real, interactive applications running on commodity hardware.

References

  1. Derek Bruening and Vladimir Kiriansky. Process-Shared and Persistent Code Caches. In VEE, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. W. Cheng, Q. Zhao, B. Yu, and S. Hiroshige. TaintTrace: Efficient Flow Tracing with Dynamic Binary Rewriting. In IEEE Symposium on Computers and Communications, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Sonia Chiasson, P. C. van Oorschot, and Robert Biddle. A usability study and critique of two password managers. In USENIX Security, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jim Chow, Ben Pfaff, Tal Garfinkel, Kevin Christopher, and Mendel Rosenblum. Understanding data lifetime via whole system simulation. In USENIX Security Symposium, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. James Clause, Wanchun Li, and Alessandro Orso. Dytan: a generic dynamic taint analysis framework. In ISSTA '07: Proceedings of the 2007 international symposium on Software testing and analysis, pages 196--206, New York, NY, USA, 2007. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Alexei Czeskis, David J. St. Hilaire, Karl Koscher, Steven D. Gribble, Tadayoshi Kohno, and Bruce Schneier. Defeating Encrypted and Deniable File Systems: TrueCrypt v5.1a and the Case of the Tattling OS and Applications. In HotSec, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Michael Dalton, Hari Kannan, and Christos Kozyrakis. Tainting is not pointless. SIGOPS Oper. Syst. Rev., 44(2):88--92, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Petros Efstathopoulos, Maxwell Krohn, Steve VanDeBogart, Cliff Frey, David Ziegler, Eddie Kohler, David Mazi`eres, Frans Kaashoek, and Robert Morris. Labels and event processes in the asbestos operating system. In SOSP, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Alex Ho, Michael Fetterman, Christopher Clark, Andrew Warfield, and Steven Hand. Practical taint-based protection using demand emulation. SIGOPS Oper. Syst. Rev., 40(4), 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Jaeyeon Jung, Anmol Sheth, Ben Greenstein, David Wetherall, Gabriel Maganis, and Tadayoshi Kohno. Privacy Oracle: a System for Finding Application Leaks with Black Box Differential Testing. In CCS, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood. Pin: building customized program analysis tools with dynamic instrumentation. In PLDI, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. John Markoff. Surveillance of Skype Messages Found in China. The New York Times, October 2008.Google ScholarGoogle Scholar
  13. Andy McCue. IT bosses ban Google Desktop over security fears. http://preview.tinyurl.com/yemm68u.Google ScholarGoogle Scholar
  14. Vijay Nagarajan, Ho-Seop Kim, Youfeng Wu, and Rajiv Gupta. Dynamic Information Flow Tracking on Multicores. In Interact, 2008.Google ScholarGoogle Scholar
  15. James Newsome, Stephen McCamant, and Dawn Song. Measuring channel capacity to distinguish undue influence. In ACM SIGPLAN Workshop on Programming Languages and Analysis for Security, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. James Newsome and Dawn Song. Dynamic Taint Analysis for Automatic Detection, Analysis, and Signature Generation of Exploits on Commodity Software. In NDSS, 2005.Google ScholarGoogle Scholar
  17. Objective Development. Little Snitch. http://www.obdev.at/products/littlesnitch/.Google ScholarGoogle Scholar
  18. PrivacyEraser Computing. Privacy Eraser. http://www.privacyeraser.com/.Google ScholarGoogle Scholar
  19. Feng Qin, Cheng Wang, Zhenmin Li, Ho seop Kim, Yuanyuan Zhou, and Youfeng Wu. LIFT: A Low-Overhead Practical Information Flow Tracking System for Detecting Security Attacks. In MICRO, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Andrei Sabelfeld and Andrew C. Myers. Language-based information-flow security. IEEE JSAC, 21:2003, 2003.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Prateek Saxena, R Sekar, and Varun Puranik. Efficient Fine-Grained Binary Instrumentation with Applications to Taint-Tracking. In CGO, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Edward J. Schwartz, Thanassis Avgerinos, and David Brumley. All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but might have been afraid to ask). In IEEE Symposium on Security and Privacy, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Asia Slowinska and Herbert Bos. Pointless tainting?: evaluating the practicality of pointer tainting. In EuroSys '09: Proceedings of the 4th ACM European conference on Computer systems, pages 61--74, New York, NY, USA, 2009. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. G. Edward Suh, Jae W. Lee, David Zhang, and Srinivas Devadas. Secure program execution via dynamic information flow tracking. In ASPLOS-XI: Proceedings of the 11th international conference on Architectural support for programming languages and operating systems, pages 85--96, New York, NY, USA, 2004. ACM. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Neil Vachharajani, Matthew J. Bridges, Jonathan Chang, Ram Rangan, Guilherme Ottoni, Jason A. Blome, George A. Reis, Manish Vachharajani, and David I. August. RIFLE: An architectural framework for user-centric information-flow security. In MICRO, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Jaikumar Vijayan. Leaked house ethics document spreads on the net vis p2p. http://preview.tinyurl.com/y97f8n5.Google ScholarGoogle Scholar
  27. Cheng Wang, Shiliang Hu, Ho-Seop Kim, Sreekumar R. Nair, Mauricio Breternitz Jr, Zhiwei Ying, and Youfeng Wu. StarDBT: An Efficient Multi-platform Dynamic Binary Translation System. In Asia-Pacific Computer Systems Architecture Conference, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. XiaoFeng Wang, Zhuowei Li, Ninghui Li, and Jong Youl Choi. PRECIP: Practical and Retrofittable Confidential Information Protection. In NDSS, February 2008.Google ScholarGoogle Scholar
  29. Msdn documentation - wcsncpy. http://msdn.microsoft.com/en-us/library/ms860450.aspx.Google ScholarGoogle Scholar
  30. Wei Xu, Sandeep Bhatkar, and R. Sekar. Taint-enhanced policy enforcement: a practical approach to defeat a wide range of attacks. In USENIX Security Symposium, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Heng Yin, Dawn Song, Manuel Egele, Christopher Kruegel, and Engin Kirda. Panorama: capturing system-wide information flow for malware detection and analysis. In CCS, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Aydan R. Yumerefendi, Benjamin Mickle, and Landon P. Cox. TightLip: Keeping Applications from Spilling the Beans. In NSDI, April 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, and David Mazières. Making information flow explicit in HiStar. In OSDI, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. TaintEraser: protecting sensitive data leaks using application-level taint tracking

    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

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader