[发明专利]计算机程序实际运行时触发软件漏洞的检测系统无效
申请号: | 201010513779.9 | 申请日: | 2010-10-21 |
公开(公告)号: | CN101968766A | 公开(公告)日: | 2011-02-09 |
发明(设计)人: | 张若愚;王卓;周侃;黄实秋;黄山 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王锡麟;王桂忠 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种计算机技术领域的计算机程序实际运行时触发软件漏洞的检测系统。包括:二进制代码动态插入模块、程序基本块识别模块、函数调用图构建模块、控制流图构建模块、函数识别模块、静态分析模块;本发明通过结合动态程序分析和静态分析路径补全这两种技术,既能检测到那些在程序实际运行时才会触发的漏洞,又能达到较高的程序路径覆盖率,对动态分析过程中没有覆盖到的路径进行漏洞检测,提高了漏洞检测的成功率,降低了漏洞误报率。同时,静态分析路径补全技术只分析动态分析未执行到的路径,而并非全部的程序路径,这样大大降低了时间和系统资源的开销。 | ||
搜索关键词: | 计算机 程序 实际 运行 触发 软件 漏洞 检测 系统 | ||
【主权项】:
一种计算机程序实际运行时触发软件漏洞的检测系统,其特征在于,包括:二进制代码动态插入模块、程序基本块识别模块、函数调用图构建模块、控制流图构建模块、函数识别模块、静态分析模块;二进制代码动态插入模块将用户自定义的分析代码插入程序的任意位置,并跟踪程序调用的系统API,最后将分析结果通过自定义程序分析文件提供的回调函数返回并传递给程序基本块识别模块;程序基本块识别模块根据二进制代码动态插入模块传递的分析结果将目标程序按基本块规则划分,并将划分的基本块集合传递给函数调用图构建模块和控制流图构建模块;函数调用图构建模块对基本块识别模块传递过来的基本块集合进行处理,得到基本的函数块集合,并将此函数块集合传递给函数识别模块,根据返回的函数行为特征得到函数之间的相互调用关系,以此构建函数调用图,并将函数调用信息传递给控制流图构建模块;控制流图构建模块根据程序基本块识别模块传递来的基本块集合构建控制流节点集合并维护它们的相互关系,并将构建的节点集合和程序执行时获得的动态信息传递给静态分析模块,根据返回的包含未执行路径的完整执行信息构建完整的程序控制流信息和程序控制流图,并将此信息作为系统输出传递给用户;函数识别模块提取函数调用图构建模块传递过来的基本函数块的调用地址,根据此信息查找API数据库获得函数的索引值和行为特征,并将找到的函数索引值和行为特征作为输出返回给函数调用图构建模块;静态分析模块接受控制流图构建模块传递来的节点集合和记录的动态执行路径信息,补全未执行到的路径信息,生成完整的程序执行路径信息,并将这些信息作为输出返回给控制流图构建模块。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201010513779.9/,转载请声明来源钻瓜专利网。