软件工程保护中的软件防篡改技术

来源:《硅谷》杂志 2013-03-30 19:34:55 阅读
  据《硅谷》杂志2012年第21期刊文称,计算机已经成为当代人生活、工作中的必须品,尤其是对企业而言计算机已经成为企业活动之中不可或缺的重要组成部分。而就计算机使用而言,对软件的保护工作则是防止企业信息泄露、保证企业正常运转的大前提。就当下软件篡改方式而言主要这样三种:盗版软件、工程逆向和篡改代码,与之相对的保护方式主要有这样三种:水印方法、模糊代码和防篡改法。以防止软件篡改为主体,对软件的保护工作做阐述。
  关键词:软件工程;防篡改;方式技术
  伴着计算机的高度普及,软件已经拥有其独立的知识产权,软件产生和运算的信息量之大是难以想象的,它是维持整个企业正常运转的基础保障。因此越来越多的篡改、盗用、窃取软件的事情发生,并且其技术也是日益强大。为了保护企业、个人自身电脑的安全性和独立性,方篡改软件的技术也在不断增强、包括给软件大上水印、给代码设置一个模糊环境、使软件显示多样性、利用时间模式进行限制、安防软件保安、使用智能卡等措施。
  1软件保护工作中的防篡改法
  防篡改法可以从硬件和软件两方面进行。
  1.1用于软件上的防篡改法
  软件防篡改法主要从验核工作、安放软件护卫、严查断言、加密密码等方面入手。
  1.1.1验核工作
  这是一种常用的静态保护方式,其主要途径是随时对计算机中软件、文件、信息等项进行检查核对,并根据其存储位置中的相关文件、备份文件进行比对,以确保软件的安全性和软件的完整度。
  1.1.2软件护卫
  软件护卫是一种常用的软件保护程序,它是一种独立的小程序,分别安放在软件的各个不同的地方,并且彼此之间有良好的联系,以便在软件中形成一个良好的网站保护结构,并将软件分成一个个独立的小段,每一小段由一个安全护卫负责,当有篡改、盗版等行为发生时,可以做到立刻确定篡改发生在哪一区域,以便及时找寻并将其修复。
  1.1.3严查断言
  严查断言是指检查程序中的每一个断言是否正确。首先我们先来介绍一下什么是断言,断言就是计算机软件特有的表述方法,这种表述方法主要是针对在一定条件下或是程序之中各个变量之间的关系。断言可以有效地对软件程序的健康度进行检测,并进行诊断和调整,所以在保持工作中采用断言法成效明显。
  1.1.4加密密码
  对密码进行加密也是防篡改工作中常用的一种,其方法分两种:其一,对软件程序中的散数列、函数等做报摘处理,并定期检测报摘情况是否一致完整;其二,使用软件程序的公钥计算法,形成程序自身独特的签名以保证程序的独特性以防止发成篡改行为。
  1.2用于硬件上的防篡改法
  硬件防篡改法是指,利用软件与硬件之间相互配合的关系,利用防护设备阻止篡改情况的发生。以往我们最常使用的硬件防篡改方法主要有采用软件卫士或是对软件盘进行硬加密处理等等,利用软件的储存与运算基础----硬盘,使之具有“保护意识”,进而从根本上防止篡改。
  2新时代的防篡改技术
  在信息资源已经变得越来越重要的今天,对信息窃取的技术支持力度变大,使得信息窃取技术有了质的变化。想要跟得上篡改技术的变化速度,满足新时代对软件保护工作的需求,只利用老方法、老路子是不行的,我们要利用老传统的优点,结合新时代篡改技术的特定,多角度、多防范性的进行思考,才能制定出真正有效的软件防篡改技术。以下就来介绍其中的几种。
  2.1模糊化技术
  模糊化技术是指对一段原有程序进行加工再处理,通过对其“模糊”转化使之成为一段新程序,而这段新程序较旧程序而言更加难懂、更加不好解析,但其执行结果有相同的表现形式,从而防止篡改行为的产生,也有效制止逆向软件程序工作中的分析、拆解行为。
  2.2给软件加水印
  水印在各个领域均得到有效应用,并取得卓有成效的成果。在软件防篡改工作中我们也可以借鉴这样方法,在软件程序中打一个特有的独立的“水印”作为该程序的独立标识,并且我们可以以这种表示为依据找出这段程序的作者、使用者、发行商等信息,且其中带有版权所有信息与身份验证程序,从而对软件是否发生盗版、篡改等行为作出分析。当有篡改行为或盗版行为发生时,软件程序内部的水印就会遭到破坏,当水印遭到破坏时内部程序就会产生感知立刻终止软件程序继续运行,从而形成双保险的防篡改机制。水印技术作为一种常用的并且非常有效地方篡改机制,在被运用的同时也得到相应的完善。这里来举两个例子,第一个,在水印中加入验算法,这是一种双重保险机制,这是将水印法和加密法结合运算的方式,利用此种方式,篡改攻击就要分两个步骤进行,第一要避开、接触水印,第二要结合加密运算,这样我们保证篡改的不可发生性,但我们就将其限制方窄了,降低了软件程序被篡改的可能。第二个,针对于动态图而言的,在对动态图的编码过程中在其内部常量关系中增加一个函数,该函数值的存在是依据动态图的现有环境而定,也就是说,当动态图发生被复制、转移、重新编码等过程这个函数的常数值就会相应地发生变化,而从导致动态图片的失真、程序无法运行,以便保证动态图不被盗用。除了这两种防篡改方式方法外我们还有很多针对于新时代而做出的改变措施,在这里就不一一列举了,这些方法的出现不但标志着长篡改机制的程序与进步,更说明了人们当前的信息保护意识越来越强,这位进入全信息时代打下了良好基础。
  3防篡改程序应用实例
  1)东模块加载模式,这种模式下,二进制码程序被分成几个,我们对第一个程序不进行处理,选取它的哈希值设做下个模块的密匙,而选取第二个程序被解开密匙后的哈希值为第三个的密匙,以此类推,进而进行多重加密运算。利用这种逐层加密、逐层解密的多层运算方式,可以有效的防治和中止盗用、篡改程序行为的出现。
  2)软件卫士的检查机制,这种常用的机制具有全面的检查性和自我修复能力。这种防篡改方式的作用途径是将小的单元卫士层序逐个安插在重要的程序中,彼此紧密联系形成一个良好的信息网站结构,并在检查出篡改、破坏行为后及时中止程序,达到方篡改的目的;在防卫卫士发挥作用时,与之同时安插进程序中的修复卫士负责对程序完整性的检查工作,一旦发现程序发生缺失、损毁立即作出修复动作。这两个程序相依存在,每一个卫士均在另一个卫士的检查之下,当一个卫士程序受到进攻,其他卫士层序就能立刻响应,并且在植物卫士的时候应将其放在不明显的地方,这样在篡改行为发生时,不易察觉卫士的存在,可以使防范功效增强。另外,防范卫士的攻击响应机制不应该过于强烈,应该在确定了篡改源后等其认为程序环境相对稳定时再发起攻击。
  4总结
  随着信息时代的到来和深化,计算机软件所包含的信息已经越来越突显出其重要性,在对信息的保护和防篡改工作中,我们应该怎么打好这场没有硝烟的战争,以便使企业或是个人的信息得到更好保护,就成了其工作内容的重点。我们应利用水印、多重密匙、软硬件结合等多种方式共同作用,达到最好的保护效果。

版权声明

  本网为非营利性普及法律知识公益网站,所刊载文章并不代表本网赞同其观点和对其真实性负责;所转载或引用资讯均用于学术研究。如不慎触及到版权人相关权利,请即刻与我们联系处理。
上一篇:从“利益平衡”的角度看软件的技术保护措施
下一篇:应设置例外情形对技术措施加以限制 数字化作品的技术保护措施不宜过严