论文部分内容阅读
可信计算作为一种行之有效的信息安全解决方案,目前已经成为信息安全领域研究的一个重要方向。软件的可信性度量是可信计算领域的研究分支之一,分为静态可信度量与动态可信度量。静态的可信度量是在装载前对系统各文件内容的验证,只能确保软件在初始状态的可信性。软件的动态可信度量是在执行过程中验证软件行为的可信性,按照可信计算组织的定义,软件行为的可信性是指软件系统的动态行为及其运行结果总是与预期相一致。本文以应用软件为研究对象,分别从信息流以及数据流的角度,研究基于软件行为的动态可信度量问题。
本文根据信息流定义及程序中语句的语义,提出了一个软件的信息流行为预期模型,将程序中的语句或指令在执行过程中产生的信息流定义为软件的行为,将语句或指令产生合法的信息流向定义为行为预期。在软件运行过程中,监视引用不可信数据的语句的执行,通过检测语句写入的地址是否属于预期的地址集合来验证软件的行为是否符合预期,实现对软件行为可信性的动态度量。根据所提出的预期模型,本文结合静态分析技术研究了行为预期模型的构建方法,并研究了相关的动态度量方法。
传统的控制流行为预期模型缺乏对数据流的考察,无法检测对非控制数据的攻击。针对该问题,本文在控制流行为模型的基础上进行了扩展,增加了对分支语句相关的数据流的验证,以检测对分支语句所引用的决策变量的攻击。将软件的数据流定义为软件的行为,将变量的到达定义作为软件的行为预期。在运行过程中,通过判断软件的数据流行为是否符合预期来验证分支语句行为的可信性。根据所提出的预期模型,本文结合静态分析技术研究了数据流行为预期模型的构建方法,并探讨了相关的动态度量方法。
本文根据所提出的两类行为预期模型,实现了一个测试系统,并分别从功能和性能两方面对行为预期模型进行了测试,测试结果表明,本文提出的行为预期模型能够有效地检测出软件异常的行为,实现了设计目标。