安全漏洞修复的方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:27058790 阅读:21 留言:0更新日期:2021-01-15 14:37
本公开提供了一种安全漏洞修复的方法、装置、计算机设备和存储介质,提高了使用第三方依赖的应用的安全性。其中,该方法包括:获取依赖配置文件,基于依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息和依赖描述信息;根据记录的各依赖包的漏洞修复信息,确定存在安全漏洞的第一目标依赖包;根据第一目标依赖包和依赖关系信息,确定包含第一目标依赖包的至少一条目标依赖链;针对第一目标依赖包,根据第一目标依赖包的第一漏洞修复信息生成漏洞修复方案;针对目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据第一目标依赖包的第一漏洞修复信息和第一目标依赖包与第二目标依赖包之间的依赖描述信息生成漏洞修复方案。

【技术实现步骤摘要】
安全漏洞修复的方法、装置、计算机设备和存储介质
本公开涉及网络信息安全领域,具体而言,涉及一种安全漏洞修复的方法、装置、计算机设备和存储介质。
技术介绍
开源对软件开发的发展可以说具有深远的意义,它帮助开发人员共享成果,重复使用其他人开发的软件库,让开发人员能够专注于自己的创新,推进了技术的快速发展。很多企业都在使用开源,但是开源依赖(亦称为第三方依赖)在开发时很少进行安全性测试,造成第三方依赖存在一定的安全隐患,从而导致基于此开发的应用存在一定的安全漏洞。因此,如何对由于使用第三方依赖造成的应用安全漏洞进行修复成为现有技术中亟待解决的技术问题之一。
技术实现思路
本公开实施例至少提供一种安全漏洞修复的方法、装置、计算机设备和存储介质,用以查找和定位第三方依赖漏洞,针对查找到的漏洞生成修复方案,提高应用安全性。第一方面,本公开实施例提供了一种安全漏洞修复的方法,包括:获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息和依赖描述信息;根据记录的各依赖包的漏洞修复信息,确定存在安全漏洞的第一目标依赖包;根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链;针对第一目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息生成漏洞修复方案;针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案。一种可选的实施方式中,获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息,具体包括:从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;根据读取的依赖关系数据生成依赖树;确定所述依赖树为待检测应用所依赖的各依赖包之间的所述依赖关系信息。一种可选的实施方式中,获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息,包括:从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;根据读取的依赖关系数据生成依赖树;合并所述依赖树中的重复依赖包,生成所述依赖树对应的双向依赖图;确定所述双向依赖图为待检测应用所依赖的各依赖包之间的所述依赖关系信息。一种可选的实施方式中,根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链,具体包括:根据所述依赖关系信息,从第一目标依赖包开始冒泡查找依赖于所述第一目标依赖包的第三目标依赖包;确定所述第一目标依赖包和查找到的第三目标依赖包,组成目标依赖链。一种可选的实施方式中,所述各个依赖包之间的依赖描述信息包括各个依赖包之间的版本依赖描述信息;以及针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案,包括:从所述目标依赖链中包含的各个依赖包之间的依赖描述信息中,获取所述第二目标依赖包与所述第一目标依赖包之间的版本依赖描述信息;根据获取的版本依赖描述信息,在第二目标依赖包对第一目标依赖包的依赖是第一目标依赖包的版本不低于当前版本的情况下,针对所述第一目标依赖包,生成根据所述第一漏洞修复信息进行修复的漏洞修复方案。一种可选的实施方式中,根据获取的版本依赖描述信息,在第二目标依赖包对第一目标依赖包的依赖是第一目标依赖包的版本等于当前版本的情况下,判断是否存在所述第二目标依赖包的第二漏洞修复信息;如果存在,则针对所述第二目标依赖包,生成根据所述第二漏洞修复信息进行修复的漏洞修复方案,以及针对所述第一目标依赖包,生成根据所述第一漏洞修复信息进行修复的漏洞修复方案;如果不存在,则针对第一目标依赖包,生成保持当前版本不变的漏洞修复方案。一种可选的实施方式中,在针对第一目标依赖包和第二目标依赖包生成漏洞修复方案之后,还包括:缓存针对第一目标依赖包和第二目标依赖包生成漏洞修复方案;以及在判断出需要针对所述第一目标依赖包和所述第二目标依赖包再次生成漏洞修复方案的情况下,复用缓存的、针对第一目标依赖包和第二目标依赖包生成漏洞修复方案。第二方面,本公开实施例还提供一种安全漏洞修复的装置,包括:第一确定单元,用于获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息和依赖描述信息;第二确定单元,用于根据记录的各依赖包的漏洞修复信息,确定存在安全漏洞的第一目标依赖包;第三确定单元,用于根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链;第一生成单元,用于针对第一目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息生成漏洞修复方案;第二生成单元,用于针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案。一种可选的实施方式中,所述第一确定单元,具体用于从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;根据读取的依赖关系数据生成依赖树;确定所述依赖树为待检测应用所依赖的各依赖包之间的所述依赖关系信息。一种可选的实施方式中,所述第一确定单元,具体用于从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;根据读取的依赖关系数据生成依赖树;合并所述依赖树中的重复依赖包,生成所述依赖树对应的双向依赖图;确定所述双向依赖图为待检测应用所依赖的各依赖包之间的所述依赖关系信息。一种可选的实施方式中,所述第三确定单元,具体用于根据所述依赖关系信息,从第一目标依赖包开始冒泡查找依赖于所述第一目标依赖包的第三目标依赖包;确定所述第一目标依赖包和查找到的第三目标依赖包,组成目标依赖链。一种可选的实施方式中,所述各个依赖包之间的依赖描述信息包括各个依赖包之间的版本依赖描述信息;以及所述第二生成单元,用于从所述目标依赖链中包含的各个依赖包之间的所述依赖描述信息中,获取所述第二目标依赖包与所述第一目标依赖包之间的版本依赖描述信息;根据获取的版本依赖描述信息,在第二目标依赖包对第一目标依赖包的依赖是第一目标依赖包的版本不低于当前版本的情况下,针对所述第一目标依赖包,生成根据所述第一漏洞修复信息进行修复的漏洞修复方案。一种可选的实施方式中,所述第二生成单元,还用于根据获取的版本依赖描述信息,在第二目标依赖包对第一目标依赖包的依赖是第一目标依赖包的版本等于当前版本的情况下,判断是否存在所述第二目标依赖包的第二漏洞修复信息;如果存在,则针对所述第二目标依赖包,生成根据所述第二漏洞修复信息进行修复的漏洞修复方案,以及针对本文档来自技高网...

