¶ 可触发漏洞
更新时间: 2023-06-18 23:46:47
可触发漏洞是指那些在实际代码中被调用或利用的漏洞。换言之,只有当某一漏洞的触发函数在代码中被实际使用,这种漏洞才被定义为“可触发漏洞”。
¶ 为什么要识别可触发漏洞?
¶ 减少误报和误解
基于版本匹配的软件成分分析工具可能会报告出很多潜在的漏洞,但并不是所有的漏洞都会在实际应用中被触发或利用。如果没有对这些潜在漏洞进行进一步的分析,就可能会对软件的安全风险产生误解,从而导致错误的决策。通过识别可触发漏洞,可以更准确地评估安全风险,并优化决策过程。
¶ 优先级排序
在修复漏洞的过程中,我们通常需要优先处理那些最可能被利用的漏洞。而基于版本匹配的软件成分分析工具不能提供这种信息。只有识别出哪些漏洞是可触发的,才能制定出合理的、基于风险的修复策略。
¶ 提高修复效率
如同前面所述,修复所有已知的漏洞可能是一项既耗时又耗费人力的任务。而识别可触发漏洞可以帮助我们集中精力处理那些真正会构成威胁的漏洞,从而提高修复效率。
¶ 可触发漏洞是如何识别出来的?
识别可触发漏洞涉及到对软件组件清单(SBOM)和软件代码的深入分析。以下墨菲安全识别可触发漏洞的步骤:
¶ 漏洞识别
通过软件成分分析技术识别出 SBOM 信息,并且根据软件构件的版本信息和墨菲安全的漏洞数据库,识别出可能存在的漏洞。
¶ 触发方式分析
对于主流的严重和高危漏洞漏洞,墨菲安全专家提前会分析出漏洞的触发方式。
针对开源组件漏洞,常见的触发方式包括缺陷函数、缺陷配置、缺陷依赖共三种情况:
- 缺陷函数触发:指组件中的特定代码或函数导致漏洞可以被触发,示意图如下:
缺陷配置触发:指组件相关的配置导致漏洞可以被触发
缺陷依赖触发:指组件被项目引入即可导致漏洞被触发
¶ 代码分析
墨菲安全使用静态代码分析技术,根据漏洞的触发方式来对代码进行分析。如某个漏洞的触发方式为“缺陷函数触发”,那么墨菲安全会检查缺陷函数是否在代码中被实际调用,同时判断缺陷函数的参数是否可控。
¶ 漏洞确认
通过代码分析的判断,如果漏洞的触发方式在该项目中可以满足,那么这个漏洞就被视为一个“可触发漏洞”。