ABSTRACT
Over the last 25 years, a wide range of software watermarking techniques has been proposed encoding watermark numbers as graphs whose structure resembles that of real program graphs. In this domain, we have recently proposed several watermarking codec systems for encoding integer numbers w as reducible permutation flow-graphs F[π*] through the use of self-inverting permutations π*. Following up on our codec systems, we experimentally study the oldest one in order to investigate and attest its resilience to edge-modification attacks on its flow-graph F[π*]. In particular, we construct the flow-graphs F[πi*] which encode the watermarks wi in the range R4 = [8,15], we attack the graph F[πi*] by modifying k edges, perform a series of experiments for each attack case, and determine the percentage of the cases maintaining four properties, namely, Odd-One, Bitonic, Block and Range. Whenever a flow-graph F[πi*] is attacked having k edges modified, if all the four properties are satisfied during the decoding process then the decoding algorithm returns a true-incorrect watermark wj, that is, wj ≠ wi. The experimental study reveals those watermarks wi ∈ R4 which are more resilient in the sense that the decoding algorithm has low probability to return a true-incorrect watermark wj after an edge-modification attack to graph F[πi*] encoding a watermark wi.
- M. Chroni and S. D. Nikolopoulos. Encoding watermark integers as self-inverting permutations. In Proc. Int'l Conference on Computer Systems and Technologies (CompSysTech'10), pages 125--130. ACM ICPS 471, 2010. Google ScholarDigital Library
- M. Chroni and S. D. Nikolopoulos. An efficient graph codec system for software watermarking. In Proc. Int'l Conference on Computers, Software, and Applications (COMPSAC'12); Workshop STPSA'12, pages 595--600. IEEE Proceedings, 2012. Google ScholarDigital Library
- C. Collberg, A. Huntwork, E. Carter, G. Townsend, and M. Stepp. More on graph theoretic software watermarks: Implementation, analysis, and attacks. In Information and Software Technology 51, pages 56--67, 2009. Google ScholarDigital Library
- C. Collberg, S. Kobourov, E. Carter, and C. Thomborson. Error-correcting graphs for software watermarking. In Proc. of the 29th Workshop on Graph-Theoretic Concepts in Computer Science (WGŠ03), pages 156--167. LNCS 2880, 2003.Google ScholarCross Ref
- C. Collberg and J. Nagra. Surreptitious Software. Addison-Wesley, 2010.Google Scholar
- C. Collberg and C. Thomborson. Software watermarking: models and dynamic embeddings. In Proc. 26th ACM SIGPLAN-SIGACT on Principles of Programming Languages (POPL'99), pages 311--324, 1999. Google ScholarDigital Library
- C. Collberg, C. Thomborson, and D. Low. On the limits of software watermarking. In Department of Computer Science, The University of Auckland. Technical Report No 164, 1998.Google Scholar
- R. L. Davidson and N. Myhrvold. Method and system for generating and auditinga signature for a computer program. In US Patent 5.559.884. Microsoft Corporation, 1996.Google Scholar
- D. Eppstein, M. T. Goodrich, J. Lam, N. Mamano, M. Mitzenmacher, and M. Torres. Models and algorithms for graph watermarking. arXiv preprint arXiv:1605.09425, 2016.Google Scholar
- R. Ghiya and L. J. Hendren. Is it a tree, a dag, or a cyclic graph? a shape analysis for heapdirected pointers in c. In Proc. 23rd ACM SIGPLAN-SIGACT symposium on Principles of Programming Languages (POPL'96), pages 1--15. LNCS 1174, 1996. Google ScholarDigital Library
- D. Grover. The protection of Computer Software-Its Technology and Applications. Cambridge University Press, New York, 1997. Google ScholarDigital Library
- M. Hecht and J. Ullman. Flow graph reducibility. SIAM J. Computing, 1:188--202, 1972.Google ScholarDigital Library
- M. Hecht and J. Ullman. Characterizations of reducible flow graphs. Journal of the ACM, 21:367--375, 1974. Google ScholarDigital Library
- S. A. Moskowitz and M. Cooperman. Method for stegacipher protection of computer code. US Patent 5.745.569, 1996.Google Scholar
- A. Mpanti and S. D. Nikolopoulos. Graph-structured watermarking using bitonic sequences of self-inverting permutations. In Proc. 20th Panhellenic Conference on Informatics. ACM, 2016. Google ScholarDigital Library
- G. Myles and C. Collberg. Software watermarking via opaque predicates: Implementation, analysis and attacts. Electronic Commerce Research, 6:155--171, 2006. Google ScholarDigital Library
- P. Samson. Apparatus and method for serializing and validating copies of computer software. US Patent 5.287.408, 1994.Google Scholar
- R. Sedgewick and P. Flajolet. An Introduction to the Analysis of Algorithms. Addison-Wesley, 1996. Google ScholarDigital Library
- H. Tamada, M. Nakamura, A. Monden, and K. Matsumoto. Design and evaluation of birthmarks for detecting theft of java programs. In Proc. Int'l Conference on Software Engineering (IASTED SEŠ04), pages 569--575, 2004.Google Scholar
- R. Venkatesan, V. Vazirani, and S. Sinha. A graph theoretic approach to software watermarking. In Proc. of the 4th Int'l Workshop on Information Hiding (IHŠ01), pages 157--168. LNCS 2137, 2001. Google ScholarDigital Library
- L. Zhang, Y. Yang, X. Niu, and S. Niu. A survey on software watermarking. Journal of Software, 14:268--277, 2003.Google Scholar
- W. Zhu, C. Thomborson, and F. Y. Wang. A survey of software watermarking. In Proc. IEEE Int'l Conference on Intelligence and Security Informatics (ISI'05), pages 454--458. LNCS 3495, 2005. Google ScholarDigital Library
Index Terms
- Experimental Study of the Resilience of a Graph-based Watermarking System under Edge Modifications
Recommendations
Multiple encoding of a watermark number into reducible permutation graphs using cotrees
CompSysTech '12: Proceedings of the 13th International Conference on Computer Systems and TechnologiesSoftware watermarking involves embedding a unique identifier, i.e., a watermark value, within a software to discourage software theft; to this end, several graph theoretic watermark methods encode the watermark values as graph structures and embed them ...
Graph-structured Watermarking using Bitonic Sequences of Self-inverting Permutations
PCI '16: Proceedings of the 20th Pan-Hellenic Conference on InformaticsSoftware watermarking has received considerable attention and was adopted by the software development community as a technique to prevent or discourage software piracy and copyright infringement. A wide range of software watermarking techniques has been ...
Encoding numbers into reducible permutation graphs using heap-ordered trees
PCI '15: Proceedings of the 19th Panhellenic Conference on InformaticsInformation hiding is widely used in almost all intelligence and security software systems as a standard technology to prevent piracy and copyright infringement. This technology mainly involves the idea of digital watermarking where a unique identifier (...
Comments