基于程序切片规则的软件水印研究

来源 :湖南工业大学 | 被引量 : 0次 | 上传用户:xukej
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着网络的广泛应用与虚拟机技术的出现,软件保护遇到前所未有的挑战。通过快捷的网络平台,软件产品可在短时间内大范围地传播,以前一对一的非法拷贝,变成大规模并行下载,单一的软件盗版者,变成成千上万个无法追踪的个体。而且,在虚拟机技术的支持下,中间码程序独立于任何机器硬件信息,其平台无关特性使逆向工程、反汇编、混淆等攻击更加有效。软件保护成为保障软件产业健康持续发展的迫切课题。软件保护技术研究角度多、实验手段丰富。国内外对软件保护技术进行了积极的探索,但现有技术主要以保障软件产品的分发、运行安全,满足分布式需求为主,在抵御盗版方面实际效果差,无突破性进展。软件水印是数字水印技术的重要分支,通过隐藏版权信息防止盗版。近年来,大量软件水印算法被提出来,但均存在鲁棒性差的问题,实用的软件水印技术仍然是一个空白。针对软件水印算法鲁棒性差的问题,本文提出一种新的基于切片规则的软件水印方案。方案利用移动计算中必须将应用程序进行代码分割的特点,借助切片工具,对源程序进行自动切片,不同的切片规则X产生不同的切片语句,水印信息嵌入在规则产生的切片语句中。然后,切片后的程序被分割转换为公开模块和隐秘模块两部分,公开模块在不安全的宿主上执行,隐秘模块运行在安全的主机上,两者通过远程过程调用进行交互。无论是公开模块还是隐藏模块,都不包含程序的全部信息,在无法恢复隐藏模块的前提下,攻击者只能得到两个模块间的交互行为。由于缺乏必要信息,想通过静、动态分析的方法反编译大型程序将非常困难。这使得系统在加大逆向工程难度的同时,有效隐藏了水印信息,提高了鲁棒性。另外,方案通过优化分割转换算法的设计,提高了两个模块间的交互效率,保障方案对系统运行时间的影响在可接受的范围内。水印提取是对切片规则与水印信息映射关系的证明,根据转换规则集成公开模块与隐秘模块的内容以证明水印存在。为了测试实际应用效果,本文通过实验论证了试图得到隐藏模块内容时的复杂度,并对公开模块和隐藏模块间的交互带来的时间代价进行了评估。实验结果证明,在保证一定隐密性和鲁棒性的同时,系统可将程序运行的影响控制在合理的范围内。基于程序切片规则的软件水印,是实用软件水印技术的有益探索。
其他文献
随着空间科学任务仿真技术的不断发展,可视化的需求大量增加。同时,显示硬件也在不断发展,这样对可视化的效果和方式也提出了更高的要求。为了满足多种与地球、大气相关的空
企业实施流程管理所带来的好处是非常明显的。这包括提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集中精力处理核心业务、跟踪业务处