本申请涉及计算机网络,具体涉及一种中间件安全漏洞修复方法、装置、设备和存储介质。
背景技术:
1、中间件安全漏洞修复是指对中间件(如数据库、web服务器、应用服务器等)中存在的安全漏洞进行修复的过程。中间件是指在应用程序和操作系统之间提供服务的软件,通常是企业级应用的基础设施,因此,如果中间件存在安全漏洞,可能会导致应用程序和系统受到攻击或崩溃。
2、目前,中间件安全漏洞修复主要是通过扫描漏洞、评估漏洞的危害性、制定修复方案、实施修复方案、测试修复效果等几个相互分离漏洞修复环节由不同的人员对中间件进行中间件的安全漏洞的修复,而且漏洞修复可能需要等待漏洞扫描完成后才能开始,从而导致中间件安全漏洞修复效率低。
技术实现思路
1、本申请实施例提供一种中间件安全漏洞修复方法、装置、设备和存储介质,用以解决中间件安全漏洞修复效率低的问题。
2、第一方面,本申请实施例提供一种中间件安全漏洞修复方法,包括:
3、获取中间件的漏洞信息,将所述漏洞信息输入至神经支持决策树模型,得到所述神经支持决策树模型输出的所述中间件的至少一个第一修复方案;所述神经支持决策树模型是在决策树模型的基础上,通过编码后的漏洞修复方案数据集训练得到;
4、对所述第一修复方案进行聚类,以将使用同一所述第一修复方案的主机聚为一组,得到至少一组第一修复方案;
5、获取每组第一修复方案对应的第二修复方案,并对所述第二修复方案进行修复验证;
6、基于修复验证成功的第二修复方案生成中间件安装包,以基于所述中间件安装包替换待修复中间件的安装包。
7、在一个实施例中,所述获取每组第一修复方案对应的第二修复方案,包括:
8、基于每组第一修复方案,生成所述第二修复方案的获取请求;所述获取请求包括身份认证信息;
9、向漏洞知识库模块发送所述获取请求;
10、在接收到所述漏洞知识库模块返回的响应信息后,基于安全传输协议ftps向所述漏洞知识库模块发起文件传输;
11、接收所述漏洞知识库模块发送的已进行数字签名的所述第二修复方案。
12、在一个实施例中,所述对所述第二修复方案进行修复验证,包括:
13、对所述第二修复方案进行校验;
14、若校验成功,则对服务器进行备份和快照,并执行所述第二修复方案,以对目标中间件进行漏洞修复;
15、对漏洞修复后的所述目标中间件进行修复验证。
16、在一个实施例中,所述对所述第二修复方案进行校验,包括:
17、对所述第二修复方案进行遍历,以调用每个所述第二修复方案对应的目标函数;
18、若所述目标函数预先关联的修复操作与每个所述第二修复方案的修复操作相同,则确定所述第二修复方案校验成功。
19、在一个实施例中,所述对漏洞修复后的所述目标中间件进行修复验证,包括:
20、对漏洞修复后的所述目标中间件进行服务启停测试、日志测试以及功能性测试;
21、若所述服务启停测试、所述日志测试以及所述功能性测试均测试通过,则确定所述目标中间件修复成功;
22、若所述服务启停测试、所述日志测试以及所述功能性测试任一项测试不通过,则确定所述目标中间件修复失败。
23、在一个实施例中,所述神经支持决策树模型是基于以下步骤训练得到:
24、对所述漏洞修复方案数据集中的中间件名称、中间件版本、漏洞名称以及修复方案进行编码,得到训练集和测试集;
25、通过所述训练集,对所述决策树模型进行训练,得到初始神经支持决策树模型;
26、通过所述测试集,对所述初始神经支持决策树模型进行测试,得到预测准确率;
27、若所述预测准确率大于或等于设定阈值,则停止训练,得到所述神经支持决策树模型。
28、在一个实施例中,所述基于修复验证成功的第二修复方案生成中间件安装包之后,还包括:
29、将所述中间件安装包存储至设定的存储路径,并生成所述中间件安装包的基本信息;
30、基于所述基本信息,对所述中间件的版本信息和配置信息进行管理。
31、第二方面,本申请实施例提供一种中间件安全漏洞修复装置,包括修复模块及与其连接的漏洞扫描模块和漏洞知识库模块;所述修复模块包括制作子模块、更新子模块和发布子模块;
32、所述制作子模块,用于制作中间件安装包,并将所述中间件安装包发送至所述更新子模块;
33、所述更新子模块,用于将所述中间件安装包存储至设定的存储路径,并向所述发布子模块发送漏洞修复指令;
34、所述发布子模块,用于基于所述漏洞修复指令,将所述中间件安装包替换待修复中间件的安装包。
35、第三方面,本申请实施例提供一种电子设备,包括处理器和存储有计算机程序的存储器,所述处理器执行所述程序时实现第一方面所述的中间件安全漏洞修复方法的步骤。
36、第四方面,本申请实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的中间件安全漏洞修复方法的步骤。
37、本申请实施例提供的中间件安全漏洞修复方法、装置、设备和存储介质,通过获取中间件的漏洞信息,将漏洞信息输入至神经支持决策树模型,得到神经支持决策树模型输出的中间件的至少一个第一修复方案;对第一修复方案进行聚类,以将使用同一第一修复方案的主机聚为一组,得到至少一组第一修复方案;获取每组第一修复方案对应的第二修复方案,并对第二修复方案进行修复验证;基于修复验证成功的第二修复方案生成中间件安装包,以基于中间件安装包替换待修复中间件的安装包。本申请在修复待修复中间件前,进行中间件漏洞修复及漏洞验证,确保待修复中间件能够一次性修复成功,节约修复时间,提高中间件安全漏洞修复效率。
1.一种中间件安全漏洞修复方法,其特征在于,包括:
2.根据权利要求1所述的中间件安全漏洞修复方法,其特征在于,所述获取每组第一修复方案对应的第二修复方案,包括:
3.根据权利要求1所述的中间件安全漏洞修复方法,其特征在于,所述对所述第二修复方案进行修复验证,包括:
4.根据权利要求3所述的中间件安全漏洞修复方法,其特征在于,所述对所述第二修复方案进行校验,包括:
5.根据权利要求3所述的中间件安全漏洞修复方法,其特征在于,所述对漏洞修复后的所述目标中间件进行修复验证,包括:
6.根据权利要求1所述的中间件安全漏洞修复方法,其特征在于,所述神经支持决策树模型是基于以下步骤训练得到:
7.根据权利要求1所述的中间件安全漏洞修复方法,其特征在于,所述基于修复验证成功的第二修复方案生成中间件安装包之后,还包括:
8.一种中间件安全漏洞修复装置,其特征在于,应用于如权利要求1至7中任一项所述的中间件安全漏洞修复方法,包括修复模块及与其连接的漏洞扫描模块和漏洞知识库模块;所述修复模块包括制作子模块、更新子模块和发布子模块;
9.一种电子设备,包括处理器和存储有计算机程序的存储器,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的中间件安全漏洞修复方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的中间件安全漏洞修复方法的步骤。