TY - JOUR
T1 - Xmark
T2 - Dynamic Software Watermarking Using Collatz Conjecture
AU - Ma, Haoyu
AU - Jia, Chunfu
AU - Li, Shijia
AU - Zheng, Wantong
AU - Wu, Dinghao
N1 - Funding Information:
Manuscript received August 2, 2018; revised January 27, 2019 and March 24, 2019; accepted March 26, 2019. Date of publication March 29, 2019; date of current version June 27, 2019. This work was supported in part by the National Natural Science Foundation of China under Grant 61702399 and Grant 61772291 and in part by the Natural Science Foundation of Tianjin, China, under Grant 17JCZDJC30500. The associate editor coordinating the review of this manuscript and approving it for publication was Dr. Tomas Pevny. (Corresponding author: Chunfu Jia.) H. Ma is with Xidian University, Xi’an 710126, China (e-mail: hyma@xidian.edu.cn).
Publisher Copyright:
© 2005-2012 IEEE.
PY - 2019/11
Y1 - 2019/11
N2 - Dynamic software watermarking is one of the major countermeasures against software licensing violations. However, conventional dynamic watermarking approaches have exhibited a number of weaknesses including exploitable payload semantics, exploitable embedding/recognition procedures, and weak correlation between payload and subject software. This paper presents a novel dynamic watermarking method, Xmark, which leverages a well-known unsolved mathematical problem referred to as the Collatz conjecture. Our method works by transforming selected conditional constructs (which originally belonged to the software to be watermarked) with a control flow obfuscation technique based on Collatz conjecture. These obfuscation routines are built in a particular way such that they are able to express a watermark in the form of iteratively executed branching activities occurred during computing the aforementioned conjecture. Exploiting the one-to-one correspondence between natural numbers and their orbits computed by the conjecture (also known as the 'Hailstone sequences'), Xmark's watermark-related activities are designed to be insignificant without the pre-defined secret input. Meanwhile, being integrated with obfuscation techniques, our method is able to resist attacks based on various reverse engineering techniques on both syntax and semantic levels. Analyses and simulations indicated that Xmark could evade detections via pattern matching and model checking, and meanwhile effectively prohibit dynamic symbolic execution. We have also shown that our method could remain robust even if a watermarked software is compromised via re-obfuscation using approaches like control flow flattening.
AB - Dynamic software watermarking is one of the major countermeasures against software licensing violations. However, conventional dynamic watermarking approaches have exhibited a number of weaknesses including exploitable payload semantics, exploitable embedding/recognition procedures, and weak correlation between payload and subject software. This paper presents a novel dynamic watermarking method, Xmark, which leverages a well-known unsolved mathematical problem referred to as the Collatz conjecture. Our method works by transforming selected conditional constructs (which originally belonged to the software to be watermarked) with a control flow obfuscation technique based on Collatz conjecture. These obfuscation routines are built in a particular way such that they are able to express a watermark in the form of iteratively executed branching activities occurred during computing the aforementioned conjecture. Exploiting the one-to-one correspondence between natural numbers and their orbits computed by the conjecture (also known as the 'Hailstone sequences'), Xmark's watermark-related activities are designed to be insignificant without the pre-defined secret input. Meanwhile, being integrated with obfuscation techniques, our method is able to resist attacks based on various reverse engineering techniques on both syntax and semantic levels. Analyses and simulations indicated that Xmark could evade detections via pattern matching and model checking, and meanwhile effectively prohibit dynamic symbolic execution. We have also shown that our method could remain robust even if a watermarked software is compromised via re-obfuscation using approaches like control flow flattening.
UR - http://www.scopus.com/inward/record.url?scp=85068234792&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85068234792&partnerID=8YFLogxK
U2 - 10.1109/TIFS.2019.2908071
DO - 10.1109/TIFS.2019.2908071
M3 - Article
AN - SCOPUS:85068234792
SN - 1556-6013
VL - 14
SP - 2859
EP - 2874
JO - IEEE Transactions on Information Forensics and Security
JF - IEEE Transactions on Information Forensics and Security
IS - 11
M1 - 8676372
ER -