Watermarking, Tamper-Proofing, and Obfuscation - Tools for Software Protection
Christian Collberg
Department of Computer Science,
University of Arizona, Tucson, AZ.
collberg@cs.arizona.edu
Clark Thomborson
Department of Computer Sciences,
The University of Auckland,
Private Bag 92019,
Auckland, New Zealand.
cthombor@cs.auckland.ac.nz
Abstract
We identify three types of attack on the intellectual
property contained in software, and three corresponding technical
defenses. A potent defense against reverse engineering is
obfuscation, a process that renders software unintelligible but
still functional. A defense against software piracy is
watermarking, a process that makes it possible to determine the
origin of software. A defense against tampering is tamper-proofing,
so that unauthorized modifications to software (for example to
remove a watermark) will result in non-functional code. We briefly
survey the available technology for each type of defense.
Back to Collberg's Research Page
Back to Collberg's Home Page