软件漏洞模型检验技术的研究
【摘要】:
随着信息安全重要性的日渐突出,有效解决信息系统软件中安全问题的需求显得日益迫切。于是,软件漏洞的发掘、分析、防护和利用工作也正在越来越受到关注。传统的模拟和测试方法有其固有的局限性,很难充分发掘出漏洞;而模型检验作为一种形式化的方法,能够正确、高效和充分地发掘软件中特定类型的漏洞。
在分析现有软件模型检验技术的基础上,抽象和构造了一个C源代码的漏洞检测模型,并根据该模型实现了MCS模型检验系统软件。
该模型的基本思想是,将程序建模成为一个下推自动机(PDA),将安全属性建模为一个有穷状态自动机(FSA),安全属性是指违背安全编程规则的错误操作序列。采用模型检验算法来验证FSA指示的状态在PDA中是否可达,即PDA表示的所有可能的操作序列中是否存在FSA所指出的错误操作序列。这种方法的主要优点在于能够充分验证某些类别的漏洞是否存在,并且是高效和可扩展的。
MCS系统是C/S模式的模型检验软件,它是一个集漏洞检验、漏洞查询于一体的综合管理系统。该系统包括核心模块和应用模块两部分。核心模块主要做实际的漏洞模型检验工作,应用模块则是构建C/S平台以及后台数据库,核心模块运行于服务器端,客户端将安全属性文件和待检验的源代码文件上传至服务器,服务器完成检验工作后将检验结果存入数据库,并给客户端提供查询统计等功能。