首页> 中国专利> 漏洞风险分析方法、装置、设备及存储介质

漏洞风险分析方法、装置、设备及存储介质

摘要

本申请涉及漏洞风险分析方法、装置、设备、及存储介质,其中方法包括:获取用户通过智能设备输入的第三方库组件的组件信息,所述组件信息包括与开源组件相对应的特征信息,所述特征信息用于识别第三方库组件内的开源组件;将所述开源组件的特征信息与预设的非法特征信息进行比对,若所述开源组件的特征信息与预设的非法特征信息之间存在相同的特征信息,则提取出所述相同的特征信息;将提取出的相同的所述特征信息发送至所述智能设备。本申请具有的技术效果是:提升了第三方库组件在使用过程中的安全性能。

著录项

  • 公开/公告号CN113297583A

    专利类型发明专利

  • 公开/公告日2021-08-24

    原文格式PDF

  • 申请/专利权人 深圳开源互联网安全技术有限公司;

    申请/专利号CN202110853048.7

  • 发明设计人 万振华;

    申请日2021-07-27

  • 分类号G06F21/57(20130101);G06F21/56(20130101);

  • 代理机构11508 北京维正专利代理有限公司;

  • 代理人吴珊

  • 地址 518000 广东省深圳市龙华区民治街道民乐社区星河WORLD二期E栋401-405

  • 入库时间 2023-06-19 12:19:35

说明书

技术领域

本申请涉及漏洞风险分析的技术领域,尤其是漏洞风险分析方法、装置、设备及存储介质。

背景技术

随着计算机技术和网络技术的不断发展,开发软件时应用第三方库组件进行辅助已成为当下常见的技术手段;第三方库组件是除去开发者和开发平台以外的人员开发的,重写或扩展了一些方法和属性,根据使用者的需要实现了一些新功能的组件。

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,可以使攻击者能够在未授权的情况下访问或破坏系统;为了改善第三方库组件漏洞对使用者造成的损失,现有漏洞公开网站公开已发现的漏洞信息。

在实现本发明的过程中,发明人发现现有技术存在以下问题:

在使用第三方库组件的过程中,第三方库组件内含有开源组件,开源组件有存在漏洞的可能,需要人工对开源组件的代码信息进行查验,费时费力且准确率较低。

发明内容

为了改善人工查验代码信息费时费力且准确率低的问题,本申请提供一种第三方库组件漏洞风险分析的方法、装置、设备及存储介质,

第一方面,本申请提供一种第三方库组件漏洞风险分析的方法,采用如下的技术方案:获取用户通过智能设备输入的第三方库组件的组件信息,所述组件信息包括与开源组件相对应的特征信息,所述特征信息用于识别第三方库组件内的开源组件;

将所述开源组件的特征信息与预设的非法特征信息进行比对,若所述开源组件的特征信息与预设的非法特征信息之间存在相同的特征信息,则提取出所述相同的特征信息;

将提取出的相同的所述特征信息发送至所述智能设备。

通过上述技术方案,获取第三方库组件的组件信息之后,首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后根据开源组件自身相对应的身份信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了第三方库组件的比对效率,使得系统能够更快的查找出第三方库组件内的漏洞。

可选的,所述开源组件包括与开源组件相对应的数据信息;

在所述将提取出的相同的所述特征信息发送至所述智能设备之后,还包括:

获取预设的漏洞库内漏洞数据的关键信息;

获取与开源组件相对应的数据信息;

将所述关键信息的代码信息与所述数据信息的代码信息进行比对;

通过上述技术方案,在完成开源组件的比对之后,获取漏洞数据的关键信息,减少了比对过程中直接比对全部漏洞数据导致无用数据夹杂在漏洞数据之间使得漏洞数据无法被识别的可能,提升了漏洞数据识别的准确程度;开源组件的数据信息与漏洞数据的关键数据之间的比对,减少了漏洞数据还未更新到预设的非法坐标信息内的可能,提升了漏洞分析时的精准程度。

可选的,在所述将所述开源组件的特征信息与预设的非法特征信息进行比对之前,还包括:

