行业新闻

80%的软件代码库含有至少一个漏洞

80%的软件代码库含有至少一个漏洞

新发布的研究结果显示:2021年开源软件占典型代码库的份额增长到78%,但公司仍继续使用过时和不再维护的组件,导致自身软件面临潜在漏洞威胁。

Synopsy本周发布的年度《开源软件风险分析》(OSSRA)报告揭示,绝大多数软件代码库含有至少一个漏洞(81%),使用过时四年以上的开源组件(85%),且包含两年来毫无开发的组件(88%)。不过,很多数据点显示情况比去年有所改善:去年84%的代码库含有至少一个漏洞;91%的代码库在之前两年里毫无开发活动。

总体而言,调查数据表明,各家公司在应对漏洞方面才刚开始取得进展,前路还很漫长。

Synopsys首席安全策略师Tim Mackey称:“业界试图在软件供应链方面有所作为的想法在一定程度上引起了共鸣,但尚未达到产生重大影响的程度。开源软件如此众多,人们并不会说我要用某个组件,组件往往是与他们正在使用的其他库联动的。”

Synopsys 2022年《开源安全风险分析》(OSSRA)报告

Synopsys报告是对软件安全和许可合规情况的独特审视,因为其数据完全来自于该公司的尽职调查服务,而尽职调查通常发生在并购(M&A)期间。根据咨询公司普华永道的数据,由于企业收购方、私募股权公司和特殊目的收购公司(SPAC)之间的激烈竞争,2021年并购数量大涨24%。并购活动增加导致代码库扫描激增。报告称,Synopsys扫描了17个行业的2400多个商业代码库,扫描量增长64%。

报告表明,总体而言,在降低已审计代码库中的高风险漏洞数量方面,该公司取得了一定进展,10大高风险漏洞发生率显著下降。例如,2020年的数据中,29%的代码库含有暴露出最普遍漏洞的组件;而2021年的数据中,仅8%的代码库中识别出了最普遍的高风险漏洞。

报告中写道:“所有反复出现的高风险漏洞均大幅减少。高风险漏洞的快速识别、优先级排序和缓解,可以帮助团队解决对其公司构成最大威胁的风险。”

开源的持续普及

安全状况的改善源于公司持续深化其开源软件的使用。2019年,开源代码占Synopsys所审计代码库的70%;2020年,这一比例爬升到75%。如今,2021年的数据显示,公司软件安全状态显著仰赖其开发团队所用开源组件的安全状况。

然而,开源软件项目的质量延续不平衡态势,尤其是在安全方面。例如,几乎四分之一(23%)的软件项目仅有一位开发人员贡献大部分代码,这就造成将此类开源项目作为组件用在自身软件中的公司面临潜在风险。

遗憾的是,公司并未消除开源组件和依赖项中的重大风险。由于88%的代码库包含过时版本(尚未应用更新的组件),公司需要通过软件物料清单(SBOM)跟踪在开发中使用的软件和项目。

SBOM越来越多?

未来一两年里,SBOM会变得越来越普遍,但仍然无法解决问题。

Synopsys首席安全策略师Tim Mackey表示:“更大的问题是,大多数人不知道怎么用SBOM。这是许可协议旁边又一份没人看的文档,他们不知道该拿这份文档怎么办,但是他们听说这文档具有神奇的魔力,于是顺势就要求了,却又压根儿没设立个使用流程。”

随着公司越来越善于分析自身软件所用的组件,许可问题也会愈加暴露出来并得以解决。由于存在各种开源许可,公司需留意自己开发过程中引入了哪些软件。目前,超过半数的已审计代码库(53%)存在许可冲突,20%包含无许可或非标准许可的开源代码。

Synopsys的报告揭示,“若所含开源组件无可识别许可或采用自定义许可,代码库就会面临额外的风险。” 

Synopsys 2022年《开源安全风险分析》(OSSRA)报告:

https://www.synopsys.com/blogs/software-security/open-source-trends-ossra-report/?_sp=ec432b30-8600-491f-9169-70ab0e5f3e10.1649827683142

关闭