Software watermarking in the frequency domain: Implementation, analysis, and attacks

Christian Collberg, Tapas Ranjan Sahoo

Research output: Contribution to journalArticle

19 Scopus citations

Abstract

In this paper we analyze the SHKQ software watermarking algorithm, originally due to Stern, Hachez, Koeune and Quisquater. The algorithm has been implemented within the SANDMARK framework, a system designed to allow effective study of software protection algorithms (such as code obfuscation, software watermarking, and code tamper-proofing) targeting Java bytecode. The SHKQ algorithm embeds a watermark in a program using a spread spectrum technique. The idea is to spread the watermark over the entire application by modifying instruction frequencies. Spreading the watermark over the code provides a high level of stealth and some manner of resilience against attack. In this paper we describe the implementation of the SHKQ algorithm, in particular the issues that arise when targeting Java bytecodes. We then present an empirical examination of the robustness of the watermark against a wide variety of attacks. We conclude that SHKQ, while stealthy, is easily attacked by simple distortive transformations.

Original languageEnglish (US)
Pages (from-to)721-755
Number of pages35
JournalJournal of Computer Security
Volume13
Issue number5
DOIs
StatePublished - Jan 1 2005

    Fingerprint

Keywords

  • Intellectual property protection
  • Java bytecode
  • Software protection
  • Software watermarking

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality
  • Hardware and Architecture
  • Computer Networks and Communications

Cite this