获取预设的开源组件库内的开源组件信息,所述开源组件信息包括开源组件自身的代码信息;

根据所述开源组件的特征信息获取所述第三方库组件内的非开源组件;

将非开源组件的代码信息与预设的合法组件的代码信息进行比对;

若所述非开源组件的代码信息与预设的合法组件的代码信息之间存在相同的代码信息,则提取出相同的所述代码信息;

将提取出相同的所述代码信息与所述关键信息的代码信息进行比对;

若提取出相同的所述代码信息与所述关键信息的代码信息之间存在相同的代码信息,则提取出相同的所述代码信息;

将提取出的相同的所述代码信息发送至工作人员的智能设备。

通过上述技术方案,将非开源组件的数据信息与预设的开源组件的数据信息进行对比,继而将非开源组件内的开源单元筛选出来,提升了漏洞检测的范围,从而提升了第三方库组件的漏洞检测效果;将筛选出来的开源单元与漏洞数据的关键信息进行比对,提升了开源单元内漏洞的检测精度。

可选的,在所述获取用户通过智能设备输入的第三方库组件的组件信息之前,包括:

获取预设的开源组件库内开源组件的特征信息与数据信息;

实时获取互联网上的第一信息,所述第一信息包括最新的开源组件的特征信息与数据信息;

根据获取到的所述第一信息对预设的开源组件库内的特征信息与数据信息进行更新。

通过上述技术方案,在获得第三方库组件的组件信息之前,首先先对预设的开源组件库内的坐标信息进行更新,继而将预设的开源组件库内的开源组件的坐标信息比对互联网上最新的开源组件的坐标信息,并将不同的坐标信息存入预设的开源组件库内,使得预设的开源组件库内的特征信息为互联网上的最新信息,提升了漏洞检测的精准程度。

可选的,在所述获取预设的漏洞库内的漏洞数据的关键信息之前,还包括:

从预设的账号信息数据库中随机选取账号信息;

实时利用账号信息在互联网上查询第二信息,所述第二信息包括开源组件的特征信息、开源组件的数据信息和漏洞数据的关键信息;

将单位时间内第二信息的传输量与预设的标准传输量进行比较;

当单位时间内第二信息的传输量小于预设的标准传输量时,再次从预设的账号信息数据库中随机选取账号信息,并对当前的账号信息进行替换。

通过上述技术方案,不同账号信息会采取不同的流量通道从而导致第二信息的获取速度不同;首先从预设的账号信息数据库内随机选取账号信息,通过账号信息去查询需要的第二信息,当单位时间内第二信息的传输量小于预设的标准传输量时,从预设的账号信息数据库内随机选取账号信息并替换当前的账号信息,通过更换账号信息的方式使得使得计算机的流量通道发生改变,使得计算机可以稳定的收集第二信息,提升了第二信息收集的稳定性。

可选的,在所述将第一信息内的特征信息与数据信息存入预设的开源组件库内之后,包括:

获取预设的开源组件库内的数据信息;

将预设的开源组件库内的数据信息储存至预设的备份库内;

将所述备份库内的数据信息与所述开源组件库内的数据信息进行比对;

若所述备份库内的数据信息与所述开源组件库内的数据信息不同,则将所述备份库内的数据信息替换成所述开源组件库内的数据信息。

通过上述技术方案,将开源组件库的数据信息同步存储到备份库内,之后将储存在备份库内的数据信息与开源组件库内的数据信息进行比对,若不同则将开源组件库内的数据信息重新存储到备份库内,备份库的设置减少了开源数据库内的数据信息由于网络波动或断电等不可抗因素导致数据信息损坏或丢失的可能,使得系统开源稳定的从开源组件库内获取数据信息。

可选的,在所述获取预设的漏洞库内的漏洞数据的关键信息之前,还包括:

获取第三方库组件的组件信息,所述组件信息还包括与swift语言组件相对应的身份信息,所述身份信息用于识别第三方库组件中的swift语言组件;

当检测到所述身份信息时,根据身份信息查询与swift语言组件相对应的地址信息;

根据所述地址信息查询与所述swift语言组件相对应的预设的标准名称信息;

