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 will result in nonfunctional code. We briefly survey the available technology for each type of defense.

What is water marking?
• Originally used to identify paper quality
• Anti-counterfeiting of paper money
• Extended to other forms of hidden information.