计算机科学 ›› 2019, Vol. 46 ›› Issue (7): 120-125.doi: 10.11896/j.issn.1002-137X.2019.07.019

• 信息安全 • 上一篇    下一篇

基于Petri网编码的动态图水印技术研究

苏庆,林昊,黄剑锋,何凡,林志毅   

  1. (广东工业大学计算机学院 广州510006)
  • 收稿日期:2018-06-26 出版日期:2019-07-15 发布日期:2019-07-15
  • 作者简介:苏 庆(1979-),男,博士生,副教授,CCF会员,主要研究方向为软件安全与保护;林 昊(1993-),男,硕士生,主要研究方向为软件安全与保护;黄剑锋(1979-),男,硕士,讲师,主要研究方向为软件安全与保护、代码相似度检测,E-mail:huangjianfeng@gdut.edu.cn(通信作者);何 凡(1992-),男,硕士生,主要研究方向为软件安全与保护;林志毅(1979-),男,博士,讲师,主要研究方向为软件安全与保护、智能计算。
  • 基金资助:
    国家自然科学基金(61572142),广东省自然科学基金(2017A030310013,2018A030313389),广州市科技计划(201604016041)资助

Study on Dynamic-graph Watermarking Based on Petri Net Coding

SU Qing,LIN Hao,HUANG Jian-feng,HE Fan,LIN Zhi-yi   

  1. (School of Computers,Guangdong University of Technology,Guangzhou 510006,China)
  • Received:2018-06-26 Online:2019-07-15 Published:2019-07-15

摘要: 针对动态水印数据嵌入率低的问题,提出一种基于Petri网编码的动态图水印算法。首先,将水印信息进行数列转换,然后将其编码至Petri网的运行状态序列中,最后将生成该Petri网结构的代码嵌入至受保护软件的源代码中。利用Petri网中变迁的发生会产生不同标识的特点,应用同一个Petri网结构表达多个数值,使得该水印编码方案在具有较高的数据嵌入率的同时还具有一定的检错能力,能够成功抵抗包括添加结点、删除部分变迁、删除部分库所和删除部分弧等多种典型的攻击。最后通过实验验证了相关算法的可行性和有效性,并进行了扭曲攻击测试,结果表明基于Petri网编码的动态图软件水印技术具有很强的抗扭曲攻击能力以及鲁棒性。

关键词: Petri网编码, 动态图水印, 软件保护, 软件水印, 数据嵌入率

Abstract: Aiming at the problem of low data embedding rate of dynamic watermarking,this paper proposed a dynamic-graph watermarking algorithm based on Petri net coding.First,the watermark information is converted into a sequence,and then it is encoded into a running state sequence of Petri net.Finally,the code that generates the Petri net structure is embedded into the source code of the protected software.Since the Petri net transitions will produce different marks,the multiple values are expressed in the same Petri network structure,which means that the watermarking scheme has high data embedding rate and error detection ability,and can successfully resist multiple and typical attacks such as the insertion of nodes,the deletion of transitions,the deletion of places and the deletion of arcs.Finally,the feasibility and effectiveness of the algorithm were verified in the experiment,and the distortion attack test was carried out.The result shows that the dynamic map software watermark based on Petri net coding is robust,and it has a strong ability to resist distortion.

Key words: Data embedding rate, Dynamic-graph watermarking, Petri net coding, Software protection, Software watermarking

中图分类号: 

  • TP309.7
