当前位置:问答库>论文摘要

题目:软件保护及软件保护系统可靠性技术研究

关键词:软件保护;软件加密;软件分割;抗逆向工程;可靠性

  摘要

软件保护是针对安全的软件工程中重要的研究内容,对于整个软件产业的健康发展有着重要的意义。目前的软件保护研究主要面临如下问题:一些软件保护方法保护强度不高,并且随着对于常见软件保护技术理解的深入和攻击技术的发展,对于一些传统的软件保护方式的攻击变得相对容易,这样急需研究新的软件保护方式增进保护的效果;软件保护可以造成应用程序性能差、易用性差或者经济开销过大,这些问题往往限制了软件保护方法的广泛使用;对于软件保护的抗攻击能力,缺乏客观、定量的评价方式。针对上述问题,论文在软件的保护方法和软件保护系统抗攻击能力的定量评价技术方面开展了研究,研究成果包括:(1)提出了一种基于分函数加密和即时解密的软件保护方法。传统软件加密保护方法一般采用单一密钥对软件加密并且采用一步解密的方式在程序运行前进行解密操作,抗攻击性差。本文提出的方法对于软件中的各个函数采用不同的密钥分别加密。并且,在运行时通过即时解码器以函数为单位逐步揭开隐藏在软件代码中的秘密。因为仅对一次运行中必需的部分解密,使得攻击者难以获得完整的解密后程序,难以篡改并绕过未解密部分中的软件保护功能,增强了其抗攻击性。采用多密钥加密,密钥分散存储、分别保护,使得逆向工程攻击的难度增大。可靠性仿真试验结果表明该方法有较好的抗攻击能力。性能试验表明该方法只需较小的运行时开销。(2)提出了一种高性能的基于虚拟机技术的软件分割保护方法。针对目前基于分割的软件保护方法存在的性能问题,一方面通过对软件的合理分割避免将大量运算移入到隐藏组件之中;另一方面,研究了一种高性能的隐藏组件安全计算环境。提出了剖面指导的软件分割方法,利用应用程序运行时收集到的热度信息,使用01规划手段优化应用程序整体性能。提出使用专有指令集的虚拟机为分割出来的软件组件构造高性能安全计算环境。使用高级编程语言为隐藏组件编写代码,并使用编译器翻译成虚拟机代码。支持虚拟机指令集真正意义上的可替换。研究了虚拟机抗篡改技术,在构造方法上,通过校验区间的多重校验和校验器之间的紧密耦合,增强了算法的抗攻击性。实验结果验证了该方法与传统组件安全计算环境构造技术相比性能显著提高。(3)提出了软件保护系统可靠性的概念和研究方法。软件保护系统可靠性以概率为工具描述软件保护系统保护软件的能力,它的提出对于软件保护技术之间和产品之间的比较提供了一种客观、量化的方法。讨论了软件保护系统的整体可靠性和其构成子系统可靠性之间的关系,给出了常见的软件保护系统可靠性的关联模型。针对大型复杂软件保护系统可靠性试验周期长、花费高、实际工程中可行性差的问题,提出了使用数字仿真试验来评估复杂软件保护系统的可靠性,给出了软件保护系统可靠性数字仿真算法。(4)设计并实现了一个实际的软件保护系统,用来保护北航软件所开发的大型集成化过程工程环境EPMS。根据EPMS系统保护的需求,应用了基于虚拟机技术的软件分割保护技术。提出了支持多操作系统平台、多编程语言,编译器和虚拟机构造等若干工程问题的解决方案。构造了EPMS软件保护系统的可靠性关联模型,并在该模型基础上进行了EPMS软件保护系统的可靠性仿真试验。实验结果表明该系统有较高的保护强度。