Watermarking, tamper-proffing, and obfuscation: tools for software protection

  • Authors:
  • Christian S. Collberg;Clark Thomborson

  • Affiliations:
  • Department of Computer Science, University of Arizona, Tuscon, AZ;Department of Computer Science, University of Auckland, Auckland, New Zealand

  • Venue:
  • IEEE Transactions on Software Engineering
  • Year:
  • 2002

Quantified Score

Hi-index 0.01

Visualization

Abstract

We identify three types of attack on the intellectual property contained in software and three corresponding technical defenses. A 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 nonfunctional code. We briefly survey the available technology for each type of defense.