自动化漏洞验证方法及相关设备与流程

文档序号:31330441发布日期:2022-08-31 06:52阅读:48来源:国知局
自动化漏洞验证方法及相关设备与流程

1.本技术涉及网络安全技术领域,尤其涉及一种自动化漏洞验证方法及相关设备。


背景技术:

2.针对于信息安全漏洞,当前有开源组件检测工具,它基于源代码检测的方式,可以判断出应用系统是否使用了漏洞组件版本,如判断出应用系统使用了分布式服务框架dubbo 2.6.8版本,如此版本在漏洞影响范围内则认为此组件版本为漏洞组件,但没有后续的验证流程,比如分布式服务框架dubbo 2.6.8虽然在漏洞影响范围内,但是针对此组件没有使用hessian协议的应用系统是不受此漏洞影响的。
3.基于上述情况,现有技术无法判断是否存在漏洞,如果根据组件漏洞库判断为应用系统使用了漏洞组件导致判断不准确,缺少进一步的验证测试。


技术实现要素:

4.有鉴于此,本技术的目的在于提出一种自动化漏洞验证方法及相关设备,用以解决上述技术问题。
5.基于上述目的,本技术的第一方面提供了一种自动化漏洞验证方法,应用于自动化漏洞验证系统,所述自动化漏洞验证系统包括应用系统和应用系统的镜像系统;
6.所述方法包括:
7.对所述应用系统进行检测,得到台账信息,并根据所述台账信息得到待验证信息列表;
8.基于所述待验证信息列表和所述应用系统的镜像系统进行验证,得到所述应用系统的漏洞验证结果信息,并根据所述漏洞验证结果信息对所述台账信息进行更新。
9.本技术的第二方面提供了一种自动化漏洞验证系统,自动化漏洞验证系统包括应用系统和应用系统的镜像系统;
10.漏洞检测模块,被配置为对所述应用系统进行检测,得到台账信息,并根据所述台账信息得到待验证信息列表;
11.漏洞验证模块,被配置为基于所述待验证信息列表和所述应用系统的镜像系统进行验证,得到所述应用系统的漏洞验证结果信息,并根据所述漏洞验证结果信息对所述台账信息进行更新。
12.本技术的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
13.本技术的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行第一方面所述方法。
14.从上面所述可以看出,本技术提供的自动化漏洞验证方法及相关设备,通过对应用系统进行检测,得到台账信息,并根据台账信息得到待验证信息列表,初步筛选出可能受
漏洞影响的系统范围,再通过基于待验证信息列表和应用系统的镜像系统进行验证,得到应用系统的漏洞验证结果信息,进行后续进一步的验证,能够准确判断应用系统使用的漏洞组件版本是否受漏洞影响,通过对已有的台账信息中的可能受漏洞影响的应用系统进行定向验证提升了验证效率,再根据漏洞验证结果信息对台账信息进行更新,进一步确保了应用系统的安全资产信息的准确性。
附图说明
15.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本技术实施例的自动化漏洞验证方法的流程图;
17.图2为本技术实施例的漏洞库信息的示意图;
18.图3为本技术实施例的自动化漏洞验证系统的示意图;
19.图4为本技术实施例的自动化漏洞验证方法的示意图;
20.图5为本技术实施例的自动化漏洞验证系统的结构示意图;
21.图6为本技术实施例的电子设备的示意图。
具体实施方式
22.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
23.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
24.相关技术中一般采用开源组件漏洞检测工具,以基于源代码的方式进行检测,例如针对一个应用系统的代码仓库发起开源组件检测,通过应用系统的源代码检测与自身维护的漏洞库进行对比,得到应用系统使用的组件是否在漏洞影响范围内,当应用系统使用的组件版本在漏洞影响范围内则认为此组件版本为漏洞组件,如果在漏洞影响范围内,但不受漏洞影响,没有后续的验证流程,这样的检测判断是不准确的。
25.本技术的实施例提供一种自动化漏洞验证方法,通过根据应用系统中代码仓库的源代码和自动化漏洞验证系统预先设置的漏洞库信息进行对比检测,得到台账信息,并根据组件等级信息将属于超危信息和高危信息对应的组件等级信息的台账信息进行筛选整合,得到待验证信息列表,初步筛选出可能受漏洞影响的系统范围,再基于待验证信息列表构建验证脚本信息,基于应用系统的镜像系统通过验证脚本信息进行验证,得到应用系统
的漏洞验证结果信息,实现后续进一步的验证,同时通过对已有的台账信息中的可能受漏洞影响的应用系统进行定向验证提升了验证效率,能够准确判断应用系统使用的漏洞组件版本是否受漏洞影响,再根据漏洞验证结果信息对台账信息进行更新,进一步确保了应用系统的安全资产信息的准确性。
26.如图1所示,本实施例的方法应用于自动化漏洞验证系统,所述自动化漏洞验证系统包括应用系统和应用系统的镜像系统;
27.所述方法包括:
28.步骤101,对所述应用系统进行检测,得到台账信息,并根据所述台账信息得到待验证信息列表。
29.在该步骤中,通过开源组件检测工具对应用系统进行检测得到台账信息,并根据台账信息得到待验证信息列表,初步筛选出可能受漏洞影响的系统范围。
30.例如应用系统包括a系统、b系统,a系统使用了组件a1.1.1、组件b1.1.1、组件log4j2.14.0、组件d1.1.1,b系统使用了组件a2.2.2、组件b2.2.2、组件c2.2.2、组件d2.2.2,此时生成的台账信息如表1所示:
31.表1台账信息
[0032][0033]
步骤102,基于所述待验证信息列表和所述应用系统的镜像系统进行验证,得到所述应用系统的漏洞验证结果信息,并根据所述漏洞验证结果信息对所述台账信息进行更新。
[0034]
在该步骤中,待验证信息列表为使用了漏洞影响范围内的组件版本的列表,通过待验证信息列表确定待验证的应用系统,逐一启动待验证的应用系统的镜像系统,生成验证环境,通过漏洞验证规则模块对待验证的应用系统进行验证,得到应用系统的漏洞验证结果信息,漏洞验证结果信息为待验证的应用系统是否受漏洞影响的结论,能够准确判断应用系统使用的漏洞组件版本是否受漏洞影响,并根据漏洞验证结果信息对台账信息进行更新,进一步确保了应用系统的安全资产信息的准确性,此外,通过对已有的台账信息中的可能受漏洞影响的应用系统进行定向验证提升了验证效率。
[0035]
通过上述方案,通过开源组件检测工具对应用系统进行检测得到台账信息,并根据台账信息得到待验证信息列表,初步筛选出可能受漏洞影响的系统范围,基于待验证信息列表和应用系统的镜像系统进行验证,得到应用系统的漏洞验证结果信息,通过待验证信息列表确定待验证的应用系统,逐一启动待验证的应用系统的镜像系统,生成验证环境,
通过漏洞验证规则模块对待验证的应用系统进行验证,得到应用系统的漏洞验证结果信息,漏洞验证结果信息为待验证的应用系统是否受漏洞影响的结论,能够准确判断应用系统使用的漏洞组件版本是否受漏洞影响,并根据漏洞验证结果信息对台账信息进行更新,进一步确保了应用系统的安全资产信息的准确性,此外,通过对已有的台账信息中的可能受漏洞影响的应用系统进行定向验证提升了验证效率。
[0036]
在一些实施例中,所述应用系统包括代码仓库;
[0037]
步骤101中,对所述应用系统进行检测,得到台账信息,包括:
[0038]
根据所述应用系统中所述代码仓库的源代码和所述自动化漏洞验证系统预先设置的漏洞库信息进行对比检测,得到所述台账信息。
[0039]
在上述方案中,开源组件漏洞检测工具通过源代码检测方式进行,例如,针对一个应用系统的代码仓库发起开源组件检测,当前的开源组件的引用都是在应用系统的有一个统一的地方标准化的引入到项目中,如当前主流的maven项目,开源组件的引用通过pom文件(project object model)的方式引用,通过源代码检测与自身维护的漏洞库信息对比,其中,漏洞库信息如图2所示,得到应用系统中引用的组件版本是否有漏洞,得到台账信息。
[0040]
在一些实施例中,所述台账信息包括下列至少之一:
[0041]
组件名称信息、组件版本信息、组件等级信息、代码仓信息、产品标识信息、推荐使用版本信息和漏洞分布信息。
[0042]
在上述方案中,通过台账信息中的组件名称信息、组件版本信息、组件等级信息、代码仓信息、产品标识信息、推荐使用版本信息和漏洞分布信息,能够清晰确定可能受漏洞影响的应用系统,使得可以通过台账信息筛选出可能受漏洞影响的应用系统的范围。
[0043]
在一些实施例中,所述组件等级信息包括危险信息和无漏洞信息,其中,所述危险信息包括超危信息、高危信息、中危信息和低危信息;
[0044]
步骤101中,所述根据所述台账信息得到待验证信息列表,包括:
[0045]
根据所述组件等级信息将属于所述超危信息、所述高危信息、所述中危信息和所述低危信息对应的组件等级信息的台账信息进行筛选整合,得到所述待验证信息列表。
[0046]
在上述方案中,待验证信息列表如表2所示,根据组件等级信息将属于超危信息和高危信息对应的组件等级信息的台账信息进行筛选整合,得到待验证信息列表,通过已有的台账信息判断出对可能受漏洞影响的应用系统定向进行验证提升了验证效率。
[0047]
表2待验证信息列表
[0048][0049]
在一些实施例中,步骤102中,所述基于所述待验证信息列表和所述应用系统的镜像系统进行验证,得到所述应用系统的漏洞验证结果信息,包括:
[0050]
步骤a1,基于所述待验证信息列表构建验证脚本信息.
[0051]
步骤a2,基于所述应用系统的镜像系统通过所述验证脚本信息进行验证,得到所述应用系统的所述漏洞验证结果信息。
[0052]
在上述方案中,根据验证信息列表构造成一个可执行的验证脚本信息,上传到自动化漏洞验证系统的漏洞验证规则模块,自动化漏洞验证系统中存放好中所有应用系统的镜像,逐一完成验证信息列表中的应用系统的镜像系统的启动,生成验证环境,通过漏洞验证规则模块中已经构造好的验证脚本执行,最终形成应用系统是否受此漏洞影响的结论(即漏洞验证结果信息)。
[0053]
在一些实施例中,所述漏洞验证结果信息包括受漏洞影响和不受漏洞影响;
[0054]
步骤102中,所述根据所述漏洞验证结果信息对所述台账信息进行更新,包括:
[0055]
响应于确定所述漏洞验证结果信息为不受漏洞影响,将所述台账信息中的所述漏洞分布信息调整为不受漏洞影响。
[0056]
在上述方案中,例如应用系统a、应用系统d、应用系统e通过验证后,只有应用系统a的漏洞验证结果信息为受漏洞影响,那么应用系统d、用系统e系统就可以将漏洞分布列调整为不受漏洞影响,在此漏洞整改过程中也不需要整改,进一步确保了应用系统的安全资产信息的准确性。
[0057]
在一些实施例中,所述待验证信息列表包括漏洞分布信息;
[0058]
步骤a1,包括:
[0059]
根据所述待验证信息列表的所述漏洞分布信息获取漏洞特性信息;
[0060]
基于全部漏洞特性信息构建所述验证脚本信息。
[0061]
在上述方案中,根据待验证信息列表中的漏洞分布信息,获取关于漏洞分布信息的全部漏洞特性信息,将全部漏洞特性信息构造成可执行的验证脚本信息,上传到自动化漏洞验证系统的漏洞验证规则模块。
[0062]
在一些实施例中,例如自动化漏洞验证系统如图3所示,应用系统包括项目管理系统、资产管理系统、角色设置系统、权限管理系统、数据报表系统和测试管理系统,检测引擎通过开源组件进行,如图4所示,检测人员向检测引擎发起开源检测指令,通过开源组件对应用系统进行检测,得到开源组件台账(即台账信息)。
[0063]
通过开源组件台账进行判断,判断开源组件台账中是否包含漏洞影响组件范围版本内的组件,若判断结果为否,结束自动化漏洞验证任务,若判断结果为是,表示存在漏洞影响组件范围版本内的组件。
[0064]
根据开源组件台账中的组件等级信息将属于超危信息和高危信息对应的组件等级信息的开源组件台账进行筛选整合,得到待验证信息列表。
[0065]
从信息系统镜像仓库中调取存放在自动化漏洞验证系统中的全部应用系统的镜像系统,根据待验证列表中的应用系统启动对应待验证系统的镜像系统,作为验证环境,并执行验证环境。
[0066]
根据待验证信息列表中的漏洞分布信息,获取关于漏洞分布信息的全部漏洞特性信息,将全部漏洞特性信息构造成可执行的验证脚本信息,上传到自动化漏洞验证系统的漏洞验证规则模块。
[0067]
基于漏洞验证规则模块和验证环境对待验证列表中的应用系统进行验证,得到是否受漏洞影响的信息(即漏洞验证结果信息),若判断结果为否,表示对应的应用系统不受漏洞影响,补充台账信息即对开源组件台账进行更新,将漏洞分布列调整为不受漏洞影响。若判断结果为是,结束自动化漏洞验证任务。
[0068]
需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0069]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0070]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种自动化漏洞验证系统。
[0071]
参考图5,所述自动化漏洞验证系统,包括应用系统和应用系统的镜像系统;
[0072]
漏洞检测模块501,被配置为对所述应用系统进行检测,得到台账信息,并根据所述台账信息得到待验证信息列表;
[0073]
漏洞验证模块502,被配置为基于所述待验证信息列表和所述应用系统的镜像系统进行验证,得到所述应用系统的漏洞验证结果信息,并根据所述漏洞验证结果信息对所述台账信息进行更新。
[0074]
在一些实施例中,所述应用系统包括代码仓库;
[0075]
漏洞检测模块501,具体被配置为:
[0076]
根据所述应用系统中所述代码仓库的源代码和所述自动化漏洞验证系统预先设置的漏洞库信息进行对比检测,得到所述台账信息。
[0077]
在一些实施例中,所述台账信息包括下列至少之一:
[0078]
组件名称信息、组件版本信息、组件等级信息、代码仓信息、产品标识信息、推荐使用版本信息和漏洞分布信息。
[0079]
在一些实施例中,所述组件等级信息包括危险信息和无漏洞信息,其中,所述危险信息包括超危信息、高危信息、中危信息和低危信息;
[0080]
漏洞检测模块501,具体被配置为:
[0081]
根据所述组件等级信息将属于所述超危信息、所述高危信息、所述中危信息和所述低危信息对应的组件等级信息的台账信息进行筛选整合,得到所述待验证信息列表。
[0082]
在一些实施例中,漏洞验证模块502,包括:
[0083]
验证脚本信息构建单元,被配置为基于所述待验证信息列表构建验证脚本信息;
[0084]
验证单元,被配置为基于所述应用系统的镜像系统通过所述验证脚本信息进行验证,得到所述应用系统的所述漏洞验证结果信息。
[0085]
在一些实施例中,所述漏洞验证结果信息包括受漏洞影响和不受漏洞影响;
[0086]
漏洞验证模块502,具体被配置为:
[0087]
响应于确定所述漏洞验证结果信息为不受漏洞影响,将所述台账信息中的所述漏洞分布信息调整为不受漏洞影响。
[0088]
在一些实施例中,所述待验证信息列表包括漏洞分布信息;
[0089]
验证脚本信息构建单元,具体被配置为:
[0090]
根据所述待验证信息列表的所述漏洞分布信息获取漏洞特性信息;
[0091]
基于全部漏洞特性信息构建所述验证脚本信息。
[0092]
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本技术时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
[0093]
上述实施例的装置用于实现前述任一实施例中相应的自动化漏洞验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0094]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的自动化漏洞验证方法。
[0095]
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器601、存储器602、输入/输出接口603、通信接口604和总线605。其中处理器601、存储器602、输入/输出接口603和通信接口604通过总线605实现彼此之间在设备内部的通信连接。
[0096]
处理器601可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0097]
存储器602可以采用rom(read only memory,只读存储器)、ram(randomaccess memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器602可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器602中,并由处理器601来调用执行。
[0098]
输入/输出接口603用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0099]
通信接口604用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0100]
总线605包括一通路,在设备的各个组件(例如处理器601、存储器602、输入/输出接口603和通信接口604)之间传输信息。
[0101]
需要说明的是,尽管上述设备仅示出了处理器601、存储器602、输入/输出接口603、通信接口604以及总线605,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0102]
上述实施例的电子设备用于实现前述任一实施例中相应的自动化漏洞验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0103]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的自动化漏洞验证方法。
[0104]
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以
由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0105]
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的自动化漏洞验证方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0106]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0107]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0108]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0109]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1