基于开源基础库同源性检测的已公开漏洞发现方法与装置制造方法及图纸

技术编号:34808886 阅读:20 留言:0更新日期:2022-09-03 20:17
本发明专利技术提供一种基于开源基础库同源性检测的已公开漏洞发现方法与装置。该方法包括:步骤1:构建开源基础库的指纹库;步骤2:构建和开源基础库对应的已公开漏洞库;步骤3:提取待测二进制文件的指纹信息,计算所述指纹信息与预构建的指纹库中所有指纹之间的同源性相似度以得到待测二进制文件的基础库信息;步骤4:从预构建的已公开漏洞库中匹配得到与所述基础库信息对应的已公开漏洞信息。本发明专利技术可以对各类软件程序的安装目录进行自动化检测。各类软件程序的安装目录进行自动化检测。各类软件程序的安装目录进行自动化检测。

【技术实现步骤摘要】
基于开源基础库同源性检测的已公开漏洞发现方法与装置


[0001]本专利技术涉及软件漏洞检测
,尤其涉及一种基于开源基础库同源性检测的已公开漏洞发现方法与装置。

技术介绍

[0002]开源软件越来越多,也有越来越多的企业开始拥抱开源并回馈开源。据统计,现在的应用有超过一半的程序都在使用第三方的程序库,这些程序库大部分是由开源社区的程序员来开发,但是这些程序员虽然精于编程之道,但对安全方面的了解少之又少,因此开源软件也是漏洞的重灾区。
[0003]目前对一款软件程序的漏洞探测技术有多种:(1)白盒测试基于源码进行控制流与数据流分析,这种方式需要提供源码,且需要分析人员具备较高的安全审计能力;(2)黑盒测试制造各种输入对程序进行探测并分析程序运行情况,以试图发现漏洞;这种动态探测的方法不但需要的测试周期会很长,而且对程序的运行环境也有着依赖,多数情况下,此种方法具有很大局限性;(3)补丁比对技术被用以挖掘已经公开的漏洞,但是补丁对比需要知悉二进制补丁的基础信息,而且还需要辅以人工分析,无法大规模应用。

技术实现思路

