论文部分内容阅读
随着可信计算的提出和发展,意识到把可信计算机制与网络接入机制进行结合,把可信扩展到网络,从终端开始保证网络可信,建造可信网络。可信网络包括接入端的可信、传输数据可信、传输行为可信、网络连接可信、服务器可信等。无论是可信计算还是可信网络,完整性度量是实现可信的核心技术,现阶段的可信性都是通过组件和软件的完整性来保证的。在可信网络中要对接入网络的客户端行为进行监控和度量,但是目前的可信计算机只能实现暂时的静态可信,只能保证平台从启动到开机的静态完整性,没有实现软件动态可信技术,不能够时刻监控软件的行为是否是可信的,不能保证软件在运行过程中的完整性,即动态完整性度量。本文根据现有的软件行为原理,研究软件在运行过程中对系统调用的行为,通过监控软件对系统函数的调用来保证客户端的行为可信。在Windows下软件API调用行为比较频繁,从软件对API的调用来判断软件的行为,对软件的正确系统调用行为进行预期建模,生成软件行为基准库,在软件运行过程中对软件的系统调用进行监控,根据软件行为库来对软件行为进行完整性度量,以此来确保软件运行时的动态可信。在Linux下软件的系统调行为比较频繁,对软件的系统调用进行截获并进行完整性度量来实现软件的动态可信。客户端的可信包括软件可信和软件运行环境可信,软件运行环境可信就是操作系统的可信,通过对操作系统函数进行完整性度量,能从一定程度上保证软件运行环境的可信。由于Windows环境下的系统调用函数是不开放的,不能直接对Windows的系统调用函数进行完整性度量,通过对Windows系统函数的代码段部分进行完整性预期建模,在系统调用的过程中对系统函数进行完整性度量来确保系统环境的可信性。Linux是开放的系统平台,对linux系统平台的完整性度量技术已经很成熟,我们可以借助这些技术来对系统函数进行完整性度量确保软件运行环境的可信性。根据对现有的技术总结和改进,本文提出一个基于软件系统调用行为的动态完整性度量模型,从客户端系统开机到系统正常启动,在这个过程中用静态完整性度量方法进行可信验证,在系统开机之后,用动态完整性度量方法对客户端行为进行可信验证,软件运行环境的安全性由对系统函数进行完整性度量来保障,实现客户端的完整性度量。