Application of multithreading for protection programs
https://doi.org/10.55648/1998-6920-2023-17-3-3-11
Abstract
A method for identifying a program copy by means of digital watermark is presented in this article. Previously known analogues for constructing a watermark used modification of program's control flow graph, and reading was made via complex analysis of the program's trace. It is known that applying a protector or packer can neutralize such a watermark. In this paper, it is proposed to use a multi-threaded application that generates numbers with a normal distribution law. The embedding of the digital watermark is carried out by changing the dispersion of distributions. Such random variable can be found via a signature in the process memory and is used both within the program itself and by a third-party when reading the watermark. An experimental selection of the optimal parameters of the algorithm has been carried out. Overhead expenses associated with the creation of a large number of threads are estimated.
About the Author
I. V. NechtaSiberian State University of Telecommunications and Information Science (SibSUTIS)
Russian Federation
Ivan V. Nechta - Dr. of Sci. (Engineering), Associate Professor; Chief of the Department of Applied Mathematics and Cybernetics.
630102, Novosibirsk, Kirov St. 86, phone: +7 383 269 82 72
References
1. Jung J. H., Kim J. Y., Lee H. C., Yi J. H. Repackaging attack on android banking applications and its countermeasures. Wireless Personal Communications, 2013, vol. 73, pp. 1421-1437.
2. Balakrishnan A., Schulze C. Code obfuscation literature survey. CS701 Construction of compilers, 2005, vol. 19, pp. 31.
3. Thomborson C., Nagra J., Somaraju R., He C. Tamper-proofing software watermarks. Proceedings of the second workshop on Australasian information security, Data Mining and Web Intelligence, and Software Internationalisation, 2004, vol. 32, pp. 27-36.
4. Collberg C., Thomborson C. Software watermarking: Models and dynamic embeddings. Proc. of the 26th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, 1999, pp. 311-324.
5. Hamilton J., Danicic S. A survey of static software watermarking. IEEE World Congress on Internet Security (WorldCIS-2011), 2011, pp. 100-107.
6. Wang Y., Gong D., Lu B., Xiang F., Liu F. Exception handling-based dynamic software watermarking. IEEE Access, 2018, vol. 6, pp. 8882-8889.
7. Lin E. T., Podilchuk C. I., Delp III E. J. Detection of image alterations using semifragile watermarks. Security and Watermarking of Multimedia Contents II. SPIE, 2000, vol. 3971, pp. 152-163.
8. Nechta I. V. Poluhrupkie cifrovye vodyanye znaki, baziruyushchiesya na spektre Fur'e [Semi-fragile digital watermarks based on Fourier spectrum]. Vestnik SibGUTI, 2019, no 4. pp. 33-41.
9. Nagra J., Thomborson C. Threading software watermarks. Information Hiding: 6th International Workshop, IH 2004, Toronto, Canada, 23-25 May, 2004, Revised Selected Papers 6. Springer Berlin Heidelberg, 2005, pp. 208-223.
10. Ma H., Jia C., Li S., Zheng W., Wu D. Xmark: dynamic software watermarking using Collatz conjecture. IEEE Transactions on Information Forensics and Security, 2019, vol. 14, no. 11, pp. 2859–2874.
11. Oficial'nyj sajt programmy UPX [Official website of the UPX program], available at: https://upx.github.io (accessed: 08.05.2023).
12. Nechta I. V. O metode schityvaniya cifrovogo vodyanogo znaka v ispolnyaemyh fajlah [On the method of reading a digital watermark in executable file]. Vestnik SibGUTI, 2020, no. 1. pp. 3-10.
Supplementary files
Review
For citations:
Nechta I.V. Application of multithreading for protection programs. The Herald of the Siberian State University of Telecommunications and Information Science. 2023;17(3):3-11. (In Russ.) https://doi.org/10.55648/1998-6920-2023-17-3-3-11