Abstract
Digital watermarks have been regarded as a promising way to fight copyright violations in the software industry. In some graph-based watermarking schemes, identification data is disguised as control-flow graphs of dummy code. Recently, Chroni and Nikolopoulos proposed an ingenious such scheme whereby an integer is encoded into a particular kind of permutation graph. We give a formal characterization of the class of graphs generated by their encoding function, which we call canonical reducible permutation graphs. A linear-time recognition algorithm is also given, setting the basis for a polynomial-time algorithm to restore watermarks that underwent the malicious removal of some edges. Finally, we give a simpler decoding algorithm for Chroni and Nikolopoulos’ watermarks.
Similar content being viewed by others
References
Allen, F.E.: Control flow analysis. SIGPLAN Not. 5, 1–19 (1970)
Bento, L.M.S., Boccardo, D., Machado, R.C.S., Pereira de Sá, V.G., Szwarcfiter, J.L.: On the resilience of canonical reducible permutation graphs. Discrete Appl. Math. 234, 32–46 (2018)
Business Software Alliance.: Shadow Market: 2011 BSA Global Software Piracy Study. http://globalstudy.bsa.org (2012)
Chroni, M., Nikolopoulos, S.D.: Efficient encoding of watermark numbers as reducible permutation graphs, arXiv:1110.1194v1 [cs.DS] (2011)
Chroni, M., Nikolopoulos, S.D.: Encoding watermark numbers as cographs using self-inverting permutations. In: Proceeding of 12th International Conference on Computer Systems and Technologies, CompSysTech’11, ACM ICPS, vol. 578, pp. 142–148 (2011) (Best Paper Award)
Chroni, M., Nikolopoulos, S.D.: An efficient graph codec system for software watermarking. In: IEEE Proceedings of 36th IEEE Conference on Computers, Software and Applications, COMPSAC’12, pp. 595–600 (2012)
Chroni, M., Nikolopoulos, S.D.: Multiple encoding of a watermark number into reducible permutation graphs using cotrees. In: ACM ICPS Proceedings of 13th International Conference on Computer Systems and Technologies, CompSysTech’12, pp. 118–125 (2012)
Chroni, M., Nikolopoulos, S.D.: An embedding graph-based model for software watermarking. In: IEEE Proceedings 8th International Conference on Intelligent Information Hiding and Multimedia Signal Processing, IIH-MSP’12, pp. 261–264 (2012)
Collberg, C., Thomborson, C.: Software watermarking: models and dynamic embeddings. In: Proceedings 26th ACM SIGPLAN-SIGACT on Principles of Programming Languages, POPL’99, pp. 311–324 (1999)
Collberg, C., Kobourov, S., Carter, E., Thomborson, C.: Error-correcting graphs for software watermarking. In: Proceedings 29th Workshop on Graph-Theoretic Concepts in Computer Science, WG’03, vol. 2880, pp. 156–167. LNCS (2003)
Collberg, C., Thomborson, C., Townsend, G.: Dynamic graph-based software fingerprinting. ACM Trans. Program. Lang. Syst. 29, 1–67 (2007)
Collberg, C., Huntwork, A., Carter, E., Townsend, G., Stepp, M.: More on graph theoretic software watermarks: implementation, analysis and attacks. Inf. Softw. Technol. 51, 56–67 (2009)
Collberg, C.: SandMark: A Tool for the Study of Software Protection Algorithms. http://sandmark.cs.arizona.edu/index.html (2013) Accessed 25 Nov 2013
Davidson, R.L., Myhrvold, N.: Method and system for generating and auditing a signature for a computer program, US Patent 5.559.884, Microsoft Corporation (1996)
Hamilton, J., Danicic, S.: A survey of static software watermarking. In: Proceedings World Congress on Internet Security, WorldCIS’11, pp. 100–107 (2011)
Hecht, M.S., Ullman, J.D.: Flow graph reducibility. SIAM J. Comput. 1, 188–202 (1972)
Hecht, M.S., Ullman, J.D.: Characterizations of reducible flow graphs. J. ACM 21, 367–375 (1974)
Nielson, F., Nielson, H.R., Hankin, C.: Principles of Program Analysis. Springer, Berlin (2004)
Raghavan, V., Spinrad, J.: Robust Algorithms for Restricted Domains. In: Proceedings of 12th Annual ACM-SIAM Symposium on Discrete Algorithms, SODA’01, pp. 460–467 (2001)
Schaefer, I., Rabiser, R., Clarke, D., Bettini, L., Benavides, D., Botterweck, G., Pathak, A., Trujillo, S., Villela, K.: Software diversity: state of the art and perspectives. Int. J. Softw. Tools Technol. Transf. 14, 477–495 (2012)
Su, Y., Liu, J., Li, D.: Hiding Signatures in Variable Names. Communications in Computer and Information Science, pp. 333–340. Springer, Berlin (2013)
Tarjan, R.E.: Testing flow graph reducibiliy. J. Comput. Syst. Sci. 9, 355–365 (1974)
Venkatesan, R., Vazirani, V., Sinha, S.: A graph theoretic approach to software watermarking. In: Proceedings 4th International Information Hiding Workshop, pp. 157–168 (2001)
Venkatesan, R., Vazirani, V.: Technique for producing through watermarking highly tamper-resistant executable code and resulting watermarked code so formed, Microsoft Corporation, US Patent: 7051208 (2006)
Wichmann, B.A., Canning, A.A., Clutterbuck, D.L., Winsborrow, L.A., Ward, N.J., Marsh, D.W.R.: Industrial perspective on static analysis. Softw. Eng. J. 10, 69–75 (1995)
Zhu, J., Liu, Y., Yin, K.: A novel dynamic graph software watermark scheme. In: Proceedings of 1st International Workshop on Education Technology and Computer Science, vol. 3, pp. 775–780 (2009)
Zhu, W., Thomborson, C., Wang, F-Y.: A survey of software watermarking. In: Proceedings IEEE International Conference on Intelligence and Security Informatics, ISI’05, pp. 454–458 (2005)
Acknowledgements
Funding was provided by Conselho Nacional de Desenvolvimento Cientìfico e Tecnológico (Grant Nos. 400609/2015-0, 487061/2013-6, 309234/2015-8, 421007/2016-8), Pronametro (Grant No. 52600.017257/2013), Fundação Carlos Chagas Filho de Amparo à Pesquisa do Estado do Rio de Janeiro (BR) (Grant Nos. JCNE-203889, TECNOVA-143360) and Financiadora de Estudos e Projetos (Grant No. TI-MAIOR-SBV936).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Part of this paper was presented as an extended abstract entitled “Towards a provably resilient scheme for graph-based watermarking” at the 39th International Workshop on Graph Theoretic Concepts in Computer Science, WG 2013, and appeared in Lecture Notes in Computer Science8165 (2013), 50–63.
Rights and permissions
About this article
Cite this article
Bento, L.M.S., Boccardo, D.R., Machado, R.C.S. et al. Full Characterization of a Class of Graphs Tailored for Software Watermarking. Algorithmica 81, 2899–2916 (2019). https://doi.org/10.1007/s00453-019-00557-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00453-019-00557-w