开源风险的演变:软件安全面临的持续挑战

随着组织越来越依赖开源软件,相关的安全风险也随之增长,需要更加强大和主动的风险管理。

2024 年软件供应链状况报告深入探讨了这些和其他新兴挑战,特别关注“持续风险”的概念——这一术语强调了软件供应链中未解决的漏洞和污染风险。

让我们从报告中探索一些见解,以更好地了解开源风险的演变及其相关的安全挑战。

了解持续风险:双重威胁

开源软件中的“持续性风险”是由于长期暴露于未解决的漏洞而形成的独特风险类别。

我们根据观察定义了这一概念:软件中持续存在的、未解决的威胁会随着时间的推移降低其安全完整性。

持续性风险包含两个主要因素:

未修复风险是指已知的软件漏洞尚未解决,会造成持续威胁。它包括修复这些问题所需的时间。未修补的漏洞为漏洞利用提供了一条持久的途径,使软件处于风险之中。

腐蚀风险涉及当前版本和过去版本中需要时间解决的漏洞,如未修复风险。它还考虑到检测旧版本漏洞的延迟,导致风险累积并逐渐削弱软件的安全性。

未修复和腐蚀性风险会形成持续性风险,就像金属上的锈迹一样——漏洞得不到解决的时间越长,漏洞就会越严重,导致软件弹性下降,更容易受到攻击。这凸显了及时识别和解决漏洞的紧迫性,以防止出现长期安全问题。

2024 年的报告揭示了一个关键事实:具有持续风险的组件会随着时间的推移而退化,从而增加系统故障的可能性。重要的是,95% 的下载易受攻击的组件都有可用的修复程序,这凸显了主动管理的必要性。

影响持续风险的因素

三种主要行为推动了组织内的持续风险:

选择:许多组织很难辨别高质量的开源组件,通常会选择具有已知漏洞的组件。通过专注于具有强大安全实践的项目,公司可以显著降低持续风险。今年的报告指出,在可用的 700 万个开源组件中,有 762,000 个是主动选择的,这凸显了选择性、质量驱动选择的重要性。

自满:依赖项不受管理或过时会带来重大风险。报告发现,80% 的企业应用程序依赖项在一年内不受管理且过时,这增加了代码库腐蚀的风险。

污染:开源恶意软件的存在加剧了持续风险。值得注意的是,外围组件(企业环境中不常用的组件)包含恶意软件的可能性比核心组件高出 25 倍,这凸显了需要谨慎的依赖关系管理以防止污染。

开源消费的作用:平衡质量和风险

与组件的固有质量相比,开源消费实践在持续性风险中发挥着重要作用。

虽然质量仍然是首要任务,但我们的报告发现,主动措施(例如使用软件物料清单(SBOM)和依赖管理工具)对于维护安全的软件供应链至关重要。

此外,开放源代码安全基金会 (OpenSSF) 记分卡是评估开源项目响应能力和质量的宝贵工具,为开发人员提供对项目稳定性和安全实践的见解。

不断发展的开源风险管理最佳实践

随着开源使用规模的扩大,风险管理策略的复杂程度也必须提高。

报告强调的减轻持续性风险的最佳实践包括:

选择性组件选择:选择信誉良好、积极维护的项目中的组件可以降低持续风险。这涉及检查项目质量指标,例如更新频率、对漏洞的响应能力以及与SBOM 标准的一致性。

主动依赖管理:依赖忽视或“自满”会导致漏洞滋生并破坏安全性。定期更新依赖项并选择可用的非易受攻击的版本至关重要,尤其是因为我们的报告发现,在修复程序可用近三年后,所有 Log4j 下载中有 13% 仍然是易受攻击的版本。

增强恶意软件检测:开源恶意软件的日益流行要求提高认识并采用高级扫描工具来识别已知和新型恶意软件威胁。传统工具可能会错过更复杂的攻击,这凸显了不断发展的安全措施的必要性。

增强抵御持续风险的能力

主动解决持续性风险不仅可以维护软件完整性,还可以增强抵御不断升级的软件供应链威胁的能力。

要了解有关开源状态以及如何保护软件供应链的更多信息,请查看完整的软件供应链状况报告。

猜你喜欢

转载自blog.csdn.net/qq_29607687/article/details/143421371