Software Watermarking, Obfuscation, and Tamper-Proofing for Software Protection
University Of Arizona, Tucson AZ
Investigators
Abstract
Christian Collberg This research investigates four techniques for the intellectual property protection of software: watermarking, fingerprinting, obfuscation, and tamper-proofing. Watermarking and fingerprinting defend against software piracy by embedding a copyright notice or identification number into a program. This asserts ownership and allows tracking of copyright violators. Effective watermarks are unobtrusive, have high data-rates, and are resilient to de-watermarking attacks. Obfuscation defends against malicious reverse engineering by transforming a program into an equivalent one that is harder to analyze. Effective obfuscating transformations are semantics-preserving, have low computational overhead, and are based on intractable problems that prevent them from being undone. Tamper-proofing causes a program to malfunction when it detects that it has been modified. Tamper-proofing code can be added to an application to protect a watermark from being removed, to prevent a virus from being added, or to ensure that the security-sensitive code of an e-commerce application has not been altered. The goal of this research is to implement many of the currently known algorithms for software protection and to construct benchmarks against which these techniques can be evaluated. An additional objective is to build theoretical models that help to gain a deeper understanding of the limits of intellectual property protection of software.
View original record on NSF Award Search →