将查询到的所述地址信息替换成查询到的标准名称信息。

通过上述技术方案,当识别到第三方组件库内的组件是swift语言组件时,通过将原swift语言组件的地址信息直接替换成常规的标准名称信息的方式,使得在检测漏洞的过程中,无需查询地址信息后再通过其他方式转换成标准名称信息,提升了针对swift语言组件的漏洞检测效率,提升了系统针对swift语言组件的处理效率。

第二方面,本申请提供一种漏洞风险分析装置,采用如下技术方案:所述装置包括:

组件信息接收模块,用于获取用户通过智能设备输入的第三方库组件的组件信息,所述组件信息包括与开源组件相对应的特征信息,所述特征信息用于识别第三方库组件内的开源组件;

信息比对模块,用于将所述开源组件的特征信息与预设的非法特征信息进行比对,若所述开源组件的特征信息与预设的非法特征信息之间存在相同的特征信息,则提取出所述相同的特征信息;

信息发送模块,用于将提取出的相同的所述特征信息发送至所述智能设备。

通过上述技术方案,获取第三方库组件的组件信息之后,首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后根据开源组件自身相对应的身份信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了第三方组件库的比对效率。

第三方面,本申请提供一种计算机设备,采用如下技术方案:包括储存器和处理器,所述储存器上储存有能够被处理器加载并执行如上述任一种第三方库组件漏洞分析方法的计算机程序。

通过上述技术方案,获取第三方库组件的组件信息之后,首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后根据开源组件自身相对应的身份信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了第三方组件库的比对效率。

第四方面,本申请提供一种计算机可读存储介质,采用如下技术方案:存储有能够被处理器加载并执行上述任一种第三方库组件漏洞分析方法的计算机程序。

通过上述技术方案,获取第三方库组件的组件信息之后,首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后根据开源组件自身相对应的身份信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了第三方组件库的比对效率。

综上所述,本申请包括以下至少一种有益技术效果:

1.首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后将开源组件自带的特征信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了开源组件的比对效率;

2.将非开源组件的数据信息与预设的开源组件的数据信息进行对比,将非开源组件内的开源单元筛选出来,提升了漏洞检测的范围,从而提升了漏洞的检测效果;将筛选出来的开源单元与漏洞数据的关键信息进行比对,提升了开源单元的漏洞的检测精度。

附图说明

图1是本申请实施例中漏洞风险分析方法的流程图。

图2是本申请实施例中体现预设库更新的流程图。

图3是本申请实施例中漏洞风险分析装置的结构框图。

附图标记:201、组件信息接收模块;202、信息对比模块;203、信息发送模块。

具体实施方式

以下结合附图1-3对本申请作进一步详细说明。

本申请实施例公开一种漏洞风险分析的方法,该方法可以应用于如topscanner的网络漏洞检测系统中,执行主体可以是网络漏洞检测系统中的计算机设备。网络漏洞检测系统中可以存在大量的计算机设备,每台计算机设备用于对其接收到的数据信息进行比对和储存。具体来说,工作人员首先将第三方库组件的组件信息发送至计算机设备上,计算机首先通过与预设的非法坐标信息进行比对,进行初步的漏洞风险分析,再通过与收集的漏洞数据进行比对的方式,对上传至计算机的第三方库组件的组件信息进行漏洞风险分析。网络漏洞检测系统可以用于对计算机上传的漏洞分析结果进行集中管理,本实施例中主要用于汇总各个计算机设备上传的漏洞分析结果,并将分析结果储存在检测库中,在接收到用户发出的漏洞分析结果请求后,网络漏洞检测系统将处理后的结果发送至发出请求的用户的计算机设备上。

如图1所示,该方法包括以下步骤:

S10,获取用户通过智能设备输入第三方库组件的组件信息。

具体来说,用户可以通过手机或电脑等智能设备将第三方库组件的组件信息输入到系统内;第三方库组件的组件信息至少包括用于识别开源组件身份的坐标信息与组件信息相对应的数据信息。

S11,将第三方库组件分为开源组件与非开源组件。

