skip to main content
10.1145/2771783.2784768acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
short-paper

Dynamic taint tracking for Java with phosphor (demo)

Published:13 July 2015Publication History

ABSTRACT

Dynamic taint tracking is an information flow analysis that can be applied to many areas of testing. Phosphor is the first portable, accurate and performant dynamic taint tracking system for Java. While previous systems for performing general-purpose taint tracking in the JVM required specialized research JVMs, Phosphor works with standard off-the-shelf JVMs (such as Oracle's HotSpot and OpenJDK's IcedTea). Phosphor also differs from previous portable JVM taint tracking systems that were not general purpose (e.g. tracked only tags on Strings and no other type), in that it tracks tags on all variables. We have also made several enhancements to Phosphor, to track taint tags through control flow (in addition to data flow), as well as to track an arbitrary number of relationships between taint tags (rather than be limited to only 32 tags). In this demonstration, we show how developers writing testing tools can benefit from Phosphor, and explain briefly how to interact with it.

References

  1. J. Bell and G. Kaiser. Phosphor: Illuminating dynamic data flow in commodity jvms. In OOPSLA, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. E. Bruneton, R. Lenglet, and T. Coupaye. Asm: A code manipulation tool to implement adaptable systems. In In Adaptable and extensible component systems, 2002.Google ScholarGoogle Scholar
  3. D. Chandra and M. Franz. Fine-grained information flow analysis and enforcement in a java virtual machine. In ACSAC, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  4. E. Chin and D. Wagner. Efficient character-level taint tracking for java. In ACM Workshop on Secure Web Services, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Clause, W. Li, and A. Orso. Dytan: A generic dynamic taint analysis framework. In ISSTA, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Denaro, A. Margara, M. Pezze, and M. Vivanti. Dynamic data flow testing of object oriented systems. In ICSE, 2015.Google ScholarGoogle ScholarCross RefCross Ref
  7. 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 OSDI, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. M. Ganai, D. Lee, and A. Gupta. Dtam: Dynamic taint analysis of multi-threaded programs for relevancy. In FSE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. Haldar, D. Chandra, and M. Franz. Dynamic taint propagation for java. In ACSAC, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. W. G. J. Halfond, A. Orso, and P. Manolios. Using positive tainting and syntax-aware evaluation to counter sql injection attacks. In FSE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. C. Huo and J. Clause. Improving oracle quality by detecting brittle assertions and unused inputs in tests. In FSE, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. T. R. Leek, G. Z. Baker, R. E. Brown, M. A. Zhivich, and R. P. Lippmann. Coverage maximization using dynamic taint tracing. Technical Report TR-1112, MIT Lincoln Lab, 2007.Google ScholarGoogle Scholar
  13. S. K. Nair, P. N. D. Simpson, B. Crispo, and A. S. Tanenbaum. A virtual machine based information flow control system for policy enforcement. Electron. Notes Theor. Comput. Sci., 197(1):3–16, Feb. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Spahn, J. Bell, M. Lee, S. Bhamidipati, R. Geambasu, and G. Kaiser. Pebbles: Fine-grained data management abstractions for modern operating systems. In OSDI, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Dynamic taint tracking for Java with phosphor (demo)

      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

        • short-paper

        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