A Buffer Overflow Based Algorithm to Conceal Software Watermarking Trigger Behavior

SUMMARY Software watermarking is a digital technique used to protect software by embedding some secret information as identification in order to discourage software piracy and unauthorized modification. Watermarking is still a relatively new field and has good potential in protecting software from privacy threats. However, there appears to be a security vulnerability in the watermark trigger behaviour, and has been frequently attacked. By tracing the watermark trigger behaviour, attackers can easily intrude into the software and locate and expose the watermark for modification. In order to address this problem, we propose an algorithm that obscures the watermark trigger behaviour by utilizing buffer overflow. The code of the watermark trigger behaviour is removed from the software product itself, making it more difficult for attackers to trace the software. Experiments show that the new algorithm has promising performance in

[1]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[2]  Jens Palsberg,et al.  Experience with software watermarking , 2000, Proceedings 16th Annual Computer Security Applications Conference (ACSAC'00).

[3]  David Kahn,et al.  The History of Steganography , 1996, Information Hiding.

[4]  Ingemar J. Cox,et al.  A Secure, Robust Watermark for Multimedia , 1996, Information Hiding.

[5]  Christian S. Collberg,et al.  Graph Theoretic Software Watermarks: Implementation, Analysis, and Attacks , 2004, Information Hiding.

[6]  Darko Kirovski,et al.  Robust spread-spectrum audio watermarking , 2001, 2001 IEEE International Conference on Acoustics, Speech, and Signal Processing. Proceedings (Cat. No.01CH37221).

[7]  Jeffrey D. Ullman,et al.  Flow Graph Reducibility , 1972, SIAM J. Comput..

[8]  Michael Stepp,et al.  Dynamic path-based software watermarking , 2004, PLDI '04.

[9]  Nasir Memon,et al.  Secret and public key image watermarking schemes for image authentication and ownership verification , 2001, IEEE Trans. Image Process..

[10]  Bernd Girod,et al.  Watermarking of uncompressed and compressed video , 1998, Signal Process..

[11]  Wen-Shyong Hsieh,et al.  Image refining technique using digital watermarking , 2000, IEEE Trans. Consumer Electron..

[12]  Yan Song,et al.  Dynamic map based on PPCT structure software watermark protection , 2012, World Automation Congress 2012.

[13]  A. One,et al.  Smashing The Stack For Fun And Profit , 1996 .

[14]  Hongxia Wang,et al.  On the analysis of software watermarking , 2010, 2010 2nd International Conference on Software Technology and Engineering.

[15]  Christian S. Collberg,et al.  Software watermarking: models and dynamic embeddings , 1999, POPL '99.

[16]  Xinxin Niu,et al.  Dynamic Data Flow Graph-based software watermarking , 2009, 2009 IEEE International Conference on Network Infrastructure and Digital Content.

[17]  Cyrus Peikari,et al.  Security Warrior , 2004 .

[18]  Ramarathnam Venkatesan,et al.  A Graph Theoretic Approach to Software Watermarking , 2001, Information Hiding.

[19]  Wouter Joosen,et al.  Instruction-level countermeasures against stack-based buffer overflow attacks , 2009, VDTS '09.

[20]  Christian S. Collberg,et al.  A Taxonomy of Obfuscating Transformations , 1997 .

[21]  Jeffrey D. Ullman,et al.  Characterizations of Reducible Flow Graphs , 1974, JACM.

[22]  Michael Stepp,et al.  More on graph theoretic software watermarks: Implementation, analysis, and attacks , 2009, Inf. Softw. Technol..

[23]  Christian S. Collberg,et al.  Error-correcting graphs for software watermarking , 2003 .