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

Christian S Collberg, Tapas Ranjan Sahoo

Research output: Contribution to journalArticle

18 Citations (Scopus)

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
StatePublished - 2005

Fingerprint

Frequency domain analysis
Watermarking

Keywords

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

ASJC Scopus subject areas

  • Software

Cite this

Software watermarking in the frequency domain : Implementation, analysis, and attacks. / Collberg, Christian S; Sahoo, Tapas Ranjan.

In: Journal of Computer Security, Vol. 13, No. 5, 2005, p. 721-755.

Research output: Contribution to journalArticle

@article{e2dd9badd3394d0d87bd901db19cfea6,
title = "Software watermarking in the frequency domain: Implementation, analysis, and attacks",
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.",
keywords = "Intellectual property protection, Java bytecode, Software protection, Software watermarking",
author = "Collberg, {Christian S} and Sahoo, {Tapas Ranjan}",
year = "2005",
language = "English (US)",
volume = "13",
pages = "721--755",
journal = "Journal of Computer Security",
issn = "0926-227X",
publisher = "IOS Press",
number = "5",

}

TY - JOUR

T1 - Software watermarking in the frequency domain

T2 - Implementation, analysis, and attacks

AU - Collberg, Christian S

AU - Sahoo, Tapas Ranjan

PY - 2005

Y1 - 2005

N2 - 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.

AB - 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.

KW - Intellectual property protection

KW - Java bytecode

KW - Software protection

KW - Software watermarking

UR - http://www.scopus.com/inward/record.url?scp=28844467710&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=28844467710&partnerID=8YFLogxK

M3 - Article

AN - SCOPUS:28844467710

VL - 13

SP - 721

EP - 755

JO - Journal of Computer Security

JF - Journal of Computer Security

SN - 0926-227X

IS - 5

ER -