[发明专利]一种基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法有效
申请号: | 201510072607.5 | 申请日: | 2015-02-11 |
公开(公告)号: | CN104615542B | 公开(公告)日: | 2017-12-01 |
发明(设计)人: | 吴晓慧;马恒太;刘小霞;邱春光 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京科迪生专利代理有限责任公司11251 | 代理人: | 成金玉,孟卜娟 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 函数 调用 脆弱 关联 分析 辅助 漏洞 挖掘 方法 | ||
1.一种基于函数调用的脆弱性关联分析辅助漏洞挖掘方法,其特征在于实现步骤如下:
步骤1、使用工具分析目标对象的源码,提取静态函数调用关系;并用静态分析工具对每个函数进行脆弱性分析,形成脆弱性信息数据库;对每个函数进行脆弱性分析的具体实现为:使用第三方静态分析工具对源码进行扫描,得到脆弱性分析结果;由于这些结果往往是定位到每个文件的行数,为方便关联分析,通过分析源码获取每个函数的起始行数和结束行数,进而将脆弱性分析结果定位到函数;经过上述处理,得到每个函数里面包含有哪些脆弱性,将该结果作为函数级的脆弱性信息表存放至脆弱性信息数据库中;
步骤2、将以CVE(即公共漏洞和暴露)为代表的安全漏洞库中与目标对象有关的用户所需的漏洞信息下载,并与脆弱性信息数据库进行操作,形成最原始的漏洞信息数据库;
步骤3、根据漏洞信息数据库中的记录信息,按类型分类,对不同的漏洞信息分别进行数据挖掘与知识发现,提取漏洞隐含的基于函数调用关系的脆弱性关联分析组合,形成列表并自动去重;
步骤4、根据脆弱性关联分析组合,分析脆弱性信息数据库,发现新的潜在的漏洞,具体实现为:根据漏洞信息数据库中脆弱性强相关组合,分析脆弱性信息数据库,除已公开漏洞触发点外,如果该目标对象的源码中存在漏洞信息数据库中的脆弱性强相关组合,则认为该脆弱性组合可能是潜在的漏洞,将相关数据作为潜在漏洞表存入漏洞信息数据库;该数据库为批量漏洞挖掘提供了可信度较高的数据。
2.根据权利要求1所述基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法,其特征在于:所述的步骤1中对目标对象的源码提取函数调用关系的具体实现为:使用开源工具,给GCC(即GNU编译器套件)打个补丁,让GCC在编译每个源文件时复制出其中函数的调用关系,然后用Perl脚本收集并整理调用关系,输出为函数调用关系表存到脆弱性信息数据库。
3.根据权利要求1所述基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法,其特征在于:所述的步骤3提取脆弱性关联分析组合的具体实现如下:
A.定义与漏洞信息相关的搜索字段规则,包括字段名称、类型、前标识符、后标识符关键信息;
B.对以CVE为代表的安全漏洞库进行自动搜集处理即网络爬虫挖掘方法,将与目标对象有关的用户所需的漏洞信息下载,输出为漏洞表形成最原始的漏洞信息数据库;
C.通过数据库接口中间件,对漏洞信息数据库中的漏洞表和脆弱性信息数据库中的函数调用关系表及函数级的脆弱性信息表进行各种查询和匹配,形成以漏洞触发点为参照点的脆弱性关联分析组合。
4.根据权利要求1所述基于函数调用的脆弱性关联分析辅助漏洞挖掘的方法,其特征在于:所述的步骤4中,强相关组合的具体实现如下:
(1)根据漏洞信息数据库中的记录信息,依据漏洞类型,对漏洞脆弱性关联分析组合进行分类,形成列表并自动去重;
(2)运用关联规则挖掘算法,对同一漏洞类型的脆弱性关联分析组合进行关联规则挖掘,形成频繁项集,进而运用挖掘算法产生该漏洞类型对应的强相关组合;
(3)将得到的脆弱性强相关组合存入到漏洞信息数据库中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510072607.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种宽带深截止红光荧光滤光片
- 下一篇:网页加载方法