具体来说,开源组件内含有用于从第三方库组件中识别出开源组件的坐标信息,系统根据开源组件的坐标信息从第三方库组件中筛选出开源组件,第三方库组件剩余的组件统称为非开源组件。

S12,获取预设的漏洞库内的特征信息。

在实施例中,预设的漏洞库内至少包括漏洞数据的代码信息、含有漏洞数据的开源组件的特征信息和数据信息;漏洞库的更新可以视漏洞网站的更新频率而定,如可以是一天,也可以是检测前实时更新等。

S13,将筛选出的开源组件的身份信息与预设的漏洞库内开源组件的特征信息进行比对。

在实施例中,若筛选出的开源组件的身份信息与漏洞库内开源组件的特征信息不同,则将筛选出的开源组件储存到预设的等待库中;若筛选出的开源组件的身份信息与预设的漏洞库内开源组件的特征信息相同,则发送筛选出的开源组件的身份信息至工作人员的手机、电脑等智能设备。首先将第三方库组件分类成开源组件与非开源组件,对开源组件进行初步检测,通过已公开的含有漏洞数据的开源组件的身份信息快速对开源组件进行检测,提升了对开源组件的检测效率,从而提升了对第三方库组件的检测效率。

S14,获取非开源组件的数据信息。

S15,获取预设的开源组件库内开源组件的数据信息。

S16,比对非开源组件的数据信息与预设的开源组件库内开源组件的数据信息。

具体来说,若非开源组件的数据信息与预设的开源组件库内开源组件的数据信息相同,则将相同部分的非开源组件的数据信息储存到预设的等待库内;若非开源组件的数据信息与预设的开源组件库内开源组件的数据信息不同,则将非开源组件的数据信息储存至预设的自研组件库内。对非开源组件进行进一步筛选,将非开源组件的开源单元与初步检测无问题的开源组件都储存到等待库中,筛选非开源组件中的开源单元提升了对非开源组件的检测手段,扩大了第三方库组件的检测范围,从而提升了第三方库组件的检测精度。

S17,获取漏洞库内漏洞数据的关键信息。

具体来说,关键信息包括用于识别漏洞数据的代码信息。

S18,将漏洞库内漏洞数据的关键信息与等待库内的数据信息进行比对。

若漏洞库内漏洞数据的关键信息与等待库内的数据信息相同,则提取相同部分的代码数据并将提取的代码数据发送至工作人员的智能设备;若上述信息不同,则判定该数据无漏洞,并发送相关的提示信息至工作人员的智能设备。例如“该数据无漏洞”;通过比对漏洞数据的关键信息的方式,提升了对第三方库组件检测的精准程度。

具体的,组件信息包括与swift语言组件相对应的第三信息,第三信息用于识别swift语言组件。

当检测到与swift语言组件相对应的第三信息时,根据第三信息查询与swift语言组件相对应的地址信息,地址信息为指示swift身份信息的链接地址信息;根据链接地址信息可以查询到与swift语言组件相对应的标准名称信息,将标准名称信息替换地址信息。通过将原swift语言组件的地址信息直接替换成标准名称信息的方式,提升了针对swift语言组件的漏洞检测效率,从而扩大了计算机针对第三方检测组件的检测范围,从而提升了第三方库组件的检测精度。

如图2所示,所述漏洞风险分析方法还包括:

S20,获取预设的开源组件库与预设的漏洞库内的信息。

具体来说,开源组件库内的信息包括与开源组件相对应的特征信息与数据信息;漏洞库内的信息包括有漏洞数据、含有漏洞数据的开源组件的特征信息与数据信息。

S21,获取互联网上漏洞库与开源组件库的信息。

具体来说,互联网上开源组件库内的信息包括第一信息,第一信息包括开源组件的特征信息与数据信息;互联网上漏洞库内的信息包括第二信息,第二信息包括漏洞信息,漏洞信息包括有与漏洞信息相对应的关键信息,还包括与包含漏洞信息的开源组件相对应的特征信息与数据信息。

S22,比对互联网上开源组件库的信息与预设的开源组件库的信息。

