More on graph theoretic software watermarks: Implementation, analysis, and attacks

  • Authors:
  • Christian Collberg;Andrew Huntwork;Edward Carter;Gregg Townsend;Michael Stepp

  • Affiliations:
  • Department of Computer Science, The University of Arizona, Tucson, AZ 85721, United States;Amazon.com, 1200 12th Ave S., Suite 1200, Seattle, WA 98144, United States;Department of Mathematics, University of California, Berkeley, CA 94720, United States;Department of Computer Science, The University of Arizona, Tucson, AZ 85721, United States;Department of Computer Science, University of California, San Diego, La Jolla, CA 92093, United States

  • Venue:
  • Information and Software Technology
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents an implementation of the watermarking method proposed by Venkatesan et al. in their paper [R. Venkatesan, V. Vazirani, S. Sinha, A graph theoretic approach to software watermarking, in: Fourth International Information Hiding Workshop, Pittsburgh, PA, 2001]. An executable program is marked by the addition of code for which the topology of the control-flow graph encodes a watermark. We discuss issues that were identified during construction of an actual implementation that operates on Java bytecode. We present two algorithms for splitting a watermark number into a redundant set of pieces and an algorithm for turning a watermark number into a control-flow graph. We measure the size and time overhead of watermarking, and evaluate the algorithm against a variety of attacks.