Sonatype 发布的一份报告显示,开源供需动态持续强劲增长。此外,关于开源安全风险,该报告显示,针对上游公共存储库的供应链攻击同比增长了 650% ,并且在流行和非流行项目版本中存在的已知漏洞水平方面存在着有趣的二分法。
根据从702名软件工程专业人士收集的调查反馈,研究发现人们对软件链管理实践的主观信念与10万个应用程序的客观结果之间存在根本脱节。
该报告分析了与Java (Maven Central)、JavaScript (npmjs)、Python (PyPI) 和 .Net (nuget) 生态系统相关的运营供应、需求和安全趋势。此外,研究人员研究了在过去12个月里,从开发人员进行的100,000个生产应用程序和4,000,000个组件迁移中收集的软件工程实践。
开源供应、需求和安全动态
供应量增加20%。前四大开源生态系统现在包含37451,682个不同版本的组件。
需求增加73%。到2021年,世界各地的开发者将从前四大生态系统下载超过2.2万亿的开源软件包。
攻击增加650%。2021年,针对上游开源生态系统弱点的软件供应链攻击呈指数级增长。
生产应用程序只利用了6%的可用项目。尽管有大量的开源项目可用,但使用率却集中在少数受欢迎的项目中。
热门项目更容易受到攻击。29%的流行项目版本包含至少一个已知的安全漏洞。相反,只有6.5%的非流行项目版本这样做,这表明安全研究人员关注的是最常用的项目。
确定最佳开源项目的经验指标
具有更快平均更新时间(MTTU)的项目更安全。研究发现,他们出现漏洞的可能性要低1.8倍。
受欢迎程度并不能很好地预示安全性。流行的开源项目存在漏洞的可能性是普通项目的2.8倍。
开发团队之间的依赖管理实践差异很大
软件开发人员在更新第三方依赖时,69%的情况下会做出次优选择。新版本的项目通常更好,但并不总是最好的。这在无形中忽视了版本中关于漏洞补丁的问题。
商业工程团队只管理他们使用的 25% 的组件,使得他们的大部分开源依赖项过时并且容易受到安全风险的影响。
自动化每年可为组织节省 192,000 美元。如果配备了智能自动化,一个拥有20个应用程序开发团队的中型企业每年将节省160天开发时间。
软件供应链管理实践:认知与现实
主观调查反馈和客观数据之间存在脱节。人们相信他们在修复有缺陷的组件方面做得很好,并表示他们了解风险所在。客观上,研究表明开发团队缺乏结构化的指导,并且经常在软件供应链管理方面做出次优决策。
“今年的软件供应链状况报告再次表明,开源如何既是数字创新的关键燃料,又是软件供应链攻击的成熟目标,” Sonatype执行副总裁Matt Howard表示。
“虽然开发人员对开源的需求继续呈指数级增长,但我们的研究首次表明,实际使用的总体供应量很少。
此外,我们现在知道流行的项目包含更多漏洞。这一严峻的现实凸显了工程领导者采用智能自动化的关键责任和机会,这样他们就可以对最好的开源供应商进行标准化,同时帮助开发人员保持第三方库的更新和最新的最佳版本。”
同时,面对开源存在更多安全漏洞的事实,开发团队应警惕潜在软件供应链安全风险。在开发前期将安全考虑进来。通常我们认为有人看过代码,他们分析了代码就安全了。但实际上可能不是这样。
据Synopsis称,目前84%的代码库至少存在一个安全漏洞。由于开源软件依赖于第三方代码链,安全团队通常很难获得依赖性供应链的全部可见性,而在那些不易察觉的地方的任何漏洞都可能导致整个网络受到破坏。建议企业在软件开发过程中或进行DevsecOps建设时,有必要进行一定的静态代码安全检测及开源代码安全测试,以确保没有在无意间将安全漏洞引入软件,提高软件安全性降低遭到网络攻击的风险。Wukong(悟空)静态代码检测工具,从源码开始,为您的软件安全保驾护航!
参读链接:
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/120834.html