近日,Sonatype 发布了最新的 “2021 年软件供应链状况报告”。该报告数据显示,开源供应、需求和安全漏洞全部呈现出“爆炸性”增长,其中开源供应量增加了 20%,开源需求增加了 73%,开源攻击也随之暴涨 650%。与此同时,开源安全和依赖关系管理占据了“2021 年软件供应链”的主导地位。
本次报告,通过对 10 万个生产应用、 400 万个由开发者进行的组件迁移,以及与 Java(Maven Central)、JavaScript(npmjs)、Python(PyPI)和 .Net(nuget)生态系统相关的供应、需求和安全趋势进行了研究,从而得出了以下一些亮点。
开源供应、需求和安全漏洞均呈现“爆炸性”增长
据 Sonatype 报告显示,过去的一年里,开源供应、开源需求和开源安全漏洞的数据,均呈现出了“爆炸性”增长。详细情况如下:
(1)开源供应量增加了 20%。过去的一年里,四大开源生态系统发布了 6,302,733 个新版本的组件/包,推出了 723,570 个全新项目,全球 2700 万开发人员参与其中。截止目前,四大开源生态系统的组件/包总数已经达到了 37,451,682 个。
(2)开源需求增加了 73%。2021 年,世界各地的开发者将从四大生态系统下载超过 2.2 万亿个开源软件包,相比上一年这一数据大幅增加。
(3)随着开源下载量的增加,开源攻击也随之增加了 650%。2021 年,全世界见证了旨在利用上游开源生态系统弱点的软件供应链攻击呈指数级增长。
(4)生产应用程序仅利用可用开源项目的 6%。尽管有大量可用的开源项目,但目前的利用率仅集中在少数受欢迎的项目上。
(5)受欢迎的开源项目更容易受到攻击。数据显示,目前 29% 的流行项目版本至少包含一个已知的安全漏洞;反之,仅 6.5% 的非流行项目版本是这样。这一数据表明,安全研究人员们(blackhat 和 whitehat)更专注于使用率较高的项目。
开源漏洞的密度按生态系统分布
本次 Sonatype 发布的研究表明,尽管开发人员对开放源码的需求继续呈指数级增长,但实际使用的开放源码总量依旧非常少。
在目前比较流行项目中,其包含的漏洞的项目远超正常比例。Sonatype 指出,以上这一事实,为项目领导者点明了现阶段的重要责任和机遇——拥抱智能自动化,这可以让他们在最佳开源供应商的基础上实现标准化,同时帮助开发人员保持第三方库和最佳版本的更新。
更新迭代快、受欢迎程度低的开源项目更安全
Sonatype 报告数据显示,相比其他一些项目,平均更新时间(MTTU)更快的开源项目被发现有漏洞的可能性降低了 1.8 倍,因此这样的项目会更安全一些。
另外,项目的受欢迎程度,并不能很好地预测该项目的安全性。一般而言,比较流行的开源项目,其所包含漏洞的可能性是普通项目的 2.8 倍。
开发团队间的依赖关系管理实践差异较大
数据显示,在开源软件供应链中,软件开发人员在更新第三方依赖项时,69% 的时间会做出次优选择。一般而言,更新版本的项目会更好,但并非都是最好的。
由于商业工程团队仅管理了所使用组件的 25% ,这使得他们大多数开源的依赖关系比较过时,且容易受到更大安全风险的影响。
Sonatype 报告指出,自动化可帮助开发者团队节省 19.2 万美元/年。一家拥有 20 个应用程序开发团队的中型企业,在配备了智能自动化系统的条件下,每年将帮助企业省下 160 个开发日。
软件供应链管理实践:感知与现实
此次 Sonatype 研究还表明,开发团队缺乏结构化的指导,经常在软件供应链管理方面做出次优决策。
一般情况下,人们相信他们在修复缺陷部件方面做得很好,并表示他们了解风险所在。但事实上,主观调查反馈与客观数据之间存在脱节。
对于当下软件供应链领域面临的一些问题,Sonatype 在评论中表示,目前如苹果、高盛和亚马逊等业绩较好的公司,以及最近的 Zoom、Peloton 和 Wayfair 等企业,已经掌握了三个关键竞争优势:
(1)知道如何大规模使用开源和第三方创新
(2)将安全和风险控制集成到软件供应链的多个阶段
(3)比竞争对手更快地发布更高质量的代码
在过去的一年里,人们的生活和工作方式、企业实体和数字供应链的运作方式等,都发生了根本性的变化。数字创新推动经济发展的今天,企业开发者们要想规避那些利用软件供应链带来的网络攻击,或想要为软件供应链管理等方面带来一些创新,本次 Sonatype 报告或许能带来一些启发。
Sonatype 报告完整版:https://www.sonatype.com/resources/state-of-the-software-supply-chain-2021
参考链接:https://blog.sonatype.com/2021-state-of-the-software-supply-chain