[0004]为了解决上述问题,本专利技术提供一种基于开源基础库同源性检测的已公开漏洞发现方法与装置,可以对各类软件程序的安装目录进行自动化检测,并对后续漏洞的动态分析提供有力支撑,对快速的捕捉程序的脆弱点具有重要的实践意义。
[0005]第一方面,本专利技术提供一种基于开源基础库同源性检测的已公开漏洞发现方法,包括:步骤1:构建开源基础库的指纹库;步骤2:构建和开源基础库对应的已公开漏洞库;步骤3:提取待测二进制文件的指纹信息,计算所述指纹信息与预构建的指纹库中所有指纹之间的同源性相似度以得到待测二进制文件的基础库信息;步骤4:从预构建的已公开漏洞库中匹配得到与所述基础库信息对应的已公开漏洞信息。
[0006]进一步地,步骤1具体包括:步骤1.1:收集开源基础库源码;步骤1.2:提取开源基础库源码中的多种指纹特征以构成所述开源基础库的指纹库;所述指纹特征包括函数名、参数、字符串和导出函数原型。
[0007]进一步地,步骤2具体包括:步骤2.1:采集至少一种现有的漏洞库信息;步骤2.2:根据采集到的漏洞库信息,按照给定的软件命名规范标准构建得到能够对应到所述开源基础库的类别及版本的已公开漏洞库。
[0008]进一步地,步骤3具体包括:步骤3.1:基于反汇编工具对待测二进制文件进行分析,提取待测二进制文件的指纹信息;步骤3.2:将预构建的指纹库中同源性相似度大于设定阈值的指纹信息所对应的二进制文件的开源基础库信息作为待测二进制文件的基础库信息,所述基础库信息包括库名称和库版本。
[0009]进一步地,步骤4具体包括:步骤4.1:根据库名称从所述已公开漏洞库中检索出相关的已公开漏洞信息;步骤4.2:根据库版本从检索出的已公开漏洞信息中过滤出对应版本区间内的已公开漏洞。
[0010]第二方面,本专利技术提供一种基于开源基础库同源性检测的已公开漏洞发现装置,包括:指纹库构建单元,用于构建开源基础库的指纹库;漏洞库构建单元,用于构建和开源基础库对应的已公开漏洞库;基础库信息提取单元,用于提取待测二进制文件的指纹信息,计算所述指纹信息与预构建的指纹库中所有指纹之间的同源性相似度以得到待测二进制文件的基础库信息;已公开漏洞发现单元,用于从预构建的已公开漏洞库中匹配得到与所述基础库信息对应的已公开漏洞信息。
[0011]进一步地,所述指纹库构建单元包括源码收集模块和指纹库构建模块;源码收集模块,用于收集开源基础库源码;指纹库构建模块,用于提取开源基础库源码中的多种指纹特征以构成所述开源基础库的指纹库;所述指纹特征包括函数名、参数、字符串和导出函数原型。
[0012]进一步地,所述漏洞库构建单元包括漏洞库采集模块和漏洞库构建模块;漏洞库采集模块,用于采集至少一种现有的漏洞库信息;漏洞库构建模块,用于根据采集到的漏洞库信息,按照给定的软件命名规范标准构建得到能够对应到所述开源基础库的类别及版本的已公开漏洞库。
[0013]进一步地,所述基础库信息提取单元包括指纹信息提取模块和基础库信息提取模块;指纹信息提取模块,用于基于反汇编工具对待测二进制文件进行分析,提取待测二进制文件的指纹信息;基础库信息提取模块,用于将预构建的指纹库中同源性相似度大于设定阈值的指纹信息所对应的二进制文件的开源基础库信息作为待测二进制文件的基础库信息,所述基础库信息包括库名称和库版本。
[0014]第三方面,本专利技术提供一种基于开源基础库同源性检测的已公开漏洞发现系统,包括前端展示界面、后端服务平台和任务调度器;所述任务调度器将前端展示界面和后端服务平台解耦,负责前端展示界面和后端服务平台之间的数据交互;其中,所述前端展示界面,包括添加/删除任务、上传待测文件和查看检测结果功能;所述后端服务平台采用上述的已公开漏洞发现装置。
[0015]本专利技术的有益效果:
(1)本专利技术针对于二进制文件进行静态分析并提取信息,并通过同源性检测技术与已公开漏洞定位能力,可快速发现软件程序所使用的开源基础库信息以及存在哪些已公开漏洞的风险,提升了发现软件存在漏洞的效率;(2)使用反汇编工具编写插件提取函数名、参数、字符串和导出函数原型等多维度指纹信息,然后进行多维度融合的同源性检测,提高了同源性检测的准确性。
[0016](3)支持两种形式的目标检测:一是对单个二进制文件进行检测;二是对软件程序的安装目录压缩包方式进行检测,可自动进行遍历检测该压缩包内的所有二进制文件,并给出使用的开源基础库信息以及每个开源基础库所存在的已公开漏洞。
[0017](4)根据软件命名规范标准(例如CPE2.3标准)对现有漏洞库(例如NVD漏洞库)进行分类合并存储到数据库,为后续的区间落入匹配减少查询次数。
[0018](5)为用户提供了易于交互展示的前端页面以及后端自动化的任务处理流程机制;用户只需在前端上传待检测二进制文件或者包含多个二进制文件的软件安装目录压缩包,后端将自动进行对所有二进制文件进行分析,最终将开源基础库信息以及存在的已公开漏洞返回给前端展示。
附图说明
[0019]图1为本专利技术实施例提供的基于开源基础库同源性检测的已公开漏洞发现方法的流程示意图;图2为本专利技术实施例提供的基于开源基础库同源性检测的已公开漏洞发现装置的结构示意图。
具体实施方式
[0020]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]实施例1如图1所示,本专利技术实施例提供一种基于开源基础库同源性检测的已公开漏洞发现方法,包括以下步骤:S101:构建开源基础库的指纹库;S102:构建和开源基础库对应的已公开漏洞库;S103:提取本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于开源基础库同源性检测的已公开漏洞发现方法,其特征在于,包括:步骤1:构建开源基础库的指纹库;步骤2:构建和开源基础库对应的已公开漏洞库;步骤3:提取待测二进制文件的指纹信息,计算所述指纹信息与预构建的指纹库中所有指纹之间的同源性相似度以得到待测二进制文件的基础库信息;步骤4:从预构建的已公开漏洞库中匹配得到与所述基础库信息对应的已公开漏洞信息。2.根据权利要求1所述的基于开源基础库同源性检测的已公开漏洞发现方法,其特征在于,步骤1具体包括:步骤1.1:收集开源基础库源码;步骤1.2:提取开源基础库源码中的多种指纹特征以构成所述开源基础库的指纹库;所述指纹特征包括函数名、参数、字符串和导出函数原型。3.根据权利要求1所述的基于开源基础库同源性检测的已公开漏洞发现方法,其特征在于,步骤2具体包括:步骤2.1:采集至少一种现有的漏洞库信息;步骤2.2:根据采集到的漏洞库信息,按照给定的软件命名规范标准构建得到能够对应到所述开源基础库的类别及版本的已公开漏洞库。4.根据权利要求1所述的基于开源基础库同源性检测的已公开漏洞发现方法,其特征在于,步骤3具体包括:步骤3.1:基于反汇编工具对待测二进制文件进行分析,提取待测二进制文件的指纹信息;步骤3.2:将预构建的指纹库中同源性相似度大于设定阈值的指纹信息所对应的二进制文件的开源基础库信息作为待测二进制文件的基础库信息,所述基础库信息包括库名称和库版本。5.根据权利要求4所述的基于开源基础库同源性检测的已公开漏洞发现方法,其特征在于,步骤4具体包括:步骤4.1:根据库名称从所述已公开漏洞库中检索出相关的已公开漏洞信息;步骤4.2:根据库版本从检索出的已公开漏洞信息中过滤出对应版本区间内的已公开漏洞。6.基于开源基础库同源性检测的已公开漏洞发现装置,其特征在于,包括:指纹库构建单元,用于构建开源基础库的指纹库;漏洞库构建单元,用于构建和开源基础库对应的已公开漏洞库;基础库信息提取单元,...

【专利技术属性】
技术研发人员:陆丽吴博郭威冯昭阳马琪灿谷晶中姚金龙
申请(专利权)人:山谷网安科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1