缩小漏洞修复的差距
关键要点
- 根据对约1000家公司的分析,只有13%的漏洞得到了修复,安全团队平均需要271天来处理这些问题。
- 努力修复的漏洞数量每月在增长,但积压的情况超出了组织的应对能力。
- 70%至90%的应用程序使用了开源代码,导致开源漏洞的持续增加成了我们不能忽视的挑战。
- 公司需平衡安全风险与功能风险,同时更新软件以减少技术负债。
- 针对每个应用程序评估风险,并优先处理最关键的漏洞。
最近对大约1000家公司进行的分析显示,只有13%的漏洞得到了修复,且安全团队平均需要271天才能解决这些问题。虽然组织在每个月都在努力修复成千上万的漏洞,但积压的漏洞现状已经超出了他们的应对能力。在威胁行为者寻找任何可利用的弱点之际,这些未修复的漏洞将构成严重的安全风险。
绝大多数的IT和安全领导者指出,他们的应用程序组合在过去一年中变得更加容易受到攻击。再加上70%到90%的应用程序使用了开源代码,开源漏洞的不断增加已成为我们无法忽视的挑战。
理解修复差距的原因
要缩小这个修复差距,我们首先需要了解背后是什么原因。这个差距的加大受多重因素的驱动,包括时间和资源的缺乏,以及平衡安全风险和功能风险的需求。
平衡安全与功能风险
公司需要确保应用程序既安全又能正常运行,这是一项很难做到的平衡工作。大部分团队并未频繁更新使用的软件,尤其是考虑到几乎所有已知漏洞都有修复方法,而且这些修复通常会以新版本的形式发布。然而,团队不及时更新软件,后续更新时会变得更加困难,甚至可能造成损害。
想象一下,一个青少年六个月没有整理他们的房间。在这段时间内,垃圾的堆积量可能没变,但清理的时间和精力几乎是增加的。这种情况同样适用于团队:那些能更好避免技术债务的团队,在软件版本更新上做得更好,最终减轻了负担和风险。定期更新确保团队能在漏洞被检测到之前自动应用修复。此外,当出现重大问题,比如2021年12月的,迅速解决的难度也会降低。
应用程序并不相同
显然,十年前构建的软件与今天开发的软件性能不同。虽然我们通常关注最新的发展,但较旧版本的软件即使不再更新,仍被大量客户使用。这些软件中的风险与漏洞也依然存在,给用户和开发者都带来了风险。然而,支持老旧软件变得繁琐且费用高昂,这无疑会分散出宝贵的时间和资源,无法用于新开发中。因而,修复老旧软件漏洞的资源常常不足且被低估,这将是一个长期的任务。
缩小差距的三种方式
由于每个应用程序都有独特的功能和安全漏洞的不同潜在后果,因此评估每个应用程序的风险至关重要。了解每个应用程序的风险特征,能帮助团队识别并优先处理那些与敏感数据相关或对满足合规要求至关重要的应用程序。通过了解应用程序的功能,安全团队能更有效地按应用风险来优先安排修复任务。
接下来,团队需要优先处理那些风险最高的缺陷。虽然将安全漏洞排名是个好主意,但在某个特定应用程序的背景下,安全漏洞的排名可能会有所不同。团队应将排名视为起点,并理解大量“关键”漏洞在特定应用程序的视角下可能会被降级。团队应优先考虑哪些修复措施能有效消除最大风险,并计算所需的工作量。例如,许多攻击链通常利用中等严重性的漏洞,因此处理更多这类漏洞比专注于一两个少见的严重漏洞更有效率。
最后,优先处理新的应用程序并自动化其修复工作。未修复的漏洞是导致大部分网络攻击的主要原因,根据近期研究,2022年上半年