[1]MYLES G,COLLBERG C.Software watermarking via opaque predicates:Implementation,analysis,and attacks[J].Electronic Commerce Research,2006,6(2):155-171.
[2]KO W H,SATCHIDANANDAN B,KUMAR P R.Theory and implementation of dynamic watermarking for cybersecurity of advanced transportation systems[C]∥Communications and Network Security.IEEE,2017:416-420.
[3]COLLBERG C.Software watermarking:models and dynamic embeddings[C]∥ACM Sigplan-Sigact Symposium on Principles of Programming Languages.ACM,1999:311-324.
[4]COLLBERG C S,THOMBORSON C,TOWNSEND G M.Dynamic graph-based software fingerprinting[J].Acm Transactions on Programming Languages & Systems,2007,29(6):35.
[5]TANG Z Y,FANG D Y,SU L.A tamper-proof software watermark using code-based encryption[J].Journal of University of Science and Technology of China,2011,41(7):599-606.(in Chinese)
汤战勇,房鼎益,苏琳.一种基于代码加密的防篡改软件水印方案[J].中国科学技术大学学报,2011,41(7):599-606.
[6]NAGRA J,THOMBORSON C.Threading software watermarks[C]∥International Conference on Information Hiding.Springer-Verlag,2004:208-223.
[7]XU J C,ZENG G S.A Software Watermarking Algorithm Based on Threads Relation[J].Acta Electronica Sinica,2012,40(5):891-896.(in Chinese)
许金超,曾国荪.一种基于线程关系的软件水印算法[J].电子学报,2012,40(5):891-896.
[8]LI B.Research on dynamic graph software watermarking algorithm based on tamper-proofing[D].Zhengzhou:Zhengzhou University,2013.(in Chinese)
李斌.基于防篡改的动态图软件水印算法研究[D].郑州:郑州大学,2013.
[9]ZHANG D.Research of dynamic graph software watermarking and related technology[D].Zhengzhou:Zhengzhou University,2014.(in Chinese)
张迪.动态图软件水印相关技术研究[D].郑州:郑州大学,2014.
[10]ASHWAG A,VIJEY T.Software Watermarking based on Re- turn-Oriented Programming for Computer Security[J].International Journal of Computer Applications,2017,166(8):21-28.
[11]JIANG Z,LI Z,WU N,et al.A Petri Net Approach to Fault Diagnosis and Restoration for Power Transmission Systems to Avoid the Output Interruption of Substations[J].IEEE Systems Journal,2017,PP(99):1-11.
[12]吴哲辉.Pteri网导论[M].北京:机械工业出版社,2006:6-12.
[13]SU Q,HE F,WU N,et al.A Method for Construction of Software Protection Technology Application Sequence Based on Petri Net With Inhibitor Arcs[J].IEEE Access,2018,6(99):11988-12000.
[14]KNUTH D E.The Art of Computer Programming,Volume I:Fundamental Algorithms (3rd Edition) [M].China Machine Press,1998.
[15]COLLBERG C.A Tool for the Study of Software Protection Algorithms[EB/OL].[2012-05-24].http://sandmark.cs.arizona.edu.
[16]SEBASTIAN B,CHRISTIAN C,VIJAY G,et al.Code obfuscation against symbolic execution attacks[C]∥Conference on Computer Security Applications.ACM,2016:189-200.
[17]LUO Y X.Research on Software Protection Technology Based on Watermark and Feature[D].Xi’an:Northwest University,2013.(in Chinese)
罗养霞.基于水印和特征的软件保护技术研究[D].西安:西北大学,2013.
[1] 刘嘉怡,燕雪峰.
一种基于动态图编码的软件水印方案
Software Watermarking Scheme Based on Dynamic Graph Coding
计算机科学, 2017, 44(9): 131-135. https://doi.org/10.11896/j.issn.1002-137X.2017.09.026
[2] 苏庆,吴伟民,李忠良,李景樑,陈为德.
混沌不透明谓词在代码混淆中的研究与应用
Research and Application of Chaos Opaque Predicate in Code Obfuscation
计算机科学, 2013, 40(6): 155-159.
[3] 李奎,陈建平,施佺,李桂森.
一种Java软件水印植入虚方法的永假式构造
Design of Contradiction Structure for Dummy Method Insertion in Java Software Watermarking
计算机科学, 2013, 40(12): 211-214.
[4] 罗养霞,房鼎益.
多水印技术在软件版权管理中的应用研究
Multi-watermarks Technology in Software Copyright Management
计算机科学, 2011, 38(10): 103-109.
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!