[发明专利]一种基于漏洞模型的软件漏洞模型检测方法无效
申请号: | 200810155450.2 | 申请日: | 2008-10-22 |
公开(公告)号: | CN101373506A | 公开(公告)日: | 2009-02-25 |
发明(设计)人: | 曾庆凯;张林 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F21/22 | 分类号: | G06F21/22 |
代理公司: | 南京天翼专利代理有限责任公司 | 代理人: | 汤志武;王鹏翔 |
地址: | 210093*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 漏洞 模型 软件 检测 方法 | ||
技术领域
本发明涉及计算机软件的漏洞检测方法,尤其是基于漏洞模型检测的软件漏洞的方法。
背景技术
随着软件规模和复杂性的扩大,其中隐藏的安全漏洞不断增加,受到攻击而遭受损失的威胁也不断增加。阻止系统攻击和入侵的根本解决途径是在软件缺陷被利用之前发现并将其消除。针对软件安全漏洞进行软件代码检测是预测和防范漏洞的重要手段之一。漏洞静态检测是比较有效的代码漏洞检测技术,而漏洞模型检测方法则是其中一种具有代表性的检测方法。我们提出一种基于漏洞的状态机模型的模型检测方法,以提供对软件代码中可能存在的漏洞进行自动检测。
目前的基于漏洞模型的软件漏洞检测方法在检测过程中存在着重复检查等缺点,检测速度上显得不足,影响着漏洞检测方法的适用性。因此,我们提出一种具有较高检测速度的检测方法,该方法并不采用原有的模拟程序执行流程的检测顺序,而是只检测与漏洞模型相关的程序操作特征,以提高软件漏洞检测的速度。
发明内容
针对目前软件漏洞检测方法存在大量重复工作、影响检测速度的问题,本发明提供一种基于漏洞模型的软件漏洞模型检测方法。基于软件漏洞的状态机模型,对软件代码进行抽象建模,只对与漏洞状态相关的程序操作序列进行漏洞静态检测,判断漏洞模型在代码中的存在性。
为实现本发明的所述目的,本发明提供一种基于漏洞模型的软件漏洞模型检测方法,方法主要步骤包括:1)将漏洞模型从数据库中载入流程即装入内存、建立漏洞模型的数据结构,在分析程序时作为参考依据;
2)模型检测前段步骤,以函数为单位根据漏洞相关操作进行模型检测工作;
3)模型检测后段步骤对主函数进行模型检测,根据漏洞相关操作以及前段对函数的模型检测结果,进行状态检测并报告漏洞的存在性;
所述漏洞模型载入流程:漏洞模型由漏洞状态的状态结点、有向边的集合所构成;状态结点有启始、中间过渡和漏洞识别3种类型,每个状态结点具有状态号、类型和描述等属性;有向边表示引起状态变化的操作,每个有向边具有边号、类型、原状态、新状态和描述等属性;状态结点、有向边的集合分别存储在数据库中的一个表中:状态结点表和有向边表;为方便模型检测处理,在内存中建立由有向边类型进行检索的操作转换表;每个类型的有向边对应一个链表,链表的结点为一个有向边,表示一个原状态到新状态的转换关系;
通过对程序抽象提取处理,过滤去除无关的操作,进行提取与漏洞模型相关的操作序列的流程:每个函数程序特征对应一个操作序列链表,程序特征链表以函数为单位进行组织,操作序列链表的结点为一个与漏洞状态相关的操作或函数;函数程序特征载入时,将磁盘中程序特征链表装入内存,初始函数处理标志为INI(值为0)。
本发明的有益效果是:可以基于软件漏洞的状态机模型,对软件代码进行抽象建模,对与漏洞状态相关的程序操作序列进行漏洞静态检测,判断漏洞模型在代码中的存在性。从而提高计算机软件的可靠性和质量。
附图说明
图1基于漏洞模型的软件漏洞模型检测方法结构示意图
图2漏洞载入流程图
图3模型检测前段处理流程图
图4为函数状态处理流程图。
图5状态转换处理过程图
图6模型检测后段处理流程图
具体实施方式
本发明方法工作流程如图1-图6所示。
图1所示为本方法实施的整体结构和工作原理。本发明方法根据漏洞模型所涉及的操作对待检测程序进行分析检测。因此,需要将漏洞模型从数据库中装入内存,以便分析程序时,作为参考依据;模型检测前段步骤,以函数为单位根据漏洞相关操作进行模型检测工作;模型检测后段步骤对主函数进行模型检测,根据漏洞相关操作以及前段对函数的模型检测结果,进行状态检测并报告漏洞的存在性。
图2表示漏洞模型载入流程。漏洞模型由漏洞状态机的状态结点、有向边的集合所构成。状态结点有启始、中间过渡和漏洞识别等3种类型,每个状态结点具有状态号、类型和描述等属性。有向边表示引起状态变化的操作,每个有向边具有边号、类型、原状态、新状态和描述等属性。状态结点、有向边的集合分别存储在数据库中的一个表中:状态结点表和有向边表。为方便模型检测处理,在内存中建立由有向边类型进行检索的操作转换表。每个类型的有向边对应一个链表,链表的结点为一个有向边,表示一个原状态到新状态的转换关系。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810155450.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:蓝光激光头
- 下一篇:1.3L双顶置16气门汽油发动机进气凸轮轴