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

  • Authors:
  • Ginger Myles;Christian Collberg

  • Affiliations:
  • Department of Computer Science, University of Arizona, Tucson, USA 85721;Department of Computer Science, University of Arizona, Tucson, USA 85721

  • Venue:
  • Electronic Commerce Research
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

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.