•Context:
–Software often distributed in a form isomorphic to its
source code (e.g., for
platform independence).
•Problem:
–How to prevent reengineering, which exposes the source
code structure of the
code, allowing malicious attacks?
•Solution:
–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 non-functional code.
•Papers:
–Note: Christian Collberg may be in town April 22.