Skip to main content

Detecting Software Theft via Whole Program Path Birthmarks

  • Conference paper
Information Security (ISC 2004)

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

Included in the following conference series:

Abstract

A software birthmark is a unique characteristic of a program that can be used as a software theft detection technique. In this paper we present and empirically evaluate a novel birthmarking technique — Whole Program Path Birthmarking — which uniquely identifies a program based on a complete control flow trace of its execution. To evaluate the strength of the proposed technique we examine two important properties: credibility and tolerance against program transformations such as optimization and obfuscation. Our evaluation demonstrates that, for the detection of theft of an entire program, Whole Program Path birthmarks are more resilient to attack than previously proposed techniques. In addition, we illustrate several instances where a birthmark can be used to identify program theft even when an embedded watermark was destroyed by program transformation.

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. Codeshield java bytecode obfuscator, http://www.codingart.com/codeshield.html

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

  3. Smokescreen java obfuscator, http://leesw.com

  4. klassmaster.,Z.: http://www.zelix.com/klassmaster/index.html

  5. Aiken, A.: Moss – a system for detecting software plagiarism , http://www.cs.berkeley.edu/aiken/moss.html

  6. Anderson, R.J., Petitcolas On, F.A.P.: the limits of steganography. IEEE Journal of Selected Areas in Communications 16(4), 474–481 (1998) ,Special issue on copyright & privacy protection

    Article  Google Scholar 

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

  8. Bunke, H., Shearer, K.: A graph distance metric based on the maximal common subgraph (1998)

    Google Scholar 

  9. Collberg, C., Carter, E., Debray, S., Huntwork, A., Linn, C., Stepp, M.: Dynamic path-based software watermarking. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2004 (2004)

    Google Scholar 

  10. Collberg, C., Myles, G., Stepp, M.: Cheating cheating detectors. Technical Report TR04-05, University of Arizona (2004)

    Google Scholar 

  11. Christian Collberg and Clark Thomborson. 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), http://citeseer.nj.nec.com/collberg99software.html

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

  13. 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)

    Google Scholar 

  14. 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_

  15. Grover, D.: Program identification. In: Grover, D. (ed.) The Protection of Computer Software – Its Technology and Applications, pp. 122–154. Cambridge University Press, Cambridge (1989)

    Google Scholar 

  16. Larus, J.R.: Whole program paths. In: ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 1999 (1999)

    Google Scholar 

  17. Monden, A., Iida, H., Matsumoto, K., Inoue, K., Torii, K.: A practical method for watermarking java programs. In: Compsac2000, 24th Computer Software and Applications Conference (2000)

    Google Scholar 

  18. Nevill-Manning, C.G., Witten, I.H.: Compression and explanation using hierarchical grammars. The Computer Journal 40(2/3) (1997)

    Google Scholar 

  19. Nevill-Manning, C.G., Witten, I.H.: Linear-time, incremental hierarchy inference for compression. In: Proceedings of the Data Compression Conference, DCC 1997 (1997)

    Google Scholar 

  20. Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. Information Hiding, 348–367 (1999)

    Google Scholar 

  21. Schleimer, S., Wilkerson, D., Aiken, A.: Winnowing: Local algorithms for document fingerprinting. In: Proceedings of the 2003 SIGMOD Conference (2003)

    Google Scholar 

  22. Stern, J.P., Hachez, G., Koeune, F., Quisquater Robust, J.-J.: object watermarking: Application to code. Information Hiding, 368–378 (1999), http://citeseer.nj.nec.com/stern00robust.html

  23. Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Detecting the theft of programs using birthmarks. Information Science Technical Report NAIST-IS-TR2003014 ISSN 0919-9527, Graduate School of Information Science, Nara Institute of Science and Technology (November 2003)

    Google Scholar 

  24. Tamada, H., Nakamura, M., Monden, A., Matsumoto, K.: Design and evaluation of birthmarks for detecting theft of java programs. In: Proc. IASTED International Conference on Software Engineering (IASTED SE 2004), February 2004, pp. 569–575 (2004)

    Google Scholar 

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

  26. Whale, G.: Identification of program similarity in large populations. Computer Journal 33, 140–146 (1990)

    Article  Google Scholar 

  27. Wise, M.J.: Detection of similarities in student programs: Yap’ing may be preferable to plague’ing. In: 23rd SIGCSE Technical Symposium, pp. 268–271 (1992)

    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). Detecting Software Theft via Whole Program Path Birthmarks. In: Zhang, K., Zheng, Y. (eds) Information Security. ISC 2004. Lecture Notes in Computer Science, vol 3225. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30144-8_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-30144-8_34

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-23208-7

  • Online ISBN: 978-3-540-30144-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics