基于源代码的动态软件水印算法研究

来源 :战略支援部队信息工程大学 | 被引量 : 2次 | 上传用户:baalzio
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件水印技术是一种将某种信息编码为程序中的某些特征信息,并将其嵌入到软件中的技术,这些信息可以用来鉴别所有权、追踪非法来源。软件水印技术越来越受到学术界和企业的关注,但是,如今尚没有一种的软件水印算法可以有效地抵御所有的已知攻击。因此,软件水印算法设计的目标是增加攻击者移除水印的难度,达到攻击所花费的代价大于所获利益的目的。本文在简要介绍软件保护、详细阐述软件水印等技术研究现状的基础上,从程序本身的性质出发,着重研究了利用函数栈帧和程序异常处理机制编码水印的方法,具体内容包括:(1)提出了一种基于函数栈帧的动态软件水印算法,算法将所需嵌入的水印信息通过RS码进行编码,生成待嵌入水印信息,并利用函数栈帧间的奇偶关系调制嵌入的水印信息。嵌入水印时,首先由特定输入得到目标程序的函数调用序列以及对应的函数栈帧;然后,构造局部变量插入到所需修改的函数中,改变函数栈帧间的奇偶关系,实现水印的嵌入。该算法以目标程序本身的函数为对象,将水印嵌入到标程序的函数调用序列中,水印与程序本身紧密结合,增加了水印的隐蔽性;RS码的良好纠错性能提升了水印的鲁棒性。实验结果表明,算法对代码重排、控制流混淆、随机插入变量和变量拆分等语义保持变换攻击具有良好的鲁棒性。(2)提出了一种基于程序异常处理的动态软件水印算法,算法将二进制水印信息编码为异常类型序列,通过构造触发条件和异常处理代码的方式,将异常类型序列嵌入到程序源码中。基于异常处理在程序中普遍存在的特性,以及所嵌入的异常处理与原程序本身的异常处理具有类似模式的特点,使得水印具有较好的隐蔽性;所嵌入的异常处理与原程序代码紧密结合并参与执行,增强了水印的难移除性;异常处理的嵌入标识增强了水印抵抗添加、代码重排等攻击的能力。实验结果表明,水印具有良好的抵抗保持语义变换攻击方面的能力,对代码压缩、加密、加壳等工具具有良好的鲁棒性。最后,对本文工作进行了总结,并对下一步研究进行了展望。
其他文献
随着中国经济的飞速发展、信息科技的进步、人民收入和休闲时间的增加,种种因素使中国的旅游业日益蓬勃发展。随着旅游者的旅游经验和阅历的丰富,以往主流的团体旅游已无法满
我国能源应急法律制度经过国内初步形成、快速发展和科学发展阶段和国外合作发展,以能源应急各阶段为标准分为能源储备、能源通道安全、能源突发事件应对和替代能源四个方面内
作为一种重要的可理解性输入,听力在英语教与学中占有极其重要的地位。它不仅是英语学习者吸收语言知识的一种途径,还能促进其口语、写作等其它语言技能的发展。因此,对于英语学
血管生成素(Ang)是一种新的内皮生长因子家族,在血管生成及血管稳定性方面起着重要作用。Ang-2是Ang-1的天然拮抗剂,具有破坏血管壁稳定和促进新生血管形成的作用。本文对Ang
<正>采空区属于一种不良地质作用,大多是由地下采矿所形成的,随着城市建设的发展,城市用地的紧张,建筑场地不可避免地遇到采空区问题。而目前对采空区的治理大多是参照公路部
随着软件产业的迅速发展,软件版权的保护已成为亟待解决的问题。分析了软件版权保护的重要性和必要性,给出了软件水印模型,介绍了DM软件水印算法和Easter EGG软件水印算法,借
<正> 在现在社会,人们似乎很少再将戏剧作为诗来看待——“诗”,另有一批诗人用分行押韵的形式在写,但戏剧的诗本体并未从其美学地位中消失。现代著名美学家苏珊·朗格在《情
期刊
近年来,随着Android应用数量的增长针对Android应用的攻击手段也在不断增加.应用程序重打包这类软件剽窃手段会快速且大量增加Android应用市场中恶意应用程序的数量,这会对An
一封被冠以“史上最具情怀”的辞职信曾在网上风传:“世界那么大,我想去看看。”这封辞职信出自一位女教师之手,理由很简单:为爱情而辞职。笔者浅陋,难以理解究竟何谓“史上最
结合旅游资料中文化信息英译的实例,从关联理论的角度探讨旅游资料英译的机理,提出其英译要充分考虑外国游客的认知环境和心理期待,尊重旅游资料的文本功能特征;译者有较大的自由