CN116738439A - 漏洞修复方法、装置、设备及存储介质 - Google Patents
漏洞修复方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116738439A CN116738439A CN202310708738.2A CN202310708738A CN116738439A CN 116738439 A CN116738439 A CN 116738439A CN 202310708738 A CN202310708738 A CN 202310708738A CN 116738439 A CN116738439 A CN 116738439A
- Authority
- CN
- China
- Prior art keywords
- target
- information
- software
- vulnerability
- open source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000008439 repair process Effects 0.000 claims abstract description 82
- 230000004044 response Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012806 monitoring device Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005067 remediation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种漏洞修复方法、装置、设备及存储介质,可用于网络安全领域或其他领域。该方法包括:确定待检测的第一漏洞;根据第一漏洞的标识,确定目标开源软件的目标软件信息,目标开源软件中存在第一漏洞;根据目标软件信息,确定目标业务系统的目标系统信息,目标业务系统调用目标开源软件;根据目标软件信息和目标系统信息,生成漏洞修复任务,漏洞修复任务包括第一漏洞的漏洞信息、目标软件信息和目标系统信息;根据漏洞修复任务更新目标开源软件,以及更新目标业务系统对目标开源软件的调用信息。本申请的方法,提高了漏洞修复效率。
Description
技术领域
本申请实施例涉及网络安全领域或其他领域,尤其涉及一种漏洞修复方法、装置、设备及存储介质。
背景技术
业务系统在进行业务处理的过程中,业务系统可以调用开源软件,以使业务系统具备开源软件的功能。
开源软件中可能会存在漏洞,在业务系统调用开源软件的过程中,该漏洞可能会影响业务系统的安全性。在相关技术中,为了降低开源软件中的漏洞对业务系统的安全性带来的影响,通常由人工去排查开源软件中漏洞,在人工排查到开源软件中存在漏洞时,人工对该漏洞进行修复。然而,人工排查漏洞及修复漏洞的过程需要消耗较多时间,导致漏洞修复的效率较低。
发明内容
本申请实施例提供一种漏洞修复方法、装置、设备及存储介质,用以解决漏洞修复效率低下问题。
第一方面,本申请提供一种漏洞修复方法,包括:
确定待检测的第一漏洞;
根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,所述目标开源软件中存在所述第一漏洞;
根据所述目标软件信息,确定目标业务系统的目标系统信息,所述目标业务系统调用所述目标开源软件;
根据所述目标软件信息和所述目标系统信息,生成漏洞修复任务,所述漏洞修复任务包括所述第一漏洞的漏洞信息、所述目标软件信息和所述目标系统信息;
根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息。
一种可能的实现方式中,根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息,包括:
向版本库发送所述漏洞修复任务,所述漏洞修复任务用于指示所述版本库更新所述目标开源软件和所述调用信息;
将所述漏洞修复任务的任务状态切换为修复中状态,直至接收到所述版本库发送的修复成功响应时,将所述漏洞修复任务的任务状态切换为修复完成状态;
所述版本库用于漏洞修复以及接收发送所述漏洞修复任务。
一种可能的实现方式中,所述漏洞修复任务中还包括修复起始时刻;
将所述漏洞修复任务的任务状态切换为修复中状态,包括:
在所述修复起始时刻,将所述漏洞修复任务的任务状态切换为所述修复中状态。
一种可能的实现方式中,所述漏洞修复任务中还包括修复结束时刻,所述方法还包括:
若在所述修复结束时刻之前,未接收到所述修复成功响应,则确定所述第一漏洞对应的监督设备;
生成所述第一漏洞对应的修复提示信息;
向所述监督设备发送所述提示信息。
一种可能的实现方式中,根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,包括:
获取第一对应关系,所述第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息;
根据所述第一漏洞的标识和所述第一对应关系,确定所述目标软件信息。
一种可能的实现方式中,根据所述漏洞修复任务更新所述目标开源软件之后,还包括:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
判断更新后的目标开源软件中是否存在更新漏洞,若是,则根据所述更新漏洞和所述最新软件信息,更新所述第一对应关系。
一种可能的实现方式中,根据所述目标软件信息,确定目标业务系统的目标系统信息,包括:
获取第二对应关系,所述第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息;
根据所述目标软件信息和所述第二对应关系,确定所述目标系统信息。
一种可能的实现方式中,根据所述漏洞修复任务更新所述目标开源软件之后,还包括:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
将所述第二对应关系中的所述目标开源软件的软件信息更新为所述最新软件信息。
第二方面,本申请提供一种漏洞修复装置,包括第一确定模块、第二确定模块、第三确定模块、生成模块和更新模块,其中:
所述第一确定模块用于,确定待检测的第一漏洞;
所述第二确定模块用于,根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,所述目标开源软件中存在所述第一漏洞;
所述第三确定模块用于,根据所述目标软件信息,确定目标业务系统的目标系统信息,所述目标业务系统调用所述目标开源软件;
所述生成模块用于,根据所述目标软件信息和所述目标系统信息,生成漏洞修复任务,所述漏洞修复任务包括所述第一漏洞的漏洞信息、所述目标软件信息和所述目标系统信息;
所述更新模块用于,根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息。
一种可能的实现方式中,所述更新模块具体用于:
向版本库发送所述漏洞修复任务,所述漏洞修复任务用于指示所述版本库更新所述目标开源软件和所述调用信息。
将所述漏洞修复任务的任务状态切换为修复中状态,直至接收到所述版本库发送的修复成功响应时,将所述漏洞修复任务的任务状态切换为修复完成状态;
所述版本库用于漏洞修复以及接收发送所述漏洞修复任务。
一种可能的实现方式中,所述漏洞修复任务中还包括修复起始时刻;所述更新模块具体用于:在所述修复起始时刻,将所述漏洞修复任务的任务状态切换为所述修复中状态。
一种可能的实现方式中,所述漏洞修复任务中还包括修复结束时刻,所述装置还包括提示模块,其中,所述提示模块用于:
若在所述修复结束时刻之前,未接收到所述修复成功响应,则确定所述第一漏洞对应的监督设备;
生成所述第一漏洞对应的修复提示信息;
向所述监督设备发送所述提示信息。
一种可能的实现方式中,所述第二确定模块具体用于:
获取第一对应关系,所述第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息;
根据所述第一漏洞的标识和所述第一对应关系,确定所述目标软件信息。
一种可能的实现方式中,在所述更新模块根据所述漏洞修复任务更新所述目标开源软件之后,所述更新模块还用于:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
判断更新后的目标开源软件中是否存在更新漏洞,若是,则根据所述更新漏洞和所述最新软件信息,更新所述第一对应关系。
一种可能的实现方式中,所述第三确定模块具体用于:
获取第二对应关系,所述第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息;
根据所述目标软件信息和所述第二对应关系,确定所述目标系统信息。
一种可能的实现方式中,所述更新模块根据所述漏洞修复任务更新所述目标开源软件之后,所述更新模块还用于:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
将所述第二对应关系中的所述目标开源软件的软件信息更新为所述最新软件信息。
第三方面,本申请提供一种漏洞修复设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现第一方面任一项所述的方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面任一项所述的方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被计算机执行时实现如第一方面中任一项所述的方法。
本申请实施例提供的漏洞修复方法、装置、设备及存储介质,通过确定检测的第一漏洞,进而确定漏洞的目标软件信息,通过目标软件信息,进而确定目标系统信息。通过目标软件信息和目标系统信息生成漏洞修复任务,根据漏洞修复任务更新目标业务系统的目标软件的调用信息。在上述方法中,无需人工排查漏洞,可自动化查找并修复漏洞,提高了漏洞修复效率。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的应用场景的示意图;
图2为本申请实施例提供的一种漏洞修复方法的流程示意图;
图3为本申请实施例提供的另一种漏洞修复方法的流程示意图;
图4为本申请实施例提供的一种漏洞修复方法示例图;
图5为本申请实施例提供的一种漏洞修复装置的结构示意图;
图6为本申请实施例提供的另一种漏洞修复装置的结构示意图;
图7为本申请提供的漏洞修复设备的硬件结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请涉及的漏洞修复方法、装置、设备及存储介质可用于网络安全领域,也可用于除网络安全领域之外的任意领域,本申请对应用领域不做限定。本申请实施例涉及的漏洞修复方法可以旨在提高漏洞修复效率。当然,本申请实施例描述的应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着新业务场景的出现,本申请实施例提供的技术方案对于类似的问题,同样适用。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
为了便于说明对本申请的理解,首先结合图1,对本申请所适用的场景进行说明。
图1为本申请实施例提供的应用场景的示意图。请参见图1,包括安全漏洞平台和版本库。版本库中包括多个业务系统和多个开源软件,业务系统中可以调用至少一个开源软件,每个开源软件中可能存在漏洞。安全漏洞平台可以对各个开源软件进行漏洞检测。
例如,请参见图1,业务系统1可以调用了开源软件A1.0、开源软件B1.1和开源软件C1.0,开源软件A1.0中存在漏洞1,开源软件B1.1中存在漏洞4,开源软件C1.0存在漏洞5,则漏洞1、漏洞4和漏洞5可能会对业务系统1的安全性造成影响。
在本申请中,针对任意一个漏洞,自动化查找具有该漏洞的开源软件,并查找调用该开源软件的业务系统。根据该漏洞对开源软件进行修复、以及更新业务系统对开源软件的调用信息,无需人工排查漏洞及修复漏洞,提高了漏洞修复效率。
本申请提供的漏洞修复的方法,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请实施例提供的一种漏洞修复方法的流程示意图。请参见图2,该方法可以包括:
S201、确定待检测的第一漏洞。
本申请实施例的执行主体可以为漏洞修复平台,也可以为漏洞修复平台中的漏洞修复装置。漏洞修复平台可以为终端设备、服务器等。例如,漏洞修复平台可以为图1实施例中的漏洞修复平台。
第一漏洞可以是开源软件中的漏洞。例如,第一漏洞可以为开源软件的编程错误或开源软件的逻辑错误等。
可以通过如下实现方式确定待检测的第一漏洞:获取漏洞列表和漏洞检测计划,根据漏洞列表和漏洞检测计划,确定第一漏洞。漏洞列表中可以包括多个漏洞的漏洞标识,漏洞列表可以为预先确定得到的。
当漏洞检测计划不同时,根据漏洞列表和漏洞检测计划确定第一漏洞的方式也不同,可以包括如下两种情况:
情况1:漏洞检测计划包括检测起始时刻和检测周期。
在该种情况下,可以周期性的对漏洞列表中的漏洞进行检测。针对任意一个检测周期,从该检测周期的起始时刻起,按照漏洞列表中的漏洞顺序,依次对漏洞列表中的漏洞进行检测。
可以确定漏洞列表中各漏洞的检测状态(已检测或者未检测),将漏洞列表中首个未检测的漏洞,确定为第一漏洞。
例如,假设漏洞列表中包括的漏洞标识和检测状态如表1所示:
表1
漏洞标识 | 检测状态 |
漏洞1 | 已检测 |
漏洞2 | 已检测 |
漏洞3 | 未检测 |
漏洞4 | 未检测 |
…… | …… |
请参见表1,由于漏洞3为漏洞列表中首个未检测的漏洞,则将漏洞3确定为第一漏洞。
情况2:漏洞检测计划包括各漏洞的检测时刻和漏洞标识。
从该种情况下,针对任意一个漏洞,在该漏洞对应的检测时刻对该漏洞进行检测。例如,假设漏洞检测计划如下述表2所示,则在2023年3月15日8:00,对漏洞1进行检测,在2023年4月15日8:00,对漏洞2进行检测。
可以根据当前时刻和漏洞检测计划中各漏洞的检测时刻,确定第一漏洞。例如,可以将漏洞检测计划中、检测时刻与当前时刻相同的漏洞确定为第一漏洞。
例如,假设漏洞检测计划如下述如表2所示:
表2
漏洞标识 | 检测时刻 |
漏洞1 | 2023年3月15日8:00 |
漏洞2 | 2023年4月15日8:00 |
漏洞3 | 2023年5月15日12:00 |
漏洞4 | 2023年5月20日8:00 |
…… | …… |
请参见表2,假设当前时刻为2023年5月15日8点,则可以将漏洞3确定为第一漏洞。
S202、根据第一漏洞的标识,确定目标开源软件的目标软件信息。
其中,目标开源软件中存在第一漏洞。
第一漏洞的标识可以唯一指示第一漏洞。例如,第一漏洞的标识可以是漏洞编号或者漏洞名称。
软件信息可以是软件相关信息。例如,软件相关信息可以包括如下至少一种:软件名称、软件版本号或软件编号。
可以通过如下可行的实现方式确定目标开源软件的目标软件信息:获取第一对应关系,根据第一漏洞的标识和第一对应关系,确定目标软件信息。
其中,第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息。例如,第一对应关系可以如表3所示:
表3
S203、根据目标软件信息,确定目标业务系统的目标系统信息。
其中,目标业务系统调用了目标开源软件。
系统信息可以是业务系统的相关信息。业务系统的相关信息可以包括业务系统的系统名称、系统编号等。
可以通过如下可行的实现方式确定目标业务系统的目标系统信息:获取第二对应关系,根据目标软件信息和第二对应关系,确定目标系统信息。
其中,第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息。
例如,第二对应关系可以如表4所示:
表4
S204、根据目标软件信息和目标系统信息,生成漏洞修复任务。
其中,漏洞修复任务包括第一漏洞的漏洞信息、目标软件信息和目标系统信息。
S205、根据漏洞修复任务更新目标开源软件。
在对目标开源软件进行更新后,目标开源软件的版本号发生更新。
目标开源软件存储在版本库中,可以请求版本库对目标开源软件中的第一漏洞进行修复,以更新目标开源软件。
S206、更新目标业务系统对目标开源软件的调用信息。
调用信息中包括目标业务系统所调用的开源软件的标识和版本号。在目标业务系统进行业务处理过程中,目标业务系统根据调用信息确定所需调用的开源软件。
更新后的调用信息可以包括目标开源软件的标识和更新后的目标开源软件的版本号。
例如,更新前的调用信息可以包括:开源软件1、版本1。假设开源软件的更新后的版本号为版本2,则更新后的调用信息包括:开源软件1、版本2。
本申请实施例提供的漏洞修复方法,确定第一漏洞后,自动化查找具有第一漏洞的开源软件,并查找调用该开源软件的业务系统。根据该漏洞对开源软件进行修复、以及更新业务系统对开源软件的调用信息,无需人工排查漏洞及修复漏洞,提高了漏洞修复效率。
在上述任意一个实施例的基础上,下面,结合图3实施例,对上述漏洞修复方法进行详细说明。
图3为本申请实施例提供的另一种漏洞修复方法的流程示意图。请参见图3,该方法可以包括:
S301、确定待检测的第一漏洞。
需要说明的是,S301的执行过程可以参见S201的执行过程,此处不再进行赘述。
S302、获取第一对应关系。
其中,第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息。
S303、根据第一漏洞的标识和第一对应关系,确定目标软件信息。
S304、获取第二对应关系。
其中,第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息。
S305、根据目标软件信息和第二对应关系,确定目标系统信息。
S306、根据目标软件信息和目标系统信息,生成漏洞修复任务。
其中,漏洞修复任务包括第一漏洞的漏洞信息、目标软件信息和目标系统信息。
S307、向版本库发送漏洞修复任务。
其中,漏洞修复任务用于指示版本库更新目标开源软件和调用信息。
向版本库发送漏洞修复任务之后,可以确定第一漏洞对应的监督设备,生成第一漏洞对应的修复提示信息,向监督设备发送修复提示信息。
监督设备可以是接收修复提示信息的设备。例如,监督设备可以是电脑终端、手机终端等。
修复提示信息可以是提示用户修复漏洞的信息。例如,修复提示信息的内容可以是“请尽快修复系统1中开源软件1中的漏洞2”或“请在2023年5月30日之前修复好系统1中开源软件1中的漏洞2”等。
S308、将漏洞修复任务的任务状态切换为修复中状态,直至接收到版本库发送的修复成功响应时,将漏洞修复任务的任务状态切换为修复完成状态。
其中,任务状态表示漏洞修复任务的执行状态。任务状态可以包括修复中状态、修复完成状态和未修复状态。
其中,漏洞修复任务可以包括修复起始时刻和修复结束时刻。修复起始时刻表示开始修复漏洞的时刻,例如,修复起始时刻可以为漏洞修复任务成功生成的时刻。漏洞结束时刻用于指示完成修复该漏洞的最晚时刻。
可选的,在修复结束时刻之前,未接收到修复成功响应,则确定第一漏洞对应的监督设备,生成第一漏洞对应的修复提示信息,向监督设备发送提示信息。例如,修复结束时刻为2023年5月12日12:00,在2023年5月11日12:00未接收到修复成功响应,则向第一漏洞的监督设备,发送“X系统中X开源软件中的漏洞X的修复截止时间为2023年5月11日12:00,请尽快修复”。
S309、确定目标开源软件的最新版本号。
其中,最新版本号为更新后的开源软件版本号。
目标开源软件更新后,目标开源软件的版本号发生更新。例如,开源软件A1.1更新为开源软件A1.2,那么更新后的开源软件A的最新版本号为1.2。
S310、根据最新版本号更新目标开源软件的软件信息,得到目标开源软件的最新软件信息。
可以将目标开源软件的软件信息中的版本号替换为最新版本号,以得到最新软件信息。
S311、根据更新漏洞和最新软件信息,更新第一对应关系。
可以判断更新后的目标开源软件中是否存在更新漏洞,若是,则根据更新漏洞和最新软件信息,更新第一对应关系。
可以通过如下方式更新第一对应关系:确定更新漏洞和最新软件信息之间的映射关系,并将该映射关系添加至第一对应关系中。
例如,假设更新前的第一对应关系如表5所示:
表5
假设目标开源软件为软件1,软件1的最新软件信息为软件1-V2,且更新后的软件1中存在漏洞3,则更新后的第一对应关系如表6所示:
表6
S312、将第二对应关系中的目标开源软件的软件信息更新为最新软件信息。
软件信息中可以包括软件标识(软件名称或者软件编号),可以根据目标开源软件的软件标识,在第二对应关系中确定目标开源软件的软件信息,并将该软件信息更新为最新软件信息。
例如,假设更新前的第二对应关系如表7所示:
表7
假设目标开源软件为软件1,且软件1的最新软件信息为软件1-V2,则根据软件标识(软件1),在更新前的第二对应关系中确定软件信息(软件1-V1),并将软件信息(软件1-V1)更新为最新软件信息(软件1-V2),更新后的第二对应关系如表8所示:
表8
在图3所示的实施例中,确定第一漏洞后,可以通过第一对应关系自动化查找具有第一漏洞的开源软件,以及通过第二对应关系查找调用该开源软件的业务系统。根据该漏洞对开源软件进行修复、以及更新业务系统对开源软件的调用信息,无需人工排查漏洞及修复漏洞,提高了漏洞修复效率。还可以对第一对应关系和第二对应关系进行自动更新,以确定信息的准确性。
下面,结合图4,通过具体示例,对上述方法实施例所示的漏洞修复方法进行详细说明。
图4为本申请实施例提供的一种漏洞修复方法示例图。请参见图4,假设当前时刻为2023年3月15日8:00,漏洞检测计划中包含了漏洞标识和检测时刻,第一对应关系中保存漏洞标识和软件信息。第二对应关系中保存了软件信息和系统信息。
根据漏洞检测计划以及当前时刻可以确定待检测的第一漏洞为漏洞1,根据漏洞1的标识和第一对应关系可以确定目标软件信息为软件1-V1,根据目标软件信息(软件1-V1)和第二对应关系可以确定目标系统信息为系统1以及系统2。可以对版本库中的软件1-V1进行更新处理,假设更新后的软件1的软件信息为软件1-V2,并对系统1和系统2对软件1的调用信息进行更新,以使系统1和系统2可以调用软件1的最新版本。
假设对软件1-V2进行漏洞检测后,发现软件1-V2无漏洞,则无需更新第一对应关系,并将第二对应关系中目标软件信息更新为最新软件信息即可。
图5为本申请实施例提供的一种漏洞修复装置的结构示意图。请参见图5,该漏洞修复装置10可以包括:第一确定模块11、第二确定模块12、第三确定模块13、生成模块14和更新模块15,其中,
所述第一确定模块11用于,确定待检测的第一漏洞;
所述第二确定模块12用于,根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,所述目标开源软件中存在所述第一漏洞;
所述第三确定模块13用于,根据所述目标软件信息,确定目标业务系统的目标系统信息,所述目标业务系统调用所述目标开源软件;
所述生成模块14用于,根据所述目标软件信息和所述目标系统信息,生成漏洞修复任务,所述漏洞修复任务包括所述第一漏洞的漏洞信息、所述目标软件信息和所述目标系统信息;
所述更新模块15用于,根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息。
本实施例提供的漏洞修复装置,可用于执行上述方法实施例中的漏洞修复方法,其实现原理和技术效果类似,此处不作赘述。
一种可能的实现方式中,所述更新模块15具体用于:
向版本库发送所述漏洞修复任务,所述漏洞修复任务用于指示所述版本库更新所述目标开源软件和所述调用信息。
将所述漏洞修复任务的任务状态切换为修复中状态,直至接收到所述版本库发送的修复成功响应时,将所述漏洞修复任务的任务状态切换为修复完成状态;
所述版本库用于漏洞修复以及接收发送所述漏洞修复任务。
一种可能的实现方式中,所述漏洞修复任务中还包括修复起始时刻;所述更新模块15具体用于:在所述修复起始时刻,将所述漏洞修复任务的任务状态切换为所述修复中状态。
图6为本申请实施例提供的另一种漏洞修复装置的结构示意图。在图5实施例的基础上,请参见图6,漏洞修复装置10还可以提示模块16,其中,所述提示模块16用于:
若在所述修复结束时刻之前,未接收到所述修复成功响应,则确定所述第一漏洞对应的监督设备,所述漏洞修复任务中还包括修复结束时刻;
生成所述第一漏洞对应的修复提示信息;
向所述监督设备发送所述提示信息。
一种可能的实现方式中,所述第二确定模块12具体用于:
获取第一对应关系,所述第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息;
根据所述第一漏洞的标识和所述第一对应关系,确定所述目标软件信息。
一种可能的实现方式中,在所述更新模块15根据所述漏洞修复任务更新所述目标开源软件之后,所述更新模块15还用于:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
判断更新后的目标开源软件中是否存在更新漏洞,若是,则根据所述更新漏洞和所述最新软件信息,更新所述第一对应关系。
一种可能的实现方式中,所述第三确定模块13具体用于:
获取第二对应关系,所述第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息;
根据所述目标软件信息和所述第二对应关系,确定所述目标系统信息。
一种可能的实现方式中,所述更新模块15根据所述漏洞修复任务更新所述目标开源软件之后,所述更新模块15还用于:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
将所述第二对应关系中的所述目标开源软件的软件信息更新为所述最新软件信息。
本实施例提供的漏洞修复装置,可用于执行上述方法实施例中的漏洞修复方法,其实现原理和技术效果类似,此处不作赘述。
图7为本申请提供的漏洞修复设备的硬件结构示意图。请参见图7,该漏洞修复设备20可以包括:处理器21和存储器22,其中,处理器21和存储器22可以通信;示例性的,处理器21和存储器22通过通信总线23通信,所述存储器22用于存储计算机执行指令,所述处理器21用于调用存储器中的计算机执行指令执行上述任意方法实施例所示的方法。
可选的,漏洞修复设备20还可以包括通信接口,通信接口可以包括发送器和/或接收器。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令;所述计算机执行指令用于实现如上述任意实施例所述的漏洞修复方法。
本申请实施例提供一种计算机程序产品,所述计算机程序产品包括计算机程序,当所述计算机程序被执行时,使得计算机执行上述漏洞修复方法。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppydisk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程终端设备的处理单元以产生一个机器,使得通过计算机或其他可编程终端设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可装载到计算机或其他可编程终端设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
本领域技术人员在考虑说明书及实践里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
Claims (11)
1.一种漏洞修复方法,其特征在于,包括:
确定待检测的第一漏洞;
根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,所述目标开源软件中存在所述第一漏洞;
根据所述目标软件信息,确定目标业务系统的目标系统信息,所述目标业务系统调用所述目标开源软件;
根据所述目标软件信息和所述目标系统信息,生成漏洞修复任务,所述漏洞修复任务包括所述第一漏洞的漏洞信息、所述目标软件信息和所述目标系统信息;
根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息。
2.根据权利要求1所述的方法,其特征在于,根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息,包括:
向版本库发送所述漏洞修复任务,所述漏洞修复任务用于指示所述版本库更新所述目标开源软件和所述调用信息;
将所述漏洞修复任务的任务状态切换为修复中状态,直至接收到所述版本库发送的修复成功响应时,将所述漏洞修复任务的任务状态切换为修复完成状态;
所述版本库用于漏洞修复以及接收发送所述漏洞修复任务。
3.根据权利要求2所述的方法,其特征在于,所述漏洞修复任务中还包括修复起始时刻;
将所述漏洞修复任务的任务状态切换为修复中状态,包括:
在所述修复起始时刻,将所述漏洞修复任务的任务状态切换为所述修复中状态。
4.根据权利要求2或3所述的方法,其特征在于,所述漏洞修复任务中还包括修复结束时刻,所述方法还包括:
若在所述修复结束时刻之前,未接收到所述修复成功响应,则确定所述第一漏洞对应的监督设备;
生成所述第一漏洞对应的修复提示信息;
向所述监督设备发送所述提示信息。
5.根据权利要求1-4任一项所述的方法,其特征在于,根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,包括:
获取第一对应关系,所述第一对应关系中包括多个漏洞标识、以及每个漏洞标识对应的软件信息;
根据所述第一漏洞的标识和所述第一对应关系,确定所述目标软件信息。
6.根据权利要求5所述的方法,其特征在于,根据所述漏洞修复任务更新所述目标开源软件之后,还包括:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
判断更新后的目标开源软件中是否存在更新漏洞,若是,则根据所述更新漏洞和所述最新软件信息,更新所述第一对应关系。
7.根据权利要求1-6任一项所述的方法,其特征在于,根据所述目标软件信息,确定目标业务系统的目标系统信息,包括:
获取第二对应关系,所述第二对应关系中包括多个软件信息、以及每个软件信息对应的系统信息;
根据所述目标软件信息和所述第二对应关系,确定所述目标系统信息。
8.根据权利要求7所述的方法,其特征在于,根据所述漏洞修复任务更新所述目标开源软件之后,还包括:
确定所述目标开源软件的最新版本号;
根据所述最新版本号更新所述目标开源软件的软件信息,得到所述目标开源软件的最新软件信息;
将所述第二对应关系中的所述目标开源软件的软件信息更新为所述最新软件信息。
9.一种漏洞修复装置,其特征在于,包括:包括第一确定模块、第二确定模块、第三确定模块、生成模块和更新模块,其中,
所述第一确定模块用于,确定待检测的第一漏洞;
所述第二确定模块用于,根据所述第一漏洞的标识,确定目标开源软件的目标软件信息,所述目标开源软件中存在所述第一漏洞;
所述第三确定模块用于,根据所述目标软件信息,确定目标业务系统的目标系统信息,所述目标业务系统调用所述目标开源软件;
所述生成模块用于,根据所述目标软件信息和所述目标系统信息,生成漏洞修复任务,所述漏洞修复任务包括所述第一漏洞的漏洞信息、所述目标软件信息和所述目标系统信息;
所述更新模块用于,根据所述漏洞修复任务更新所述目标开源软件,以及更新所述目标业务系统对所述目标开源软件的调用信息。
10.一种漏洞修复设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-8中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310708738.2A CN116738439A (zh) | 2023-06-14 | 2023-06-14 | 漏洞修复方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310708738.2A CN116738439A (zh) | 2023-06-14 | 2023-06-14 | 漏洞修复方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116738439A true CN116738439A (zh) | 2023-09-12 |
Family
ID=87909284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310708738.2A Pending CN116738439A (zh) | 2023-06-14 | 2023-06-14 | 漏洞修复方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116738439A (zh) |
-
2023
- 2023-06-14 CN CN202310708738.2A patent/CN116738439A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106156619B (zh) | 应用安全防护方法及装置 | |
CN110795128B (zh) | 一种程序漏洞修复方法、装置、存储介质及服务器 | |
CN110597731B (zh) | 一种漏洞检测方法、装置及电子设备 | |
CN110225078B (zh) | 一种应用服务更新方法、系统及终端设备 | |
CN111708584A (zh) | 一种车辆诊断方法、装置、诊断设备及存储介质 | |
CN107621963B (zh) | 一种软件部署方法、软件部署系统及电子设备 | |
CN102103510A (zh) | Java应用程序的安装方法和终端设备 | |
CN109815697A (zh) | 误报行为处理方法及装置 | |
CN109298877A (zh) | 游戏更新方法及系统、终端和计算机可读存储介质 | |
CN111681004A (zh) | 业务风控方法及系统 | |
CN107341074B (zh) | 一种升级异常修复方法、升级异常修复装置及智能终端 | |
CN107040497B (zh) | 网络账号防盗方法及装置 | |
CN116738439A (zh) | 漏洞修复方法、装置、设备及存储介质 | |
CN110413341A (zh) | 一种应用程序的启动方法、装置、终端及介质 | |
CN107566596B (zh) | 一种来电拦截方法与装置 | |
CN106569851A (zh) | 应用程序处理方法及装置 | |
CN117194245A (zh) | 自动化测试方法、装置、设备及存储介质 | |
CN110866225A (zh) | 风险控制方法、装置、电子设备及存储介质 | |
CN114327602B (zh) | 信息处理方法、装置、电子设备及存储介质 | |
CN113595797B (zh) | 告警信息的处理方法、装置、电子设备及存储介质 | |
CN113760631B (zh) | 页面加载时长确定方法、装置、设备和存储介质 | |
CN111176975B (zh) | 一种测试方法、装置、设备及计算机可读存储介质 | |
CN111488403A (zh) | 一种数据编辑的方法、装置、辅助编辑设备及存储介质 | |
CN117633797B (zh) | 一种软件控制方法、装置、电子设备及储存介质 | |
CN116932405A (zh) | 加固测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |