An Evaluation of the Resilience of Static Java Bytecode Watermarks Against Distortive Attacks

James Hamilton, Sebastian Danicic · 2011

Software watermarking is a software pro- tection technique based on the insertion of copyright notices or unique identifiers into a program to prove ownership. Software watermarks can be broadly di- vided into two categories: static and dynamic. The former embeds the watermark in the data and/or code of the program, while the latter embeds the wa- termark in a data structure built at runtime. We describe and evaluate the existing Java static wa- termarking systems and algorithms by using them to watermark bytecode files and then applying dis- tortive attacks to each watermarked program by ob- fuscating and optimising. Our study revealed that a high proportion of watermarks were removed as a re- sult of these transformations both in the commercial and academic watermarking systems that we tested. These findings confirm the results of previous studies and this is further evidence that static watermarking techniques on their own do not give sufficient protec- tion against software piracy.

Read the paper · More papers on PaperTik