Tamper-proofing Software Watermarks

Thomborson, C., Nagra, J., Somaraju, R. and He, C.

    We introduce a novel method called constant encoding, which can be used to tamper-proof a software watermark that is embedded in the dynamic data structures of a program. Our novel tamperproofing method is based on transforming numeric or non-numeric constant values in the text of the watermarked program into function calls whose value depends on the watermark data structure. Under reasonable assumptions about the knowledge and resources of an attacker, we argue that no attacker can be certain that they have altered our tamperproofed watermark unless they take a risk of affecting program correctness in some way that may be dificult to detect. In this paper we also present a novel scheme for representing a numeric value as a Planted Plane Cubic Tree, and we describe how to use this scheme in a particularly-effective implementation of our constant encoding tamperproofing method.
Cite as: Thomborson, C., Nagra, J., Somaraju, R. and He, C. (2004). Tamper-proofing Software Watermarks. In Proc. Second Australasian Information Security Workshop (AISW2004), Dunedin, New Zealand. CRPIT, 32. Montague, P. and Steketee, C., Eds. ACS. 27-36.
pdf (from crpit.com) pdf (local if available) BibTeX EndNote GS