应用代码的漏洞检测方法和装置与流程

文档序号:37632513发布日期:2024-04-18 17:46阅读:11来源:国知局
应用代码的漏洞检测方法和装置与流程

本发明涉及计算机,尤其涉及一种应用代码的漏洞检测方法和装置。


背景技术:

1、在代码开发过程中,对源代码或二进制程序的漏洞检测可以大大提升代码运行的安全性。目前,在进行代码开发或线上运行过程中,多是通过对源代码或二进制程序进行分析,从而识别被检测代码项目中包含的开源组件,然后基于标准的漏洞知识库提供的漏洞风险等级等漏洞信息来检测开源组件是否包含漏洞。然而,基于标准的漏洞知识库进行漏洞检测时,仅能检测到已知的开源漏洞,无法检测到新的未知的安全漏洞。并且,标准的漏洞知识库中提供的漏洞风险等级不能完全适配目标代码的实际运行场景,会使得漏洞检测结果存在误报的情况。因此,现有的漏洞检测会存在漏检和误报的情况,可能造成安全风险,影响漏洞修复效率和安全运营效率。


技术实现思路

1、有鉴于此,本发明实施例提供一种应用代码的漏洞检测方法和装置,能够在应用代码运行过程中,对未知依赖组件漏洞进行识别,并添加到漏洞知识库中,从而可以迅速补齐软件开发各阶段检测未知依赖组件漏洞的能力,避免了出现漏检的情况,从而降低了安全风险,提高了漏洞修复效率和安全运营效率;同时,根据漏洞检测结果生成依赖组件的风险级别,并结合依赖组件的风险级别进行漏洞知识库补充,从而使得漏洞知识库更适配于应用代码的实际运行场景,极大地减小了误报概率,提高了漏洞修复效率和安全运营效率。

2、为实现上述目的,根据本发明实施例的一个方面,提供了一种应用代码的漏洞检测方法,包括:

3、对应用代码中指定操作函数进行字节码注入,生成所述指定操作函数的数据跟踪标记功能以对所述指定操作函数进行实时监控,所述指定操作函数与所述应用代码运行时所依赖的依赖组件相对应;

4、响应于所述指定操作函数被执行,获取所述指定操作函数的监控数据,并对所述监控数据进行分析得到所述指定操作函数对应的依赖组件的漏洞检测结果;

5、在所述漏洞检测结果为存在恶意行为的情况下,判断所述指定操作函数对应的依赖组件是否在漏洞知识库中;

6、在所述指定操作函数对应的依赖组件不在所述漏洞知识库中的情况下,根据所述漏洞检测结果生成所述指定操作函数对应的依赖组件的风险级别,并将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中。

7、可选地,所述方法还包括:在所述指定操作函数对应的依赖组件在所述漏洞知识库中的情况下,直接对所述指定操作函数对应的依赖组件进行漏洞修复;以及,在将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中之后,还包括:对所述指定操作函数对应的依赖组件进行漏洞修复。

8、可选地,根据所述漏洞检测结果生成所述指定操作函数对应的依赖组件的风险级别,包括:根据所述指定操作函数对应的依赖组件的组件信息和所述漏洞检测结果中恶意行为的类别,生成所述指定操作函数对应的依赖组件的风险级别。

9、可选地,所述风险级别包括所述指定操作函数对应的依赖组件的安全风险等级和漏洞修复优先级;以及,在将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中之后,还包括:根据所述指定操作函数对应的依赖组件的安全风险等级和漏洞修复优先级,对所述指定操作函数对应的依赖组件进行漏洞修复。

10、可选地,所述方法还包括:响应于检测到所述应用代码在运行时调用了依赖组件,获取真实调用的依赖组件的组件信息,并根据所述组件信息判断所述真实调用的依赖组件是否在所述漏洞知识库中;在所述真实调用的依赖组件在所述漏洞知识库中的情况下,直接对所述真实调用的依赖组件进行漏洞修复。

