August 2002 | Christian S. Collberg, Member, IEEE Computer Society, and Clark Thomborson, Senior Member, IEEE
This paper discusses three types of attacks on software intellectual property and their corresponding technical defenses: reverse engineering, software piracy, and tampering. Obfuscation is used to make software unintelligible but still functional, watermarking is used to identify the origin of software, and tamper-proofing is used to prevent unauthorized modifications. The paper also explores various techniques for each type of defense, including software watermarking, obfuscation, and tamper-proofing. It highlights the challenges of protecting software from malicious hosts and the importance of technical defenses in addition to legal protections. The paper also discusses the limitations of current techniques and the need for further research in this area.This paper discusses three types of attacks on software intellectual property and their corresponding technical defenses: reverse engineering, software piracy, and tampering. Obfuscation is used to make software unintelligible but still functional, watermarking is used to identify the origin of software, and tamper-proofing is used to prevent unauthorized modifications. The paper also explores various techniques for each type of defense, including software watermarking, obfuscation, and tamper-proofing. It highlights the challenges of protecting software from malicious hosts and the importance of technical defenses in addition to legal protections. The paper also discusses the limitations of current techniques and the need for further research in this area.