【技术保护点】
1.一种安全漏洞修复的方法,其特征在于,包括:/n获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息和依赖描述信息;/n根据记录的各依赖包的漏洞修复信息,确定存在安全漏洞的第一目标依赖包;/n根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链;/n针对第一目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息生成漏洞修复方案;/n针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案。/n

【技术特征摘要】
1.一种安全漏洞修复的方法,其特征在于,包括:
获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息和依赖描述信息;
根据记录的各依赖包的漏洞修复信息,确定存在安全漏洞的第一目标依赖包;
根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链;
针对第一目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息生成漏洞修复方案;
针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案。


2.根据权利要求1所述的方法,其特征在于,获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息,具体包括:
从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;
根据读取的依赖关系数据生成依赖树;
确定所述依赖树为待检测应用所依赖的各依赖包之间的所述依赖关系信息。


3.根据权利要求1所述的方法,其特征在于,获取依赖配置文件,基于所述依赖配置文件确定待检测应用所依赖的各依赖包之间的依赖关系信息,包括:
从依赖配置文件中,读取所述待检测应用所依赖的各依赖包之间的依赖关系数据;
根据读取的依赖关系数据生成依赖树;
合并所述依赖树中的重复依赖包,生成所述依赖树对应的双向依赖图;
确定所述双向依赖图为待检测应用所依赖的各依赖包之间的所述依赖关系信息。


4.根据权利要求2或3所述的方法,其特征在于,根据所述第一目标依赖包和所述依赖关系信息,确定包含所述第一目标依赖包的至少一条目标依赖链,具体包括:
根据所述依赖关系信息,从第一目标依赖包开始冒泡查找依赖于所述第一目标依赖包的第三目标依赖包;
确定所述第一目标依赖包和查找到的第三目标依赖包,组成目标依赖链。


5.根据权利要求4所述的方法,其特征在于,所述各个依赖包之间的依赖描述信息包括各个依赖包之间的版本依赖描述信息;以及
针对所述目标依赖链上除第一目标依赖包以外的第二目标依赖包,根据所述第一目标依赖包的第一漏洞修复信息和所述第一目标依赖包与所述第二目标依赖包之间的依赖描述信息生成漏洞修复方案,包括:
从所述目标依赖链中包含的各个依赖包之间的所述依赖描述信息中,获取所述第二目标依赖包与所述第一目标依赖包之间的版本依赖描述信息;
根据获取...

【专利技术属性】
技术研发人员:刘业
申请(专利权)人:北京字节跳动网络技术有限公司
类型:发明
国别省市:北京;11

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

1