Skip to main content

Graph Theoretic Software Watermarks: Implementation, Analysis, and Attacks

  • Conference paper
Information Hiding (IH 2004)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3200))

Included in the following conference series:

Abstract

This paper presents an implementation of the novel watermarking method proposed by Venkatesan, Vazirani, and Sinha in their recent paper A Graph Theoretic Approach to Software Watermarking. An executable program is marked by the addition of code for which the topology of the control-flow graph encodes a watermark. We discuss issues that were identified during construction of an actual implementation that operates on Java bytecode. We measure the size and time overhead of watermarking, and evaluate the algorithm against a variety of attacks.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aho, A.V., Sethi, R., Ullman, J.D.: Compilers, Principles, Techniques, and Tools. Addison-Wesley, Reading (1986) ISBN 0-201-10088-6

    Google Scholar 

  2. Arboit, G.: A method for watermarking Java programs via opaque predicates. In: The Fifth International Conference on Electronic Commerce Research, ICECR-5 (2002)

    Google Scholar 

  3. Collberg, C., Carter, E., Kobourov, S., Thomborson, C.: Error-correcting graphs. In: Workshop on Graphs in Computer Science (WG 2003) (June 2003)

    Google Scholar 

  4. Collberg, C., Myles, G., Huntwork, A.: SandMark — A tool for software protection research. IEEE Magazine of Security and Privacy (to appear)

    Google Scholar 

  5. Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Conference Record of POPL 1999: The 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (January 1999)

    Google Scholar 

  6. Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report 148, Department of Computer Science, University of Auckland (July 1997), http://www.cs.auckland.ac.nz/~collberg/Research/Publications/CollbergThomborsonLow97a

  7. Collberg, C., Thomborson, C., Low, D.: Breaking abstractions and unstructuring data structures. In: IEEE International Conference on Computer Languages, ICCL 1998, Chicago, IL (May 1998), http://www.cs.auckland.ac.nz/~collberg/Research/Publications/CollbergThomborsonLow98b/

  8. Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Principles of Programming Languages 1998, POPL 1998, San Diego, CA (January 1998), http://www.cs.auckland.ac.nz/~collberg/Research/Publications/CollbergThomborsonLow98a/

  9. Dahm, M.: Byte code engineering. In: The Scientific German Java Conference (September 1999), ftp://ftp.inf.fu-berlin.de/pub/JavaClass/paper.ps.gz

  10. Davidson, R.L., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program. US Patent 5,559,884, Assignee: Microsoft Corporation (September 1996)

    Google Scholar 

  11. Debray, S., Evans, W., Muth, R., Sutter, B.D.: Compiler techniques for code compaction. ACM Transactions on Programming Languages and Systems 22(2), 378–415 (2000)

    Article  Google Scholar 

  12. Debray, S., Muth, R., Watterson, S., Bosschere, K.D.: ALTO: A link-time optimizer for the Compaq Alpha. Software — Practice and Experience 31, 67–101 (2001)

    Article  MATH  Google Scholar 

  13. Debray, S., Schwarz, B., Andrews, G., Legendre, M.: PLTO: A link-time optimizer for the Intel IA-32 architecture. In: Proc. 2001 Workshop on Binary Rewriting (WBT 2001) (September 2001)

    Google Scholar 

  14. Myles, G., Collberg, C.: Software watermarking through register allocation: Implementation, analysis, and attacks. In: International Conference on Information Security and Cryptology (2003)

    Google Scholar 

  15. Nystrom, N.: Bloat – the bytecode-level optimizer and analysis tool (1999), http://www.cs.purdue.edu/homes/whitlock/bloat

  16. Palsberg, J., Krishnaswamy, S., Kwon, M., Ma, D., Shao, Q., Zhang, Y.: Experience with software watermarking. In: Proceedings of ACSAC 2000 16th Annual Computer Security Applications Conference, pp. 308–316 (2000)

    Google Scholar 

  17. Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: IEEE/ACM International Conference on Computer Aided Design, pp. 190–193 (November 1998), http://www.cs.ucla.edu/~gangqu/publication/gc.ps.gz

  18. Rivest, R.: The MD5 message-digest algorithm, The Internet Engineering Task Force RFC 1321 (1992), http://www.ietf.org/rfc/rfc1321.txt

  19. Pendragon Software. Caffeinemark 3.0 (1998), http://www.pendragon-software.com/pendragon/cm3/

  20. Stern, J.P., Hachez, G., Koeune, F., Quisquater, J.-J.: Robust object watermarking: Application to code. In: Information Hiding, pp. 368–378 (1999)

    Google Scholar 

  21. Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: 4th International Information Hiding Workshop, Pittsburgh, PA (April 2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Collberg, C., Huntwork, A., Carter, E., Townsend, G. (2004). Graph Theoretic Software Watermarks: Implementation, Analysis, and Attacks. In: Fridrich, J. (eds) Information Hiding. IH 2004. Lecture Notes in Computer Science, vol 3200. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30114-1_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30114-1_14

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-24207-9

  • Online ISBN: 978-3-540-30114-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics