软件防篡改

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件保护技术论文

题目软件防篡改技术解析学院计算机工程学院

专业软件工程

年级

姓名

学号

指导教师

2012年 4 月

题目软件防篡改技术

摘要:

如今,随着计算机技术和因特网技术的飞速发展,电子产品,数字产品,特别是软件产品的版权侵犯、非法复制和恶意篡改等行为日趋泛滥,我国计算机软件产业起步较晚,但是在飞速的进步着,并且发达国家的软件专利保护的大趋势对我国现有的软件保护制度提出来严峻的挑战,不仅给软件产品的生产商、分销商和服务商带来了巨大的负面影响,还影响了政府的税收收入,甚至引发新的计算机安全问题等。所以,软件产品的技术保护成为了一个重要的问题。

正文

软件防篡改技术是保护软件安全的技术之一,其基本目标在于阻止软件程序被非法修改,检测篡改并做出适当的响应。它有两种实现策略:

(1)采取相应机制增大篡改程序的难度,提高篡改这攻击重新的成本。

(2)检测篡改事件并采取应对措施,比如,导致程序非正常运行。

计算机软件作为一种知识产权客体,具有不同于其它知识产权客体的特殊之处,主要表现在以下几个方面:第一,计算机软件是人类智力劳动的结晶,具有作品性和工具性两重属性;第二,计算机软件的思想内涵和表现形式融为一体、互相渗透,难以严格区分界定;第三,计算机软件的升级换代快,软件的更新周期越来越短;第四,软件开发成本高,但复制成本极低;第五,计算机软件具有广泛的国际流通性。

《计算机软件保护条例》于2001年12月20日以中华人民共和国国务院令第339号公布,根据2011年1月8日《国务院关于废止和修改部分行政法规的决定》第1次修订,根据2013年1月30日中华人民共和国国务院令第632号《国务院关于修改〈计算机软件保护条例〉的决定》第2次修订。该《条例》分总则、软件著作权、软件著作权的许可使用和转让、法律责任、附则5章33条,自2002年1月1日起施行。1991年6月4日国务院发布的《计算机软件保护条例》予以废止。

目前,软件的保护有专利和版权两种方式,从知识产权的视角看,两者的关系是平行的,一种是将软件转变成专利产品,另一种是将软件尤其是其中的源代码作为文字作品进行许可。由于对软件的需求不断增长以及软件产业对经济的重要影响,任何关于应当选择何种法律保护模式来保护软件的讨论,都引起软件开发者、竞争者、消费者的广泛关注。想把软件归属到知识产权体系的某个特定门类中是非常困难的,因为软件所具有的两分性使其很难归入现有的某个法律分类中。因此,就有各种尝试试图将软件保护归入版权、专利或商业秘密,[1]甚至归入所谓的“软件权”。[2]涉及将软件保护如何归类的争论已经持续了二十多年,[3]而且在未来还将持续很长时间。但是究竟是什么使得对软件保护的法律分类如此困难?该问题的产生基于一个事实,那就是软件不是一个单一的作品,它包括

多种元素,这些元素可以落入不同类型的知识产权保护范畴。如果我们定义软件是用于输入计算机中以产生特定结果的一系列指令,那么这些指令的描述方式就是需要提供某种知识产权保护的想法。这些指令起初是以源代码进行描述,源代码是用计算机高级语言编写的指令。既然源代码是以文字形式进行描述,就很自然地将软件作为文学作品而归于版权保护。当今世界凡对软件予以法律保护的国家,大多采用版权的方式予以保护,例如我国的《著作权法》定义计算机软件作为作品受著作权保护。[4] 但是,软件不仅是在计算机中操作的源代码,软件还需要编译成目标代码,目标代码是用机器语言编制的机器可读指令,用于直接驱动计算机工作。因为目标代码是源代码的直接结果,所以按照传统观念这种编译的法律地位不应该从源代码中区分出来,这种编译通常不受到法律保护。因此,将软件严格归类为文学作品的问题也就出现了,那就是人们发现计算机软件还有其它部分通常无法得到版权保护。

软件防篡改技术是通过软件或硬件措施防止程序被非法修改的软件保护技术的统称,属于软件保护领域中的主动防御范畴.现有的软件防篡改技术分为两大类:一类是静态-防篡改技术,基于代码变换(混淆)思想;另一类是动态-防篡改技术,基于检测-响应的思想. 静态-软件防篡改技术指的是通过代码变换降低程序可理解性,增加被篡改或非法复用的难度的一类技术,以下简称静态防篡改技术,也称为代码混淆技术. 动态-软件防篡改技术指的是通过软件或硬件措施阻止被非法修改后的程序正常运行的一类技术,以下简称动态防篡改技术.添加的软硬件措施必须具有以下性质: 1)能够检测出程序被修改; 2)能够在发现程序被篡改后作出响应,如终止程序运行、删除软件或是输出无效结果 . 当前软件防篡改技术的研究热点在于如何保护可信软件在不可信的软件宿主上的安全.客户端程序下载或是安装在不可信宿主上,就可能受到来自不可信宿主的攻击.例如客户端软件中的商业机密和版权信息被恶意修改.本文考虑如下 3 种软件篡改攻击模型 : 1)获取非授权访问.攻击者绕过软件中的访问控制机制,重新分发非法的软件副本从而获利. 2)逆向工程.攻击者通过反编译、反汇编技术, 获得软件的全部或部分源代码,从而获取关键信息如核心算法、秘密信息等为自己所用. 3)破坏代码完整性.攻击者向软件代码中嵌入恶意代码或修改删除部分代码以达到自己的目的, 如扰乱程序功能、绕过一些模块从而获利.

动态防篡改完善:实际上,相应机制和检测机制之间的关系是非常密切的,它们都是防篡改技术里面重要的构成成分。就算检测机制健全,如若没有强大的相应机制,那么整个防篡改机制也就是没有功效的。建立在多点设置基础上的防篡改技术,通过对哨兵单元加以利用,进而达到保护程序的目的。按照需求的不同可设置多种哨兵,下面为常见的两种哨兵:修复代码:此种哨兵可使程序具备自我修复能力。在代码完成性遭受破坏之后,哨兵会负责对篡改代码进行修复,使之恢复原状并正常运行,在保护程序里面嵌入众多哨兵,从而形成一个哨兵团。求代码的校验和:此种哨兵能使程序具备自我感应功能 ,在程序运行中对程序完整性以及保护代码校验进行计算。

相关文档
最新文档