若上述信息相同,则不做变动;若上述信息不同,则将不同部分的信息储存到预设的开源组件库内。计算机可以定期通过爬虫软件获取开源组件的特征信息与数据信息,此处互联网上开源组件库的获取周期可以视开源网站的更新频率而定,如可以是一天,也可以是检测前实时更新等。通过实时更新开源组件库的方式,使得开源组件库内开源组件的特征信息与数据信息为最新的,增加了开源组件库的范围,从而增大了第三方库组件的范围,提升了第三方库组件的漏洞分析的精准程度。

特别的,S21与S22可以同步执行,也可以先后执行。

S23,比对互联网上漏洞库的信息与预设的漏洞库内的信息。

具体来说,若互联网上漏洞库的信息与预设的漏洞库内的信息相同,则不做变动;若互联网上漏洞库的信息与预设的漏洞库内的信息不同,则将互联网上漏洞库内的信息储存到预设的漏洞库内。计算机可以定期通过爬虫软件获取漏洞数据的关键信息,此处互联网上漏洞库的获取周期可以视漏洞网站的更新频率而定,如可以是一天,也可以是检测前实时更新等。通过实时更新漏洞库的方式,使得漏洞库内漏洞数据的关键信息为最新的,增加了漏洞库的范围,从而增大了第三方库组件的范围,提升了第三方库组件的漏洞分析的精准程度。

S24,更新账号信息。

具体来说,由于不同的账号信息会采取不同的流量通道从而导致第二信息的获取速度不同,从预设的账号信息在互联网上查询第二信息的过程中,对单位时间内第二信息的传输量与预设的标准传输量进行比对,当单位时间内第二信息的传输量小于预设的标准传输量时,从预设的账号信息数据库中随机选取账号信息,并对当前的账号信息进行替换,用以改变流量通道,使得计算机能够稳定的获取第二信息,使得预设的开源组件库内的数据保持在最新状态,扩大了预设的开源组件库的范围,从而提升了第三方库组件漏洞检测的精准程度。

具体的,替换下的账号信息储存到预设的冷却库内,冷却预设的时间后将冷却库内的账号信息储存到预设的账号信息数据库内,预设时间由预设的账号信息数据库内的账号信息数量决定,当预设的账号信息数据库内的账号信息数量小于预设的数量,将冷却库内的账号信息储存到预设的账号信息数据库内。通过更换账号信息的方式,提升了第二信息获取的平均速度,减少了第二信息的收集时间。

本申请实施例的实施原理为:获取第三方库组件的组件信息之后,首先通过与开源组件相对应的坐标信息,将第三方库组件分为开源组件与非开源组件,之后根据开源组件自身相对应的身份信息与非法坐标信息进行比较,若相同,则直接将开源组件判定为含有漏洞,减少了比对开源组件的数据信息的时间,提升了第三方组件库的比对效率,使得系统能够更快的查找出第三方库组件内的漏洞,从而提升了第三方库组件的安全性能。

基于上述方法,本申请实施例还公开一种漏洞风险分析装置。

如图3所示,该装置包括以下模块:

组件信息接收模块201,用于获取用户通过智能设备输入的第三方库组件的组件信息,组件信息包括与开源组件相对应的特征信息,特征信息用于识别第三方库组件内的开源组件;

信息比对模块202,用于将开源组件的特征信息与预设的非法特征信息进行比对,若开源组件的特征信息与预设的非法特征信息之间存在相同的特征信息,则提取出相同的特征信息;

信息发送模块203,用于将提取出的相同的特征信息发送至智能设备。

本申请实施例还公开一种计算机设备。

具体来说,该计算机设备包括存储器和处理器,存储器上存储有能够被处理器加载并执行上述漏洞风险分析方法的计算机程序。

本申请实施例还公开一种计算机可读存储介质。

具体来说,该计算机可读存储介质,其存储有能够被处理器加载并执行如上述漏洞风险分析方法的计算机程序,该计算机可读存储介质例如包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random-Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本具体实施例仅仅是对本发明的解释,其并不是对本发明的限制,本领域技术人员在阅读完本说明书后可以根据需要对本实施例做出没有创造性贡献的修改,但只要在本发明的权利要求范围内都受到专利法的保护。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号