Abstract
This paper proposes a software watermarking scheme for Java programs that is based on method name encoding. The feature of Java reflection is utilized to obtain the method names in a Java program. Watermark bits are divided into pieces according to the number of the method names. Each piece of the watermark bits is encoded with a method name, which hence achieves the embedding of the watermark. Based on the approach, an experiment system is developed to embed and extract watermark information in a practical Java program. The experimental test and performance analysis show that the proposed method is feasible and has good performances of security and robustness.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Falcarin, P., Collberg, C., Atallah, M., Jakubowski, M.: Software protection. IEEE Softw. 3(4), 24–27 (2011)
Bao, F., Peng, J., Fang, Z.: Review of protection methods for java class files. Appl. Comput. Syst. 6, 124–126 (2007)
Hamilton, J., Danicic, S.: An evaluation of current java bytecode decompilers. In: Ninth IEEE International Workshop on Source Code Analysis and Manipulation, Edmonton, Canada, 20–21 September, pp. 129–136 (2009)
Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obfuscation - tools for software protection. IEEE Trans. Softw. Eng. 8, 735746 (2002)
Davidson, R., Myhrvold, N.: Method and System for Generating and Auditing a Signature for a Computer Program, US Patent 5559884, Microsoft Corporation (1996)
Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: IEEE/ACM International Conference on Computer Aided Design, San Jose, USA, 8–12 November, pp. 190–193 (1998)
Collberg, C., Carter, E., Debray, S.: Dynamic path-based software watermarking. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, pp. 107–118. ACM Press, New York (2004)
Stern, J., Hachez, G., Koeune, F., Quisquater, J.: Robust object watermarking: application to code. In: Proceedings of the Third International Workshop on Information Hiding. Lecture Notes in Computer Science, pp. 368–378. Springer (2000)
Collberg, C., Sahoo, T.R.: Software watermarking in the frequency domain: implementation, analysis, and attacks. J. Comput. Secur. 5, 721–755 (2005)
Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: Proceedings of the 4th International Information Hiding Workshop, pp. 157–168. ACM Press, New York (2001)
Collberg, C., Huntwork, A., Carter, E.: More on graph theoretic software watermarks: Implementation, analysis, and attacks. Inf. Softw. Technol. 1, 56–67 (2009)
Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. In: Proceedings of the 31st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 173–185. ACM press, New York (2004)
Monden, A., Iida, H., Matsumoto, K.: A practical method for watermarking java programs. In: The 24th International Computer Software and Applications Conference, Taipei, Taiwan, 25–27 October, pp. 191–197 (2000)
Chen, J., Wang, C., Shi, Q., Lv, G.: Implementation of bytecode-based software watermarking for java programs. In: The IASTED International Conference on Communication and Information Security, Marina Del Rey, USA, 4–6 December, pp. 542–547 (2010)
Li, K., Chen, J., Shi, Q., Li, G.: Design of contradiction structure for dummy method insertion in java software watermarking. Comput. Sci. 12, 211–214 (2013)
Kapi, A.Y., Ibrahim, S.: Fixed size encoding scheme for software watermarking. In: 2011 7th International Conference on Information Assurance and Security, Melaka, Malaysia, 5–8 December, pp. 35–39 (2011)
Pervez, Z., Qayyum, N., Mahmood, Y., Ahmad, H.F.: Semblance based disseminated software watermarking algorithm. In: The 23rd International Symposium on Computer and Information Sciences, Istanbul, Turkey, 27–29 October, pp. 1–4 (2008)
Chan, P., Hui, L., Yiu, S.M.: Heap graph based software theft detection. IEEE Trans. Inf. Forensics Secur. 1, 101–110 (2013)
Patel, S., Pattewar T.: Software birthmark based theft detection of JavaScript programs using agglomerative clustering and improved frequent subgraph mining. In: 2014 International Conference on Advances in Electronics Computers and Communications, Bangalore, India, 10–11 October, pp. 1–6 (2014)
Tian, Z., Zheng, Q., Liu, T., Fan, M., Zhuang, E., Zijiang Yang, Z.: Software plagiarism detection with birthmarks based on dynamic key instruction sequences. IEEE Trans. Softw. Eng. 41(12), 1217–1235 (2015)
Acknowledgments
This work is supported by the National Natural Science Foundation of China (grant No. 61602267) and the Nantong Municipal Application Research Funding of China (grant No. GY2015012).
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG
About this paper
Cite this paper
Chen, J., Li, K., Wen, W., Chen, W., Yan, C. (2018). Software Watermarking for Java Program Based on Method Name Encoding. In: Hassanien, A., Shaalan, K., Gaber, T., Tolba, M. (eds) Proceedings of the International Conference on Advanced Intelligent Systems and Informatics 2017. AISI 2017. Advances in Intelligent Systems and Computing, vol 639. Springer, Cham. https://doi.org/10.1007/978-3-319-64861-3_81
Download citation
DOI: https://doi.org/10.1007/978-3-319-64861-3_81
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-64860-6
Online ISBN: 978-3-319-64861-3
eBook Packages: EngineeringEngineering (R0)