The University of Arizona
banner image

  Dynamic Path-Based Software Watermarking

C. Collberg, E. Carter, S. Debray, A. Huntwork, C. Linn, and M. Stepp
Department of Computer Science
University of Arizona
Tucson, AZ 85721, U.S.A.
 

Abstract
Software watermarks --- bitstrings encoding some sort of identifying information that are embedded into executable programs --- are an important tool against software piracy. Most existing proposals for software watermarking have the shortcoming that they can be destroyed via fairly straightforward semantics-preserving code transformations. This paper introduces path-based watermarking, a new approach to software watermarking based on the dynamic branching behavior of programs. We show how error-correcting and tamper-proofing techniques can be used to make path-based watermarks resilient against a wide variety of attacks. Experimental results, using both Java bytecode and IA-32 native code, indicate that even relatively large watermarks can be embedded into programs at modest cost.