漏洞增加的原因有很多,一部分原因是现在有更多的自动扫描和检测工具可以在开源软件中发现和修复这些安全漏洞,更重要的原因是全球利用上游开源生态系统(如JavaScript、Java、.NET和Python)的弱点而攻击的行为在持续增长。根据安全企业Sonatype的《Annual State of the Software Supply Chain 2023》调查统计,在2022年开源软件供应链攻击同比增长742% ,较前一年的650%再次大幅增长。
根据安全企业Veracode发布的《State of Software Security: Open Source Edition》,统计了8.5k个应用和35.1k个开源软件库的数据显示,软件应用中平均每个软件应用依赖283个开源库,有90%的应用依赖34个以上的开源库,有10%的应用依赖1400个以上的开源库。其中依赖情况最复杂的是JavaScript,JavaScript应用中平均每个应用依赖377个开源库,有90%的应用依赖66个以上的开源库。按编程语言统计,大部分开源库平均漏洞数量介于2-3个之间,包含缺陷库的百分比最低的是.NET,最高的是PHP语言。
开源软件开发过程中使用过时的、存在漏洞的开源组件仍然是常态。据Linux基金会统计,超过80%的代码库包含四年未更新的组件。根据Sonatype的《Annual State of the Software Supply Chain 2023》调查统计,只有28%的组织机构可在1天之内追踪到最新发布的漏洞。39%的组织机构在1到7天内追踪到并着手修复漏洞,29%的组织机构需要1周以上的时间才能追踪到。这意味着将有很长一段时间,软件应用暴露潜在的恶意攻击下。
即使有些企业在专利运营方面成果显著,被称作为“巨无霸”,但是在使用开源软件时也要注意一些“隐藏”红线。安卓系统是谷歌开发的智能手机和平板电脑操作系统,全球份额超过82%,虽然安卓系统被称为开源系统,但是开源系统也存在着“垄断”行为,最简单的例子是手机制造商必须接受预装的谷歌软件,否则将无法使用安卓系统。作为免费安装安卓系统的“对价”,如果一个设备制造商意图安装谷歌的任何服务,主要是安卓系统,谷歌都会在协议中要求他们安装其他的谷歌服务,在形式上非常类似于捆绑销售。这份“移动应用分发协议”(Mobile Application Distribution Agreement)(以下简称MADA协议)被其竞争对手在欧洲、韩国等地投诉滥用市场地位。分析MADA协议中的预装服务条款,一旦制造商决定安装一个类似于YouTube的谷歌服务,那么谷歌的搜索引擎就会被认为是搜索的默认引擎,谷歌地址服务也会默认安装并应用。由于“集群效应”的存在,制造商将有可能主动排除选择竞争对手的软件。