论文部分内容阅读
随着信息化技术的不断发展,软件的应用范围越来越广泛,涉及到社会生产和生活的方方面面,而软件漏洞是在软件安全方面一个不容忽视的威胁,因此一直以来都受到国内外政府部门、组织和相关学者们的重视。在多年的研究过程中,国内外的研究人员从不同的角度研究了软件漏洞,并在漏洞定义、漏洞成因、漏洞分类、漏洞威胁评估、漏洞数据库的建立和维护以及漏洞检测等方面都取得了一定的进展。尽管目前在漏洞研究方面已经取了丰硕的成果,但是针对内存泄漏、多次释放和释放后重用三种漏洞,目前在漏洞特征分析及漏洞模型构建方面的研究还是不够充分,主要体现在两个方面:一是目前对漏洞特征的研究主要停留在概念化的描述,不能够体现漏洞的本质特征,在特征形式化描述方面也很少有权威成果。二是从模型的角度来研究软件漏洞是漏洞研究过程中的一个重要阶段,而现有的漏洞模型主要集中在概念化的漏洞模型,缺乏能够有效地表征漏洞形成机制的形式化漏洞模型。针对如上问题,以下对本文的主要工作进行阐述:1.进行了软件漏洞特征分析,并实现了基于漏洞特征的漏洞检测方法。在阅读大量软件漏洞相关文献资料的基础上,针对内存泄漏、多次释放和释放后重用三种漏洞,提出了漏洞特征的定义。然后将漏洞特征融入控制流图(Control Flow Graph,记为CFG),提出了指针相关控制流图(Pointer related Control Flow Graph,记为PCFG),并基于PCFG对本文研究的三种漏洞进行了特征形式化描述。基于漏洞特征的研究,本文还提出了基于漏洞特征的漏洞检测方法(Vulnerability Detection Method based on Vulnerability Feature,记为VFVDM),介绍了检测框架并详细分析了各个模块,其中重点研究了PCFG生成算法、基于漏洞特征的漏洞判定算法(VFVJ算法)和特征判定算法(FJ算法)。2.构建了软件漏洞模型,并实现了基于漏洞模型的漏洞检测方法。首先论文提出了漏洞建模指导框架,提出漏洞建模需要考虑漏洞主体、诱因、环境三个方面及其相互作用。然后针对内存泄漏、多次释放和释放后重用三种漏洞,从漏洞主体和环境角度构建了基于Petri网的漏洞模型(Vulnerability Model based on Petri Net,记为VM_PN)。基于漏洞模型的研究,本文还提出了基于漏洞模型的漏洞检测方法(Vulnerability Detection Method based on Vulnerability Model,记为VMVDM),介绍了检测框架并详细分析了各个模块,其中重点研究了基于漏洞模型的漏洞判定算法(VMVJ算法)。3.设计并实现了一个原型系统——基于漏洞特征和漏洞模型的漏洞检测原型系统(Vulnerability Detection System based on Vulnerability Feature and Vulnerability Model,记为VFVM-VDS)。系统主要包括PCFG生成模块、基于漏洞特征的漏洞检测模块(记为VFVDM模块)、基于漏洞模型的漏洞检测模块(记为VMVDM模块)和方法对比分析模块。该原型系统能够很好地实现本文提出的两种漏洞检测方法,并且具有良好的可操作性。