11、根据本发明实施例的另一方面,提供了一种应用代码的漏洞检测装置,包括:

12、监控开启模块,用于对应用代码中指定操作函数进行字节码注入,生成所述指定操作函数的数据跟踪标记功能以对所述指定操作函数进行实时监控,所述指定操作函数与所述应用代码运行时所依赖的依赖组件相对应;

13、漏洞分析模块,用于响应于所述指定操作函数被执行,获取所述指定操作函数的监控数据,并对所述监控数据进行分析得到所述指定操作函数对应的依赖组件的漏洞检测结果;

14、组件匹配模块,用于在所述漏洞检测结果为存在恶意行为的情况下,判断所述指定操作函数对应的依赖组件是否在漏洞知识库中;

15、知识库更新模块,用于在所述指定操作函数对应的依赖组件不在所述漏洞知识库中的情况下,根据所述漏洞检测结果生成所述指定操作函数对应的依赖组件的风险级别,并将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中。

16、可选地,所述装置还包括漏洞修复模块,用于:在所述指定操作函数对应的依赖组件在所述漏洞知识库中的情况下,直接对所述指定操作函数对应的依赖组件进行漏洞修复;以及,在将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中之后,对所述指定操作函数对应的依赖组件进行漏洞修复。

17、可选地,所述知识库更新模块在根据所述漏洞检测结果生成所述指定操作函数对应的依赖组件的风险级别时,具体可以用于:根据所述指定操作函数对应的依赖组件的组件信息和所述漏洞检测结果中恶意行为的类别,生成所述指定操作函数对应的依赖组件的风险级别。

18、可选地,所述风险级别包括所述指定操作函数对应的依赖组件的安全风险等级和漏洞修复优先级;以及,所述漏洞修复模块还用于:在将所述指定操作函数对应的依赖组件及所述风险级别添加到所述漏洞知识库中之后,根据所述指定操作函数对应的依赖组件的安全风险等级和漏洞修复优先级,对所述指定操作函数对应的依赖组件进行漏洞修复。

19、可选地,所述装置还包括调用组件检测模块,用于:响应于检测到所述应用代码在运行时调用了依赖组件,获取真实调用的依赖组件的组件信息,并根据所述组件信息判断所述真实调用的依赖组件是否在所述漏洞知识库中;在所述真实调用的依赖组件在所述漏洞知识库中的情况下,直接对所述真实调用的依赖组件进行漏洞修复。

20、根据本发明实施例的又一方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所提供的应用代码的漏洞检测方法。

21、根据本发明实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现本发明实施例所提供的应用代码的漏洞检测方法。

22、上述发明中的一个实施例具有如下优点或有益效果:通过对应用代码中指定操作函数进行字节码注入,生成指定操作函数的数据跟踪标记功能以对指定操作函数进行实时监控,指定操作函数与应用代码运行时所依赖的依赖组件相对应;响应于指定操作函数被执行,获取指定操作函数的监控数据,并对监控数据进行分析得到指定操作函数对应的依赖组件的漏洞检测结果;在漏洞检测结果为存在恶意行为的情况下,判断指定操作函数对应的依赖组件是否在漏洞知识库中;在指定操作函数对应的依赖组件不在漏洞知识库中的情况下,根据漏洞检测结果生成指定操作函数对应的依赖组件的风险级别,并将指定操作函数对应的依赖组件及风险级别添加到漏洞知识库中的技术方案,实现了在应用代码运行过程中,对未知依赖组件漏洞进行识别,并添加到漏洞知识库中,从而可以迅速补齐软件开发各阶段检测未知依赖组件漏洞的能力,避免了出现漏检的情况,从而降低了安全风险,提高了漏洞修复效率和安全运营效率;同时,根据漏洞检测结果生成依赖组件的风险级别,并结合依赖组件的风险级别进行漏洞知识库补充,从而使得漏洞知识库更适配于应用代码的实际运行场景,极大地减小了误报概率,提高了漏洞修复效率和安全运营效率。

23、上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1