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.




Gzipped Postscript
Article A4 LETTER (232k)

Postscript
Article A4 LETTER (917k)

PDF
Article A4 LETTER (600k)

ASCII Text
The BibTeX entry BibTeX.bib (2k)


Back to Collberg's Research Page
Back to Collberg's Home Page