IEEE Transactions on Software Engineering · 2002 · 729 citations · 41 references
ComputingComputer ScienceCybersecurityComputer SecurityCopyright LawIntellectual PropertyReverse EngineeringSoftware CopyrightSoftware Security EngineeringTamper DetectionAnti-reverse EngineeringAnti-tamper TechniquesCode ObfuscationObfuscationReverse Engineering DefensesSoftware Reverse EngineeringUnauthorized ModificationsWatermark Attacks
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.
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.
41
The MD5 Message-Digest Algorithm
Rivest · Medical Entomology and Zoology · 1992 · 2.9K citations
Walter Bender, Daniel Gruhl, Norishige Morimoto et al. · IBM Systems Journal · 1996 · 2.8K citations
Software protection and simulation on oblivious RAMs
Oded Goldreich, Rafail Ostrovsky · Journal of the ACM · 1996 · 1.6K citations · Full text
Exploring steganography: Seeing the unseen
Neil F. Johnson, Sushil Jajodia · Computer · 1998 · 1.5K citations
Efficient software-based fault isolation
Robert Wahbe, Steven Lucco, Thomas E. Anderson et al. · 1993 · 1.2K citations · Full text