An abstract interpretation-based framework for software watermarking

Patrick Cousot, Radhia Cousot

Research output: Contribution to journalConference articlepeer-review

Abstract

Software watermarking consists in the intentional embedding of indelible stegosignatures or watermarks into the subject software and extraction of the stegosignatures embedded in the stegoprograms for purposes such as intellectual property protection. We introduce the novel concept of abstract software watermarking. The basic idea is that the watermark is hidden in the program code in such a way that it can only be extracted by an abstract interpretation of the (maybe non-standard) concrete semantics of this code. This static analysis-bases approach allows the watermark to be recovered even if only a small part of the program code is present and does not even need that code to be executed. We illustrate the technique by a simple abstract watermarking protocol for method of Java™ classes. The concept applies equally well to any other kind of software (including hardware originally specified by software).

Original languageEnglish (US)
Pages (from-to)173-185
Number of pages13
JournalACM SIGPLAN Notices
Volume39
Issue number1
DOIs
StatePublished - Jan 2004
EventProceedings of the 2004 ACM Sigplan-SIGACT Symposium on Principles of Programming Languages - Venice, Italy
Duration: Jan 14 2004Jan 16 2004

Keywords

  • Abstract interpretation
  • Authentication
  • Copyrights protection
  • Fingerprinting
  • Identification
  • Intellectual property protection
  • Obfuscation
  • Software authorship
  • Software watermarking
  • Static analysis
  • Steganography
  • Stegoanalyst
  • Stegoattacks
  • Stegokey
  • Stegomark
  • Stegosignatu re
  • Tamper-proofing
  • Trustworthiness
  • Validation watermarking

ASJC Scopus subject areas

  • Software
  • Computer Graphics and Computer-Aided Design

Fingerprint

Dive into the research topics of 'An abstract interpretation-based framework for software watermarking'. Together they form a unique fingerprint.

Cite this