[发明专利]一种基于检测对象的软件漏洞模型检测方法无效
| 申请号: | 201010286664.0 | 申请日: | 2010-09-20 |
| 公开(公告)号: | CN101930401A | 公开(公告)日: | 2010-12-29 |
| 发明(设计)人: | 曾庆凯 | 申请(专利权)人: | 南京大学 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 南京天翼专利代理有限责任公司 32112 | 代理人: | 陈建和 |
| 地址: | 210093 江*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 检测 对象 软件 漏洞 模型 方法 | ||
技术领域
本发明涉及计算机软件的检测方法,尤其是一种软件漏洞模型检测方法。
背景技术
软件因存在着隐藏的安全漏洞易于受到攻击而遭受损失,其安全威胁有不断增加的趋势。通过对软件代码进行漏洞检测,发现和消除软件安全漏洞是减少安全威胁、降低安全风险的重要手段之一。漏洞模型检测是一种具有代表性的代码漏洞检测方法。我们提出一种基于检测对象的漏洞模型检测方法,以供对软件代码中可能存在的漏洞进行自动检测。
目前的漏洞模型软件漏洞检测方法在检测过程中存在着重复检查、不够准确等缺点,检测的速度和准确性显得不足,影响着检测方法的适用性。因此,我们提出一种具有较高检测精度和速度的检测方法,该方法并不采用原有的模拟程序执行流程的检测顺序,而是只检测与漏洞模型相关的程序操作特征,注重对重点参数的检测,以提高软件漏洞检测的速度和准确性。
发明内容
针对目前软件漏洞检测方法存在大量重复工作、影响检测速度、准确性不高的问题,本发明提供一种基于漏洞模型的软件漏洞模型检测方法。基于软件漏洞的状态机模型,以重点检测对象为中心,对软件代码进行抽象建模,只对与漏洞状态相关的程序操作序列进行漏洞静态检测,判断漏洞模型在代码中的存在性。
为实现本发明的所述目的,本发明提供一种基于检测对象的软件漏洞模型检测方法,方法主要步骤包括:
1)漏洞载入流程,建立漏洞模型的数据结构;
漏洞模型由漏洞状态机的状态的集合和操作的集合构成,状态表示状态机的状态。每个状态有状态号、类型和特征等属性。类型是指漏洞的分类,如文件、内存等类别。特征有开始、过渡和漏洞等值。操作表示引起状态发生变化的动作,每个操作具有操作号、动作、特征、检测对象指示、原状态和新状态等属性。操作的动作指具体的程序动作。操作的特征有产生、转移、使用等值。检测对象为程序中漏洞相关操作所涉及的需检测的变量,检测对象指示为操作涉及的参数编号。状态、操作的集合分别存储在数据库中的一个表中:状态表和操作表。为方便模型检测处理,在内存中建立由操作动作进行检索的操作转换表。每个操作动作对应一个链表,链表的结点为一个操作,表示一个原状态到新状态的转换关系。具体步骤如下。
步骤20是起始状态。步骤21在数据库操作表中取一个操作的记录。步骤22若取到转步骤23,否则转步骤26。步骤23判断取得该操作动作的操作转换表表头是否已存在。若已存在转步骤24,否则转步骤25。步骤24创建一个操作结点,结点的操作号、特征、检测对象指示、原状态和新状态分别为该操作的操作号、特征、检测对象指示、原状态和新状态。把此结点连接到对应的操作动作操作转换表的链表尾部,转步骤21。步骤25创建该操作动作的操作转换表表头,创建一个操作结点,结点的操作号、特征、检测对象指示、原状态和新状态分别为该操作的操作号、特征、检测对象指示、原状态和新状态。把此结点作为该操作动作的第一个结点,转步骤21。步骤26为结束状态,操作转换表建立完成。
通过对程序抽象提取处理,过滤去处无关的操作,提取了与漏洞模型相关的操作序列。程序特征链表以函数为单位进行组织,每个函数对应若干个与检测对象相关的操作序列链表,链表的每个结点为一个与漏洞状态相关的操作或函数。函数的检测对象包括输入检测对象和本地检测对象两类。程序特征载入时,将磁盘中程序特征链表装入内存,包括输入检测对象集合和本地检测对象集合及其操作序列链表。
2)模型检测处理流程,以函数为单位进行模型检测工作,并报告漏洞的存在,步骤30:起始状态;步骤31初始化:设置所有函数的访问标记为 OFF (值为0);取main的检测对象集合为函数检测对象集合。步骤32从函数检测对象集合中,取一个检测对象。步骤33判断是否取到。若取到则转步骤34,否则转步骤36。步骤34设置输入状态为开始,检测函数为main函数,输入检测对象为取得的检测对象。步骤35对检测函数进行程序操作序列分析,处理流程见图4;转步骤32。步骤36为结束状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010286664.0/2.html,转载请声明来源钻瓜专利网。





