Skip to main content

Threading Software Watermarks

  • Conference paper

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

Abstract

We introduce a new dynamic technique for embedding robust software watermarks into a software program using thread contention. We show the technique to be resilient to many semantic-preserving transformations that most existing proposals are susceptible to. We describe the technique for encoding the watermark as a bit string and a scheme for embedding and recognizing the watermark using thread contention. Experimental results with Java bytecode indicate that thread based watermarks have small impact on the size of applications and only a modest effect on their speed.

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

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Anderson, R.J.: Tamper Resistant Software: An Implementation. LNCS, vol. 1174. Springer, Heidelberg (1996)

    Google Scholar 

  2. Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Symposium on Principles of Programming Languages, pp. 311–324 (1999)

    Google Scholar 

  3. Collberg, C., Thomborson, C., Low, D.: A taxonomy of obfuscating transformations. Technical Report 148, Department of Computer Science, University of Auckland (July 1997)

    Google Scholar 

  4. Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Proc. 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 1998, POPL 1998, San Diego, CA (USA), January 1998, pp. 184–196 (1998)

    Google Scholar 

  5. Collberg, C., Townsend, G.: Sandmark: Software watermarking for java (2001), http://www.cs.arizona.edu/sandmark/

  6. Cox, I., Linnartz, J.-P.: Some general methods for tampering with watermarks. IEEE Journal on Selected Areas in Communications 16(4), 587–593 (1998)

    Article  Google Scholar 

  7. Davidson, R.L., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program. US Patent number 5,559,884, September 24 (1996)

    Google Scholar 

  8. Grover, D.: The Protection of Computer Software: Its Technology and Applications, chapter Program Identification, 2nd edn. The British Computer Society Monographs in Informatics. Cambridge University Press, Cambridge (1992)

    Google Scholar 

  9. Holmes, K.: Computer software protection. US Patent number 5,287,407, Assignee: International Business Machine (February 1994)

    Google Scholar 

  10. Kouznetsov, P.: Jad - the fast java decompiler, version 1158e for Linux on Intel platform, August 5 (2001), Avaliable http://kpdus.tripod.com/jad.html

  11. Krsul, I.: Authorship analysis: Identifying the author of a program. Technical Report CSD-TR-94-030, Computer Science Deparment, Purdue University (1994)

    Google Scholar 

  12. Miecznikowski, J.: Dava decompiler, part of SOOT, a Java optimization framework, version 7.1.09. December 17 (2003), Avaliable http://www.sable.mcgill.ca/software/soot/

  13. Monden, A., Iida, H., et al.: A watermarking method for computer programs. In: Proceedings of the 1998 Symposium on Cryptography and Information Security, SCIS 1998. Institute of Electronics, Information and Communication Engineers (January 1998) (in japanese)

    Google Scholar 

  14. Moskowitz, S.A., Cooperman, M.: Method for stega-cipher protection of computer code. US Patent number 5,745,569, April 28 (1998)

    Google Scholar 

  15. Nagra, J., Thomborson, C., Collberg, C.: Software watermarking: Protective terminology. In: Proceedings of the ACSC 2002 (2002)

    Google Scholar 

  16. Odersky, M., Wadler, P.: Pizza into Java: Translating theory into practice. In: Proceedings of the 24th ACM Symposium on Principles of Programming Languages (POPL1997), Paris, France, pp. 146–159. ACM Press, New York (1997)

    Google Scholar 

  17. Ostrovsky, R., Goldreich, O.: Comprehensive software system protection. US Patent number 5,123,045, June 16 (1992)

    Google Scholar 

  18. Ousterhout, J.K.: Why threads are a bad idea (for most purposes). Invited Talk at 1996 Usenix Technical Conference (1996), Slides avaliable at http://www.sunlabs.com/~ouster/

  19. Ryland, P.: Homebrew decompiler, version 0.2.4. February 15 (2003), Avaliable http://www.pdr.cx/projects/hbd/

  20. Sander, T., Tschudin, C.F.: Protecting mobile agents against malicious hosts. In: Vigna, G. (ed.) Mobile Agents and Security. LNCS, vol. 1419, pp. 44–60. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  21. Shivakumar, N., García-Molina, H.: Building a scalable and accurate copy detection mechanism. In: Proceedings of the First ACM International Conference on Digital Libraries DL 1996, Bethesda, MD, USA (1996)

    Google Scholar 

  22. Stern, J.P., Hachez, G., Koeune, F., Quisquater, J.-J.: Robust object watermarking: Application to code. In: Pfitzmann, A. (ed.) IH 1999. LNCS, vol. 1768, Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  23. 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

Nagra, J., Thomborson, C. (2004). Threading Software Watermarks. 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_15

Download citation

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

  • 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