Abstract
Fingerprinting embeds a secret message into a cover message. In media fingerprinting, the secret is usually a copyright notice and the cover a digital image. Fingerprinting an object discourages intellectual property theft, or when such theft has occurred, allows us to prove ownership. The Software Fingerprinting problem can be described as follows. Embed a structure W into a program P such that: W can be reliably located and extracted from P even after P has been subjected to code transformations such as translation, optimization and obfuscation; W is stealthy; W has a high data rate; embedding W into P does not adversely affect the performance of P; and W has a mathematical property that allows us to argue that its presence in P is the result of deliberate actions. In this article, we describe a software fingerprinting technique in which a dynamic graph fingerprint is stored in the execution state of a program. Because of the hardness of pointer alias analysis such fingerprints are difficult to attack automatically.
Original language | English (US) |
---|---|
Article number | 1286826 |
Journal | ACM Transactions on Programming Languages and Systems |
Volume | 29 |
Issue number | 6 |
DOIs | |
State | Published - Oct 1 2007 |
Keywords
- Software piracy
- Software protection
- Watermarking
ASJC Scopus subject areas
- Software