Software watermarking via opaque predicates: Implementation, analysis, and attacks

Ginger Myles, Christian S Collberg

Research output: Contribution to journalArticle

33 Citations (Scopus)

Abstract

Within the software industry software piracy is a great concern. In this article we address this issue through a prevention technique called software watermarking. Depending on how a software watermark is applied it can be used to discourage piracy; as proof of authorship or purchase; or to track the source of the illegal redistribution. In particular we analyze an algorithm originally proposed by Geneviève Arboit in A Method for Watermarking Java Programs via Opaque Predicates. This watermarking technique embeds the watermark by adding opaque predicates to the application. We have found that the Arboit technique does withstand some forms of attack and has a respectable data-rate. However, it is susceptible to a variety of distortive attacks. One unanswered question in the area of software watermarking is whether dynamic algorithms are inherently more resilient to attacks than static algorithms. We have implemented and empirically evaluated both static and dynamic versions within the SandMark framework.

Original languageEnglish (US)
Pages (from-to)155-171
Number of pages17
JournalElectronic Commerce Research
Volume6
Issue number2
DOIs
StatePublished - Apr 2006

Fingerprint

Watermarking
Computer crime
Software
Attack
Industry

Keywords

  • Copyright protection
  • Opaque predicate
  • Software piracy
  • Software watermarking

ASJC Scopus subject areas

  • Economics, Econometrics and Finance (miscellaneous)

Cite this

Software watermarking via opaque predicates : Implementation, analysis, and attacks. / Myles, Ginger; Collberg, Christian S.

In: Electronic Commerce Research, Vol. 6, No. 2, 04.2006, p. 155-171.

Research output: Contribution to journalArticle

@article{c2d89c9c4ea94186b1d74ef43d970fd6,
title = "Software watermarking via opaque predicates: Implementation, analysis, and attacks",
abstract = "Within the software industry software piracy is a great concern. In this article we address this issue through a prevention technique called software watermarking. Depending on how a software watermark is applied it can be used to discourage piracy; as proof of authorship or purchase; or to track the source of the illegal redistribution. In particular we analyze an algorithm originally proposed by Genevi{\`e}ve Arboit in A Method for Watermarking Java Programs via Opaque Predicates. This watermarking technique embeds the watermark by adding opaque predicates to the application. We have found that the Arboit technique does withstand some forms of attack and has a respectable data-rate. However, it is susceptible to a variety of distortive attacks. One unanswered question in the area of software watermarking is whether dynamic algorithms are inherently more resilient to attacks than static algorithms. We have implemented and empirically evaluated both static and dynamic versions within the SandMark framework.",
keywords = "Copyright protection, Opaque predicate, Software piracy, Software watermarking",
author = "Ginger Myles and Collberg, {Christian S}",
year = "2006",
month = "4",
doi = "10.1007/s10660-006-6955-z",
language = "English (US)",
volume = "6",
pages = "155--171",
journal = "Electronic Commerce Research",
issn = "1389-5753",
publisher = "Kluwer Academic Publishers",
number = "2",

}

TY - JOUR

T1 - Software watermarking via opaque predicates

T2 - Implementation, analysis, and attacks

AU - Myles, Ginger

AU - Collberg, Christian S

PY - 2006/4

Y1 - 2006/4

N2 - Within the software industry software piracy is a great concern. In this article we address this issue through a prevention technique called software watermarking. Depending on how a software watermark is applied it can be used to discourage piracy; as proof of authorship or purchase; or to track the source of the illegal redistribution. In particular we analyze an algorithm originally proposed by Geneviève Arboit in A Method for Watermarking Java Programs via Opaque Predicates. This watermarking technique embeds the watermark by adding opaque predicates to the application. We have found that the Arboit technique does withstand some forms of attack and has a respectable data-rate. However, it is susceptible to a variety of distortive attacks. One unanswered question in the area of software watermarking is whether dynamic algorithms are inherently more resilient to attacks than static algorithms. We have implemented and empirically evaluated both static and dynamic versions within the SandMark framework.

AB - Within the software industry software piracy is a great concern. In this article we address this issue through a prevention technique called software watermarking. Depending on how a software watermark is applied it can be used to discourage piracy; as proof of authorship or purchase; or to track the source of the illegal redistribution. In particular we analyze an algorithm originally proposed by Geneviève Arboit in A Method for Watermarking Java Programs via Opaque Predicates. This watermarking technique embeds the watermark by adding opaque predicates to the application. We have found that the Arboit technique does withstand some forms of attack and has a respectable data-rate. However, it is susceptible to a variety of distortive attacks. One unanswered question in the area of software watermarking is whether dynamic algorithms are inherently more resilient to attacks than static algorithms. We have implemented and empirically evaluated both static and dynamic versions within the SandMark framework.

KW - Copyright protection

KW - Opaque predicate

KW - Software piracy

KW - Software watermarking

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

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

U2 - 10.1007/s10660-006-6955-z

DO - 10.1007/s10660-006-6955-z

M3 - Article

AN - SCOPUS:33645758539

VL - 6

SP - 155

EP - 171

JO - Electronic Commerce Research

JF - Electronic Commerce Research

SN - 1389-5753

IS - 2

ER -