[发明专利]一种基于可调对象分析的程序漏洞检测方法有效
申请号: | 201210392719.5 | 申请日: | 2012-10-16 |
公开(公告)号: | CN102929774A | 公开(公告)日: | 2013-02-13 |
发明(设计)人: | 曾庆凯 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 徐激波 |
地址: | 210093 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 可调 对象 分析 程序 漏洞 检测 方法 | ||
技术领域
本发明涉及软件工程技术领域,尤其是涉及对软件的检测方法。
背景技术
软件因存在着隐藏的安全漏洞而易受攻击造成损失,其安全威胁有不断增加的趋势。通过对软件代码进行漏洞检测,发现和消除软件中的安全漏洞是减少安全威胁、降低安全风险的重要手段之一。漏洞模型检测是一种具有代表性的代码漏洞检测方法。为此,我们提出一种用于漏洞检测的可调对象程序状态特征提取方法,以供对待检测程序代码进行状态抽象建模、建立用于漏洞检测的程序状态特征模型。
目前的漏洞模型软件漏洞检测方法在检测过程中存在着重复检查、检查关注重点不集中、不够准确等缺点,检测的速度和准确性显得不足,影响着检测方法的适用性。
发明内容
本发明目的是,提出一种基于可调对象分析的软件漏洞检测方法,基于可调对象分析、具有较高检测精度和速度的检测方法,该方法避免采用原有方法模拟程序执行流程的检测顺序,而是只检测与漏洞模型检测相关的可调对象程序状态特征,注重对可能存在潜在漏洞的重点状态的检测,以提高软件漏洞检测的速度和准确性。
为实现本发明的所述目的,本发明技术方案是,一种基于可调对象分析的程序漏洞模型检测方法,主要步骤包括:
1)漏洞模型载入流程,建立漏洞模型的数据结构;
2)程序状态特征检测处理过程,以函数为单位进行模型检测工作,并报告漏洞的存在性。
为提高检测和处理速度,需要将漏洞模型从数据库中装入内存,在分析程序时,作为参考依据;漏洞模型检测过程中,以函数为单位根据漏洞相关操作状态逐步进行检测分析工作;漏洞模型检测工作从主函数开始进行检测,根据漏洞相关操作以及逐级函数的模型检测结果,进行状态检测并报告漏洞的存在性;
漏洞模型由漏洞相关操作的集合构成;操作表示引起状态发生变化的动作,每个操作具有操作号、动作、特征、输入变量和输出变量的集合属性;可调对象指程序中漏洞相关操作所涉及的需检测的变量,输入变量和输出变量为可调对象;操作的集合存储在数据库中的一个表中:操作表;为方便模型检测处理,在内存中建立由操作动作进行检索的操作变量关系表。每个操作动作对应一个链表,链表的结点为一个输入输出变量关系,表示一个输出变量与其输入变量的关系。
本发明的有益效果是:针对目前软件漏洞检测方法存在检查和关注目标过于宽泛、大量重复工作、影响检测速度、准确性不高的问题,本发明提供一种基于漏洞模型的软件漏洞模型检测方法。基于软件漏洞的状态机模型,以重点外部可调对象为中心,对软件代码进行抽象建模,只对与软件漏洞的状态模型相关的程序状态特征进行漏洞静态检测,判断漏洞模型在代码中的存在性。
附图说明
图1基于漏洞模型的软件漏洞模型检测方法结构示意图;
图2漏洞模型载入流程图;
图3漏洞模型分析检测处理流程图;
图4函数程序操作状态序列分析流程图;
图5可调对象关系计算流程图;
图6输入对象关系计算流程图。
具体实施方式
本发明方法工作流程如图1-图6所示。
图1所示为本方法实施的整体结构和工作原理。本方法的目的是根据漏洞模型所涉及的操作状态对待检测程序进行分析检测,报告发现的漏洞。为提高处理速度,需要将漏洞模型从数据库中装入内存,以便分析程序时,作为参考依据。漏洞模型检测过程中,以函数为单位根据漏洞相关操作状态逐步进行检测分析工作。漏洞模型检测工作从主函数开始进行检测,根据漏洞相关操作以及逐级函数的模型检测结果,进行状态检测并报告漏洞的存在性。
图2表示漏洞模型载入流程。漏洞模型由漏洞相关操作的集合构成。操作表示引起状态发生变化的动作,每个操作具有操作号、动作、特征、输入变量和输出变量的集合等属性。操作的动作指具体的程序动作。操作的特征有产生、转移、刷新和使用等值。可调对象指程序中漏洞相关操作所涉及的需检测的变量,输入变量和输出变量为可调对象。操作的集合存储在数据库中的一个表中:操作表。为方便模型检测处理,在内存中建立由操作动作进行检索的操作变量关系表。每个操作动作对应一个链表,链表的结点为一个输入输出变量关系,表示一个输出变量与其输入变量的关系。具体步骤如下。
漏洞模型载入流程具体步骤如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210392719.5/2.html,转载请声明来源钻瓜专利网。