[发明专利]一种基于检测对象的软件漏洞模型检测方法无效

专利信息
申请号: 201010286664.0 申请日: 2010-09-20
公开(公告)号: CN101930401A 公开(公告)日: 2010-12-29
发明(设计)人: 曾庆凯 申请(专利权)人: 南京大学
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 南京天翼专利代理有限责任公司 32112 代理人: 陈建和
地址: 210093 江*** 国省代码: 江苏;32
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 检测 对象 软件 漏洞 模型 方法
【权利要求书】:

1.一种基于检测对象的软件漏洞模型检测方法,其特征是步骤如下:

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:对检测函数进行程序操作序列分析,处理流程见步骤40-4c;转步骤32;步骤36:结束状态;

步骤40:起始状态;步骤41:判断检测函数的访问标记为ON,其值为1,是则转步骤41d,否则转步骤41a;步骤41a:置检测阶段为本地;步骤41b:从检测函数的本地检测对象集合中,取一个检测对象;步骤41c:判断是否取到检测对象,若取到则转步骤41e,否则转步骤41d;步骤41d:置检测阶段为输入,置检测函数的访问标记为 ON,其值为1;置检测对象为输入检测对象,输入状态为当前状态,转步骤42;步骤41e:置输入状态为开始,转步骤42;步骤42:从检测对象的操作序列中,取一个操作结点;步骤43:判断是否取到,若取到转步骤44,否则转步骤4f;步骤44:判断该语句操作是否在漏洞状态机操作集合中,是则转步骤45,否则转步骤46;步骤45:操作状态转换计算,处理流程见步骤50-57,得到转换状态,置当前状态为转换状态,转步骤4c;步骤46:判断该语句操作是否函数调用,是则转步骤47,否则转步骤4c;步骤47:顺序取每个函数调用参数;步骤48:判断是否取到,若取到,转步骤49,没取到则转步骤42;步骤49:判断所取的函数调用参数是否为检测对象,是则转步骤4a,否则转步骤47;步骤4a:设置当前状态为输入状态、检测函数为被调用函数、输入检测对象为现检测对象;进行函数程序操作序列分析,处理流程见步骤40-4c,置当前状态为函数结果状态;步骤4c :判断当前状态是否漏洞状态,是则转步骤4d,否则转步骤42;步骤4d:漏洞报警,转步骤42;步骤4f:操作序列分析结束处理,判断检测阶段是否为本地,是则转步骤41b,否则转步骤4g;步骤4g:置函数结果状态为当前状态;步骤4h:结束状态;

步骤50:起始状态;步骤51:置次状态为空;步骤52:在操作转换表中,查找操作动作所对应的操作结点;步骤53:判断查到操作结点否,若得到,转步骤54,否则转步骤56;步骤54 :判断操作结点的源状态是否为当前状态,是则转步骤55,否则转步骤52;步骤55:置转换状态为操作结点的新状态,转步骤57;步骤56:数据错误报警:步骤57:结束状态。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201010286664.0/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top