论文部分内容阅读
在计算机飞速发展的今天,软件安全越来越成问题。而在计算机安全领域,操作系统内核相关的技术越来越多的被用到安全检测,系统监控和文件保护等应用中。使用内核技术来实现软件安全的保护则具有广阔的前景。在如何实现软件保护,已经存在比较多的方法,如数字水印、代码混淆、反调试、防篡改技术,但这些都是软件保护中的基础性研究,都是针对软件保护中的某一种攻击而进行的相关研究。通过基础方法形成的软件保护系统则能将这些技术综合起来,形成一个较完善的保护方案。当前的软件保护系统有在应用层使用各种软件方法形成的保护,如软件加壳、序列号注册、软件锁、CD-Key等,但这些方法安全性不高,目前对这些方法都有针对的破解方法。而使用硬件实现的软件保护系统,虽然有较高的安全性,但需要硬件辅助,开发成本较高,且使用也相对复杂。使用内核技术实现软件保护,则不仅安全性比较高,而且在成本上也比硬件保护方法低,是一种不错的保护方案。我们基于Windows内核设计了一种软件保护框架,该框架将软件开发与软件保护开发分离开来,对软件的保护具有普遍性。该系统中软件安全由软件系统提供,因此在开发过程中只需要重点关注软件保护系统的安全性。通过对内核中的文件访问控制、进程访问控制、进程监控、文件过滤、调试器检测和对抗、硬件绑定等相关技术的研究,将这些技术使用到软件保护系中,使得软件保护系统具有较高的安全性和适用性。通过文件访问控制和进程访问控制,能够防止文件的非法拷贝;而通过文件过滤中加密解密,则使得文件难以被静态调试;在调试器检测和对抗中,则能防止软件被动态调试;通过硬件绑定又能保证软件保护系统仅能在合法的机器中运行。