Abstract
In this paper, we discuss graph-theoretic approaches to software watermarking and fingerprinting. Software watermarking is used to discourage intellectual property theft and software fingerprinting is used to trace intellectual property copyright violations. We focus on two algorithms that encode information in software through the use of graph structures. We then consider the different attack models intended to disable the watermark while not affecting the correctness or performance of the program. Finally, we present several classes of graphs that can be used for watermarking and fingerprinting and analyze their properties (resiliency, data rate, performance, and stealthiness).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aho, A., Sethi, R., Ullman, J.: Compilers: Principles, Techniques, and Tools. Addison-Wesley, Reading (1986)
Anderson, R.J., Peticolas, F.A.: On the limits of steganography. IEEE J-SAC 16(4) (May 1998)
Bender, W., Gruhl, D., Morimoto, N., Lu, A.: Techniques for data hiding. IBM Systems Journal 35(3&4), 313–336 (1996)
Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: POPL 1999 (January 1999)
Collberg, C., Thomborson, C., Low, D.: Breaking abstractions and unstructuring data structures. In: ICCL 1998 (1998)
Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: POPL 1998 (January 1998)
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)
Ghiya, R., Hendren, L.J.: Is it a tree, a DAG, or a cyclic graph? A shape analysis for heap-directed pointers in C. In: POPL 1996, January 21-24, pp. 1–15 (1996)
Harary, F., Palmer, E.: Graphical Enumeration. Academic Press, New York (1973)
Kannan, S., Proebsting, T.A.: Register allocation in structured programs. Journal of Algorithms 29(2), 223–237 (1998)
Knuth, D.E.: Fundamental Algorithms, 3rd edn. The Art of Computer Programming, vol. 1. Addison-Wesley, Reading (1997)
Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: IEEE/ACM Intl. Conference on CAD, pp. 190–193 (1998)
Ramalingam, G.: The undecidability of aliasing. ACM TOPLAS 16(5), 1467–1471 (1994)
Stern, J.P., Hachez, G., Koeune, F., Quisquater, J.-J.: Robust object watermarking: Application to code. Information Hiding, 368–378 (1999)
Tucker, A.: Applied Combinatorics, 3rd edn. Wiley, Chichester (1994)
Vanstone, S.A., Oorschot, P.C.V.: An Introduction to Error Correcting Codes with Applications. Klewer Academic Publishers, Dordrecht (1989)
Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: 4th Intl. Information Hiding Workshop (2001)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Collberg, C., Kobourov, S., Carter, E., Thomborson, C. (2003). Graph-Based Approaches to Software Watermarking. In: Bodlaender, H.L. (eds) Graph-Theoretic Concepts in Computer Science. WG 2003. Lecture Notes in Computer Science, vol 2880. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39890-5_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-39890-5_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-20452-7
Online ISBN: 978-3-540-39890-5
eBook Packages: Springer Book Archive