Skip to main content

Software Watermarking Through Register Allocation: Implementation, Analysis, and Attacks

  • Conference paper
Information Security and Cryptology - ICISC 2003 (ICISC 2003)

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

Included in the following conference series:

Abstract

In this paper we explore the application of the QP watermarking algorithm proposed by G. Qu and M. Potkonjak to software watermarking. The algorithm was originally proposed as a technique for watermarking the graph coloring problem which can be applied to a variety of media such as FPGA designs and software through register allocation. We implemented the algorithm within the SandMark framework, a system that allows the study of watermarking, tamper-proofing, and obfuscation algorithms for Java bytecode. Through the use of this framework we were able to perform an empirical evaluation of the algorithm. In particular we demonstrate that the use of register allocation, while incurring no performance overhead and being stealthy, is in fact vulnerable to attacks such as decompile/recompile. We also demonstrate that the QP algorithm does not allow for accurate watermark recognition without significant modifications.

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. Bcel, http://jakarta.apache.org/bcel/

  2. Bloat: The bytecode-level optimizer and analysis tool, http://www.cs.purdue.edu/s3/projects/bloat/

  3. Jad - the fast java decompiler, http://www.geocities.com/zzxu/jad.html

  4. Sandmark, http://www.cs.arizona.edu/sandmark/

  5. Spec jvm98 v1.04, http://www.specbench.org/osg/jvm98/

  6. Aucsmith, D.: Tamper resistant software: An implementation. In: Anderson, R. (ed.) IH 1996. LNCS, vol. 1174, pp. 317–333. Springer, Heidelberg (1996)

    Google Scholar 

  7. Chang, H., Atallah, M.: Protecting software code by guards. In: Sander, T. (ed.) DRM 2001. LNCS, vol. 2320, p. 160. Springer, Heidelberg (2002), http://www.star-lab.com/sander/spdrm/papers.html

    Chapter  Google Scholar 

  8. Collberg, C., Myles, G., Huntwork, A.: Sandmark - a tool for software protection research. IEEE Security and Privacy 1(4), 40–49 (2003)

    Article  Google Scholar 

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

    Google Scholar 

  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 (1996), http://www.delphion.com/details?pn=US05559884

  11. Hachez, G.: A Comparative Study of Software Protection Tools Suited for ECommerce with Contributions to Software Watermarking and Smart Cards. PhD thesis, Universite Catholique de Louvain (2003)

    Google Scholar 

  12. Horne, B., Matheson, L., Sheehan, C., Tarjan, R.E.: Dynamic self-checking techniques for improved tamper resistance. In: Sander, T. (ed.) DRM 2001. LNCS, vol. 2320, p. 141. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  13. Koushanfar, F., Qu, G., Potkonjak, M.: Intellectual property metering. In: Moskowitz, I.S. (ed.) IH 2001. LNCS, vol. 2137, pp. 87–102. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Linn, C., Debray, S.K.: Obfuscation of executable code to improve resistance to static disassembly. In: ACM Conference on Computer and Communications Security (October 2003)

    Google Scholar 

  15. International Planning and Research Corporation. In: Sixth annual BSA global software piracy study (2001)

    Google Scholar 

  16. Qu, G., Wong, J.L., Potkonjak, M.: Fair watermarking techniques. In: EEE/ACM Asia and South Pacific Design Automation Conference, pp. 55–60 (2000)

    Google Scholar 

  17. Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: ICCAD, pp. 190–193 (1998)

    Google Scholar 

  18. Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. In: Pfitzmann, A. (ed.) IH 1999. LNCS, vol. 1768, pp. 348–367. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  19. Qu, G., Potkonjak, M.: Fingerprinting intellectual property using constraint-addition. In: Design Automation Conference, pp. 587–592 (2000)

    Google Scholar 

  20. Qu, G., Wong, J.L., Potkonjak, M.: Optimization-intensive watermarking techniques for decision problems. In: Design Automation Conference, pp. 33–36 (1999)

    Google Scholar 

  21. Sahoo, T.R., Collberg, C.: Software watermarking in the frequency domain: Implementation, analysis, and attacks. In: ACM Symposium on Applied Computing (March 2004) (to appear)

    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, pp. 368–378. Springer, Heidelberg (2000), http://citeseer.nj.nec.com/stern00robust.html

  23. Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: Moskowitz, I.S. (ed.) IH 2001. LNCS, vol. 2137, p. 157. Springer, Heidelberg (2001), http://link.springer.de/link/service/series/0558/bibs/2137/21370157.htm

    Chapter  Google Scholar 

  24. Wolfe, G., Wong, J.L., Potkonjak, M.: Watermarking graph partitioning solutions. In: Design Automation Conference, pp. 486–489 (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

Myles, G., Collberg, C. (2004). Software Watermarking Through Register Allocation: Implementation, Analysis, and Attacks. In: Lim, JI., Lee, DH. (eds) Information Security and Cryptology - ICISC 2003. ICISC 2003. Lecture Notes in Computer Science, vol 2971. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24691-6_21

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24691-6_21

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21376-5

  • Online ISBN: 978-3-540-24691-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics