Dynamic path-based software watermarking

C. Collberg, E. Carter, S. Debray, A. Huntwork, M. Stepp

Research output: Contribution to conferencePaper

72 Scopus citations

Abstract

Software watermarking is a tool used to combat software piracy by embedding identifying information into a program. Most existing proposals for software watermarking have the shortcoming that the mark can be destroyed via fairly straightforward semantics-preserving code transformations. This paper introduces path-based watermarking, a new approach to software watermarking based on the dynamic branching behavior of programs. The advantage of this technique is that error-correcting and tamper-proofing techniques can be used to make path-based watermarks resilient against a wide variety of attacks. Experimental results, using both Java bytecode and IA-32 native code, indicate that even relatively large watermarks can be embedded into programs at modest cost.

Original languageEnglish (US)
Pages107-118
Number of pages12
StatePublished - Jan 1 2004
EventProceedings of the 2004 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'04) - Washington, DC, United States
Duration: Jun 9 2004Jun 11 2004

Other

OtherProceedings of the 2004 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'04)
CountryUnited States
CityWashington, DC
Period6/9/046/11/04

Keywords

  • Software piracy
  • Software protection
  • Watermarking

ASJC Scopus subject areas

  • Software

Fingerprint Dive into the research topics of 'Dynamic path-based software watermarking'. Together they form a unique fingerprint.

  • Cite this

    Collberg, C., Carter, E., Debray, S., Huntwork, A., & Stepp, M. (2004). Dynamic path-based software watermarking. 107-118. Paper presented at Proceedings of the 2004 ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'04), Washington, DC, United States.