Watermarking, tamper-proofing, and obfuscation - tools for software protection

Christian Collberg, Clark Thomborson

IEEE Transactions on Software Engineering · 2002 · 729 citations · 41 references

Concepts

TL;DR

Obfuscation, watermarking, and tamper‑proofing are common defenses against reverse engineering, piracy, and unauthorized modification, respectively. The study identifies three attack types on software intellectual property and the corresponding technical defenses. We survey the available technology for each defense type.

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.

References

41