A Chaos-Based Robust Software Watermarking
In this paper we propose a robust software watermarking based on chaos against several limitations of existing software watermarking. The algorithm combines the anti-reverse engineering technique, chaotic system and the idea of Easter Egg software watermarks. The global protection for the program is provided by dispersing watermark over the whole code of the program with chaotic dispersion coding; the resistance against reverse engineering is improved by using the anti-reverse engineering technique. In the paper, we implement the scheme in the Intel i386 architecture and the Windows operating system, and analyze the robustness and the performance degradation of watermarked program. Analysis indicates that the algorithm resists various types of semantics-preserving transformation attacks and is good tolerance for reverse engineering attacks.
KeywordsChaotic System Reverse Engineering Chaotic Sequence Software Piracy Executable Code
Unable to display preview. Download preview PDF.
- 1.Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Trans. Software Engineering 28(8), 735–746Google Scholar
- 2.Lihe, Z., YiXian, Y., Xinxin, N., Shaozhang, N.: A Survey on Software Watermarking. Journal of Software 14(2), 268–277 (in Chinese)Google Scholar
- 3.Business Software Alliance. Eighth annual BSA global software piracy study: Trends in software piracy 1994-2002 (June 2003)Google Scholar
- 4.Kan, X.: Encryption and Decryption. In: Software Protection Technique and Complete Resolvent. Electronic Engineering Publishing Company, Beijing (2001) (in Chinese)Google Scholar
- 6.Davidson, R.L., Myhrvold, N.: Davidson and Nathan Myhrvold. Method and system for generating and auditing a signature for a computer program. US Patent 5,559,884. Microsoft Corporation, Assignee (September 1996)Google Scholar
- 7.Stern, J.P., Hachez, G., Koeune, F., Quisquater, J.-J.: Robust object watermarking: Application to code. In: 3rd International Information Hiding Workshop, pp. 368–378 (1999)Google Scholar
- 8.Collberg, C., Thomborson, C.: Software watermarking: Models and dynamic embeddings. In: Proceedings of POPL 1999 of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 311–324 (1999)Google Scholar
- 9.Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. In: ACM Principles of Programming Languages(POPL 2004), Venice, Italy, pp. 173–185 (2004)Google Scholar
- 10.Collberg, C., Huntwork, A., Carter, E., Townsend, G.: Graph theoretic software watermarks: Implementation, analysis, and attacks. In: 6th Workshop on Information Hiding, pp. 192–207 (2004)Google Scholar
- 11.Bin, L., Yongqiang, Z., Fenlin, L.: A New Scheme on Perturbing Digital Chaotic Systems. Computer Science 32(4), 71–74 (2005) (in Chinese)Google Scholar