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