{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,11,11]],"date-time":"2025-11-11T13:52:11Z","timestamp":1762869131300,"version":"3.37.3"},"reference-count":39,"publisher":"Springer Science and Business Media LLC","issue":"1","license":[{"start":{"date-parts":[[2023,7,20]],"date-time":"2023-07-20T00:00:00Z","timestamp":1689811200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"},{"start":{"date-parts":[[2023,7,20]],"date-time":"2023-07-20T00:00:00Z","timestamp":1689811200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100007069","name":"Universit\u00e0 della Calabria","doi-asserted-by":"crossref","id":[{"id":"10.13039\/501100007069","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":["J Comput Virol Hack Tech"],"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Software watermarking is a protection technique which aims at combating software piracy, thus defending intellectual property, by embedding stegosignatures or watermarks into a program. In the presence of an illegal copy of the program, the owner can reliably claim her rights by extracting the watermark from the program itself. In this paper, we introduce a new software watermarking technique which can be used even with compiled programs. The proposed technique is dynamic: the watermark can be recovered during the execution of the program and it is related to a specific path of execution that is triggered by a given input. We illustrate the technique by means of a watermarking protocol for C\/C++\/C# source code which tackles many different challenges in the task of encoding the watermark, embedding it into a source code and extracting it from a compiled program. We show the validity of our approach by proving its robustness against common attacks.<\/jats:p>","DOI":"10.1007\/s11416-023-00489-8","type":"journal-article","created":{"date-parts":[[2023,7,20]],"date-time":"2023-07-20T12:01:55Z","timestamp":1689854515000},"page":"41-51","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":4,"title":["Exploiting number theory for dynamic software watermarking"],"prefix":"10.1007","volume":"20","author":[{"given":"Mila","family":"Dalla Preda","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0003-0562-7462","authenticated-orcid":false,"given":"Michele","family":"Ianni","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,7,20]]},"reference":[{"key":"489_CR1","unstructured":"Alliance, B.S.: Software Management: Security Imperative, Business Opportunity. BSA Global Software Survey (2018)"},{"key":"489_CR2","unstructured":"Economics, F.: The economic impacts of counterfeiting and piracy. Report prepared for BASCAP and INTA. Recuperado de: https:\/\/www.inta.org\/communications\/documents\/2017_frontier_report.pdf (2017)"},{"key":"489_CR3","doi-asserted-by":"crossref","unstructured":"Collberg, C., Thomborson, C., Low, D.: Manufacturing cheap, resilient, and stealthy opaque constructs. In: Proceedings of the 25th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL\u00a0\u201998), pp. 184\u2013196. ACM Press (1998)","DOI":"10.1145\/268946.268962"},{"key":"489_CR4","unstructured":"Collberg, C., Nagra, J.: Surreptitious Software. Addison Wesley (2010)"},{"key":"489_CR5","unstructured":"Davidson, R.L., Myhrvold, N.: Method and System for Generating and Auditing a Signature for a Computer Program. US Patent number 5,559,884 (1996)"},{"key":"489_CR6","unstructured":"Moskowitz, S.A., Cooperman, M.: Method for stega-cipher protection of computer code. US Patent 5,745,569, Assignee: The Dice Company (1996)"},{"key":"489_CR7","doi-asserted-by":"publisher","unstructured":"Collberg, C., Thomborson, C.D.: Software watermarking: models and dynamic embeddings. In: POPL\u201999: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 311\u2013324. ACM (1999). https:\/\/doi.org\/10.1145\/292540.292569","DOI":"10.1145\/292540.292569"},{"key":"489_CR8","doi-asserted-by":"publisher","first-page":"735","DOI":"10.1109\/TSE.2002.1027797","volume":"66","author":"C Collberg","year":"2002","unstructured":"Collberg, C., Thomborson, C.: Watermarking, tamper-proofing, and obduscation-tools for software protection. IEEE Trans. Softw. Eng. 66, 735\u2013746 (2002)","journal-title":"IEEE Trans. Softw. Eng."},{"key":"489_CR9","doi-asserted-by":"crossref","unstructured":"Collberg, C., Thomborson, C.: Software watermarking: models and dynamic embeddings. In: Proceedings of the 26th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 311\u2013324 (1999)","DOI":"10.1145\/292540.292569"},{"issue":"6","key":"489_CR10","doi-asserted-by":"publisher","first-page":"107","DOI":"10.1145\/996893.996856","volume":"39","author":"C Collberg","year":"2004","unstructured":"Collberg, C., Carter, E., Debray, S., Huntwork, A., Kececioglu, J., Linn, C., Stepp, M.: Dynamic path-based software watermarking. SIGPLAN Not. 39(6), 107\u2013118 (2004). https:\/\/doi.org\/10.1145\/996893.996856","journal-title":"SIGPLAN Not."},{"key":"489_CR11","doi-asserted-by":"crossref","unstructured":"Cousot, P., Cousot, R.: An abstract interpretation-based framework for software watermarking. In: Conference Record of the Thirtyfirst Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 173\u2013185. ACM Press, New York, NY (2004)","DOI":"10.1145\/982962.964016"},{"issue":"1","key":"489_CR12","doi-asserted-by":"publisher","first-page":"177","DOI":"10.1145\/563857.563822","volume":"24","author":"J Nagra","year":"2002","unstructured":"Nagra, J., Thomborson, C.D., Collberg, C.: A functional taxonomy for software watermarking. Aust. Comput. Sci. Commun. 24(1), 177\u2013186 (2002). https:\/\/doi.org\/10.1145\/563857.563822","journal-title":"Aust. Comput. Sci. Commun."},{"key":"489_CR13","unstructured":"Razeen, M., Ali, A., Sheikh, N.: State-of-the-art in software watermarking. In: Second International Workshop on Frontiers of Information Technology (2004)"},{"key":"489_CR14","doi-asserted-by":"crossref","unstructured":"Zhang, X., He, F., Zuo, W.: Hash function based software watermarking. In: 2008 Advanced Software Engineering and Its Applications, pp. 95\u201398 (2008). IEEE","DOI":"10.1109\/ASEA.2008.57"},{"key":"489_CR15","doi-asserted-by":"crossref","unstructured":"Jiang, H., He, H., Wang, X.: Software watermark algorithm based on Chinese remainder theorem. In: IEEE Conference Anthology, pp. 1\u20134 (2013). IEEE","DOI":"10.1109\/ANTHOLOGY.2013.6784841"},{"issue":"6","key":"489_CR16","doi-asserted-by":"publisher","first-page":"190","DOI":"10.1145\/1064978.1065034","volume":"40","author":"C-K Luk","year":"2005","unstructured":"Luk, C.-K., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: building customized program analysis tools with dynamic instrumentation. ACM Sigplan Not. 40(6), 190\u2013200 (2005)","journal-title":"ACM Sigplan Not."},{"key":"489_CR17","doi-asserted-by":"crossref","unstructured":"Craver, S., Memon, N., Yeo, B.-L., Yeung, M.M.: On the invertibility of invisible watermarking techniques. In: Proceedings of International Conference on Image Processing, vol. 1, pp. 540\u2013543. IEEE (1997)","DOI":"10.1109\/ICIP.1997.647969"},{"key":"489_CR18","doi-asserted-by":"crossref","unstructured":"Craver, S.A., Katzenbeisser, S.: Security analysis of public key watermarking schemes. In: Mathematics of Data\/Image Coding, Compression, and Encryption IV, with Applications, vol. 4475, pp. 172\u2013182. International Society for Optics and Photonics (2001)","DOI":"10.1117\/12.449579"},{"key":"489_CR19","doi-asserted-by":"crossref","unstructured":"Collberg, C., Huntwork, A., Carter, E., Townsend, G.: Graph theoretic software watermarks: implementation, analysis, and attacks. In: Information Hiding: 6th International Workshop, IH 2004, Toronto, Canada, May 23\u201325, 2004, Revised Selected Papers 6, pp. 192\u2013207. Springer (2005)","DOI":"10.1007\/978-3-540-30114-1_14"},{"issue":"1","key":"489_CR20","first-page":"224","volume":"87","author":"K Hattanda","year":"2004","unstructured":"Hattanda, K., Ichikawa, S.: The evaluation of Davidson\u2019s digital signature scheme. IEICE Trans. Fundam. Electron. Commun. Comput. Sci. 87(1), 224\u2013225 (2004)","journal-title":"IEICE Trans. Fundam. Electron. Commun. Comput. Sci."},{"key":"489_CR21","doi-asserted-by":"crossref","unstructured":"Qu, G., Potkonjak, M.: Hiding signatures in graph coloring solutions. In: Information Hiding: Third International Workshop (IH\u201999), Dresden, Germany, September 29\u2013October 1, 1999 Proceedings 3, pp. 348\u2013367. Springer (2000)","DOI":"10.1007\/10719724_24"},{"key":"489_CR22","doi-asserted-by":"crossref","unstructured":"Jiang, Z., Zhong, R., Zheng, B.: A software watermarking method based on public-key cryptography and graph coloring. In: 2009 Third International Conference on Genetic and Evolutionary Computing, pp. 433\u2013437. IEEE (2009)","DOI":"10.1109\/WGEC.2009.76"},{"key":"489_CR23","doi-asserted-by":"crossref","unstructured":"Qu, G., Potkonjak, M.: Analysis of watermarking techniques for graph coloring problem. In: Proceedings of the 1998 IEEE\/ACM International Conference on Computer-Aided Design, pp. 190\u2013193 (1998)","DOI":"10.1145\/288548.288607"},{"key":"489_CR24","unstructured":"Davidson, R.I., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program. Google Patents. US Patent 5,559,884 (1996)"},{"key":"489_CR25","doi-asserted-by":"crossref","unstructured":"Shirali-Shahreza, M., Shirali-Shahreza, S.: Software watermarking by equation reordering. In: 2008 3rd International Conference on Information and Communication Technologies: From Theory to Applications, pp. 1\u20134. IEEE (2008)","DOI":"10.1109\/ICTTA.2008.4530357"},{"key":"489_CR26","doi-asserted-by":"crossref","unstructured":"Sharma, B., Agarwal, R., Singh, R.: An efficient software watermark by equation reordering and fdos. In: Proceedings of the International Conference on Soft Computing for Problem Solving (SocProS 2011) December 20\u201322, 2011: Volume 2, pp. 735\u2013745. Springer (2012)","DOI":"10.1007\/978-81-322-0491-6_67"},{"key":"489_CR27","doi-asserted-by":"crossref","unstructured":"Kang, H., Kwon, Y., Lee, S., Koo, H.: Softmark: software watermarking via a binary function relocation. In: Annual Computer Security Applications Conference, pp. 169\u2013181 (2021)","DOI":"10.1145\/3485832.3488027"},{"issue":"11","key":"489_CR28","doi-asserted-by":"publisher","first-page":"2859","DOI":"10.1109\/TIFS.2019.2908071","volume":"14","author":"H Ma","year":"2019","unstructured":"Ma, H., Jia, C., Li, S., Zheng, W., Wu, D.: Xmark: dynamic software watermarking using Collatz conjecture. IEEE Trans. Inf. Forensics Secur. 14(11), 2859\u20132874 (2019)","journal-title":"IEEE Trans. Inf. Forensics Secur."},{"key":"489_CR29","doi-asserted-by":"crossref","unstructured":"Aiswarya, K., Praveen, K., Amritha, P., Sethumadhavan, M.: Application of secret sharing scheme in software watermarking. In: Information and Communication Technology for Intelligent Systems: Proceedings of ICTIS 2020, Volume 1, pp. 345\u2013353. Springer (2021)","DOI":"10.1007\/978-981-15-7078-0_32"},{"key":"489_CR30","unstructured":"Arboit, G.: A method for watermarking java programs via opaque predicates. In: The Fifth International Conference on Electronic Commerce Research (ICECR-5), pp. 102\u2013110. Citeseer (2002)"},{"issue":"2","key":"489_CR31","doi-asserted-by":"publisher","first-page":"155","DOI":"10.1007\/s10660-006-6955-z","volume":"6","author":"G Myles","year":"2006","unstructured":"Myles, G., Collberg, C.: Software watermarking via opaque predicates: implementation, analysis, and attacks. Electron. Commer. Res. 6(2), 155\u2013171 (2006)","journal-title":"Electron. Commer. Res."},{"key":"489_CR32","doi-asserted-by":"publisher","first-page":"439","DOI":"10.1016\/j.ins.2023.01.126","volume":"628","author":"T Huang","year":"2023","unstructured":"Huang, T., Huang, J., Pang, Y., Yan, H.: Smart contract watermarking based on code obfuscation. Inf. Sci. 628, 439\u2013448 (2023)","journal-title":"Inf. Sci."},{"key":"489_CR33","doi-asserted-by":"crossref","unstructured":"Dalla\u00a0Preda, M., Madou, M., De\u00a0Bosschere, K., Giacobazzi, R.: Opaque predicates detection by abstract interpretation. In: Algebraic Methodology and Software Technology: 11th International Conference, AMAST 2006, Kuressaare, Estonia, July 5\u20138, 2006. Proceedings 11, pp. 81\u201395. Springer (2006)","DOI":"10.1007\/11784180_9"},{"key":"489_CR34","doi-asserted-by":"crossref","unstructured":"Ming, J., Xu, D., Wang, L., Wu, D.: Loop: Logic-oriented opaque predicate detection in obfuscated binary code. In: Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security, pp. 757\u2013768 (2015)","DOI":"10.1145\/2810103.2813617"},{"issue":"2","key":"489_CR35","doi-asserted-by":"publisher","first-page":"339","DOI":"10.1017\/S0960129518000038","volume":"29","author":"M Dalla Preda","year":"2019","unstructured":"Dalla Preda, M., Pasqua, M.: Semantics-based software watermarking by abstract interpretation. Math. Struct. Comput. Sci. 29(2), 339\u2013388 (2019)","journal-title":"Math. Struct. Comput. Sci."},{"key":"489_CR36","doi-asserted-by":"crossref","unstructured":"Giacobazzi, R.: Hiding information in completeness holes: new perspectives in code obfuscation and watermarking. In: 2008 Sixth IEEE International Conference on Software Engineering and Formal Methods, pp. 7\u201318. IEEE (2008)","DOI":"10.1109\/SEFM.2008.41"},{"key":"489_CR37","doi-asserted-by":"crossref","unstructured":"Mahoney, W., Franco, J., Hoff, G., McDonald, J.T.: Leave it to weaver. In: Proceedings of the 8th Software Security, Protection, and Reverse Engineering Workshop, pp. 1\u20139 (2018)","DOI":"10.1145\/3289239.3291459"},{"key":"489_CR38","doi-asserted-by":"crossref","unstructured":"Mullins, J.A., McDonald, J.T., Mahoney, W.R., Andel, T.R.: Evaluating security of executable steganography for digital software watermarking. In: SoutheastCon 2022, pp. 666\u2013673. IEEE (2022)","DOI":"10.1109\/SoutheastCon48659.2022.9763988"},{"key":"489_CR39","doi-asserted-by":"crossref","unstructured":"Lu, K., Xiong, S., Gao, D.: Ropsteg: program steganography with return oriented programming. In: Proceedings of the 4th ACM Conference on Data and Application Security and Privacy, pp. 265\u2013272 (2014)","DOI":"10.1145\/2557547.2557572"}],"container-title":["Journal of Computer Virology and Hacking Techniques"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11416-023-00489-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/article\/10.1007\/s11416-023-00489-8\/fulltext.html","content-type":"text\/html","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/s11416-023-00489-8.pdf","content-type":"application\/pdf","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,24]],"date-time":"2024-10-24T18:32:54Z","timestamp":1729794774000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/s11416-023-00489-8"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,7,20]]},"references-count":39,"journal-issue":{"issue":"1","published-online":{"date-parts":[[2024,3]]}},"alternative-id":["489"],"URL":"https:\/\/doi.org\/10.1007\/s11416-023-00489-8","relation":{},"ISSN":["2263-8733"],"issn-type":[{"type":"electronic","value":"2263-8733"}],"subject":[],"published":{"date-parts":[[2023,7,20]]},"assertion":[{"value":"21 October 2022","order":1,"name":"received","label":"Received","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 June 2023","order":2,"name":"accepted","label":"Accepted","group":{"name":"ArticleHistory","label":"Article History"}},{"value":"20 July 2023","order":3,"name":"first_online","label":"First Online","group":{"name":"ArticleHistory","label":"Article History"}},{"order":1,"name":"Ethics","group":{"name":"EthicsHeading","label":"Declarations"}},{"value":"All authors certify that they have no affiliations with or involvement in any organization or entity with any financial interest or non-financial interest in the subject matter or materials discussed in this manuscript.","order":2,"name":"Ethics","group":{"name":"EthicsHeading","label":"Conflict of interest"}},{"value":"- This material is the authors\u2019 own original work, which has not been previously published elsewhere in any form or language (partially or in full) and it is not an expansion of previous work. - The paper is not split up into several parts to increase the quantity of submissions. - The paper is not currently being considered for publication elsewhere, in any form or language. - The paper reflects the authors\u2019 own research and analysis in a truthful and complete manner. The results are honest and without fabrication, falsification or inappropriate data manipulation. - The paper properly credits the meaningful contributions of co-authors and co-researchers. - The results are appropriately placed in the context of prior and existing research. - All sources used are properly disclosed.","order":3,"name":"Ethics","group":{"name":"EthicsHeading","label":"Ethics approval"}},{"value":"The code that support the findings of this study is available from the corresponding author, upon reasonable request.","order":4,"name":"Ethics","group":{"name":"EthicsHeading","label":"Code availability"}}]}}