您好, 访客   登录/注册

软件工程中的防篡改技术

来源:用户上传      作者:

  摘要:本文主要对当前软件工程防篡改技术水平进行分析,找到问题根本,进一步提高软件防篡改技术水平,并做好有效的保障。
  [关键词]计算机信息技术 防篡改技术 软件工程 保障
  目前,计算机中的软件工程篡改软件技术不断提高,而软件防篡改技术水平却停滞不前,也就加大了防篡改技术升级的难度。软件工程具有自我保护技术,对软件正常运行中出现的漏洞会进行自动检测修复,保障软件信息的安全,不会受到破坏。软件篡改技术主要是对软件的原始代码进行篡改,一般是通过病毒的方式侵入软件代码,修改代码的正常顺序。加强防篡改技术实质是阻碍病毒入侵修改代码,保障原有代码的正常程序,是软件可以正常运行。
  1 软件层面的防篡改技术
  1.1 校验和
  校验和作为软件防篡改技术的基本操作方法,主要的作用是检测软件运行开始和结束后的文件是否出现差异和错误,从而推断该软件文件是否被篡改。但校验和的操作需要使用计算机,对软件文件内容作初期的核对、保存,该软件在以后的运行中,可以对软件文件再进行一次校验和。和之前保存的文件相对比,确认是否一致,如果出现差异,则表示该软件文件已经被篡改。校验和的操作方法相对比较简单普遍,而且不够隐藏,容易被入侵者发现并处理掉,进而修改软件代码。而且一些强大的入侵者可以躲避软件监控,修改修改校验码。校验和操作方法在软件防篡改技术中风险较大,应用范围不广。
  1.2 软件哨兵
  软件哨兵的主要功能是对软件代码进行升级加密,是可以融入到软件的一种程序,但涵盖的范围较小。在软件程序中融入软件哨兵程序的数量并不受限,可以添加到软件的不同位置,所展现的效果也是不一样的。软件篡改技术在修改软件代码时,必须清除或躲避软件哨兵,如果没有完全清除,仍然会被软件哨兵发现入侵,并进行阻止对抗入侵者。软件哨兵不仅是一个程序,还可以为该软件添加监测代码,实时监控是否有入侵者,并做好阻止准备。
  另外,软件哨兵还可以对已侵害的软件代码进行修复完善,有效的预防软件被篡改情况,因此,软件哨兵的安装已经普及到计算机用户中,确保计算机软件的安全。
  1.3 密码技术
  软件工程在建设防软件篡改技术中,最为重要的是核心组织软件代码的保护,密码技术是在软件哨兵的基础上更加全面的加密功能,阻止入侵者篡改软件代码的效果更强,对入侵者具有攻击性。密码技术的原理是编制一套加密算法将软件代码转变为无法读取的格式从而使入侵者无法篡改软件代码也不可获取相关的信息数据。这种加密算法是参考公钥算法中的数字签名技术,使软件加密具有独立性。在编译软件程序源代码时,利用私钥技术设置程序专有签名,把签名和程序代码结合到一起,入侵者在进行篡改代码之前必须有个检验,签名不符合,就无法进行篡改。签名和程序如果绑定成功,将是一套独一无二的软件代码,不可替代。
  2 硬件层面的防篡改技术
  软件层面的防篡改技术可以有效的保护软件工程中的代码,另外硬件层面也可以对软件工程进行保护,但具体事件需要相应的软件进行辅助配合。硬件技术主要是利用软件卫士方法和软件的网盘中硬加密技术解决软件被篡改问题。硬件防篡改技术主要是根据软件所存储的硬盘位置,对不同位置进行区域保护,可以在本质上阻碍入侵者修改软件源代码。但也要不断完善加强硬件方面的软件防篡改技术水平,进一步阻止软件被篡改的风险。目前社会上一些软件企业建立了一一个组织,共同研发一个高度安全的硬件运算平台,不断加固强化软件防篡改技术。另外企业还建立了严谨的软件结构模式,从而保障软件环境的安全性,该模式有自动的监测程序,可以有效的检测出入侵者,并自行修复和完善软件漏洞,而且计算机一旦安装这种模式,除了用户者其他人没有权限进行修改和访问。这个硬件运算平台是当前最有效的保护软件工程正常运行的方法。
  3 新时代的防篡改技术
  3.1 迷糊化技术
  迷糊化技术的原理是对原始软件进行初步模糊的分类整理,编制成一套新的程序,原来的程序和改编后的程序之间已经不能被分析,但最后执行的结果是一样的。这种迷糊化技术可以打乱入侵者篡改软件代码的思路,并且也可以有效的防止入侵者逆反式的篡改软件代码。
  3.2 应用水印技术
  水印技术现在已经广泛应用到我们的生活中,软件工程利用水印技术的特点在软件防篡改技术上设置独有的标识。这个标识涵盖该软件的开发者、用户和合作商等信息,并对程序的版权和身份验证进行加密,对软件程序设立专属的标志可以准确的辨别出入侵者所窃取的盗版。对入侵者篡改的位置可以清晰的标识出来,而且水印也会被破坏,水印出现问题,整个软件程序就会停止运行,更加有效、精准的检测入侵者篡改程序。在广泛应用水印技术的期间,软件工程防篡改技术得到了明显的成效。首先,水印技术充分展现了验算法的作用,将水印法和加密法有效的结合在一起运算。入侵者如果要对软件代码进行篡改,需要攻击两道防线,第一道是水印,第二道是加密运算,双重保护防线增加了入侵者篡改软件代码的难度。其次利用动态图,在动态图中会有相应的函数部分,函数是根据动态图的环境和标准制定的,如果动态图被入侵者篡改或复制,则函数的数值会发生改变,并于原来的不相符,导致动态图终止运行,进而降低了动态图被篡改的风险。
  4 结语
  总而言之,提高软件工程中的软件防篡改技术要通过硬件技术和软件技术两方面共同配合完成。另外面对不同类型的软件程序,要找到適合各软件特点的防篡改技术方法进行处理。软件防篡改技术对我国软件工程的发展和保护有着重要的作用和深远的影响,面对当前计算机信息技术的高速发展,应打好基础做好软件程序的安全保障,减少病毒对软件程序的破坏,使软件程序可以正常运行。
  参考文献
  [1]沈海波,石航达。软件代码的防篡改技术[M].武汉科技学院学报,2011(05).
  [2]肖锦然.软件工程保护中的软件防篡改技术[M].高新技术产业发展,2012(11).
转载注明来源:https://www.xzbu.com/1/view-14928103.htm