您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[开源安全基金会, Linux 基金会]:解决开源软件中的网络安全挑战 - 发现报告

解决开源软件中的网络安全挑战

解决开源软件中的网络安全挑战

开源软件安全和方法的现状以及解决并改善
您的网络安全状况的方法 联 合 出 品 : 开源软件(OSS)已成为技术领域不可或缺的一部分,就像桥梁和高速公路是全球交通基础设施施密不可分一样,已经和现代社会的数字机器紧密结合在一起。据报告显示,现代应用程序栈通常由70%至90%的现有开源软件组成,从操作系统到云容器,再到加密和网络功能,甚至是支撑企业或网站运行的应用程序本身。由于版权许可证鼓励免费重复使用、重新混合和重新分发,开源软件鼓励企业合作共同解决共同的挑战,即使是最激烈的竞争对手,也可通过避免重复工作来节省资金,并更快地创新和采用新兴标准。 然而,这种普遍性和灵活性是有代价的。虽然开源软件通常在安全方面享有盛誉,但这些作品背后的社区在降低代码缺陷风险中的应用开发实践和技术,或在他人发现缺陷时快速安全响应方面可能存在很大差异。 通常情况下,试图决定使用哪种 开源软件的开发人员很难根据客观标准确定哪些开源软件比其他开源软件更安全。企业通常没有对其使用的软件资产进行良好管理的清单,没有足够详细的细节来了解它们何时或是否易受已知缺陷的影响,以及何时或如何升级。即使那些愿意投资增强其使用的开源软件安全性的企业,也经常不知道在哪些方面进行投资,以及这相对于其他优先事项的紧迫性。 然而,在上游源头上解决安全问题-试图在开发过程的早期发现它们,甚至减少它们发生的机会-仍然是一个关键的需求。我们也看到了新的攻击,它们较少关注代码中的漏洞,而更多地关注供应链本身-从使用“包名称上的域名仿冒将自己意外插入开发人员的依赖树”的流氓软件,到对软件构建和分发服务的攻击,再到开发人员将他们的单人项目变成可能会产生意想不到的后果“抗议软件”。 为了满足开源软件生态系统中对更好的安全实践、工具和技术的迫切需求,一系列深度投资的组织在2020 年聚集在一起,成立了开源安全基金会(OpenSSF),并选择将这项工作设在Linux基金会。这项公共努力已经发展到包括数十个不同公共计划的数百名积极参与者,这些计划位于7个工作组下,来自超过75个不同组织的资金和合作伙伴关系,并覆盖了数百万个开源软件开发者。本报告介绍了我们打算用来帮助支持这项工作的分析。您可以在以下位置查看我准备的证词的完整副本:美国众议院科学和技术委员会的证词-开源安全基金会(openssf.org)。 布赖恩·贝伦多夫 总经理,开源安全基金会 Linux 基金会 24%的组织对它们的直接依赖的 5.1平均每个应用程序存在的重要 安全性感到有信心。 59%的组织报告称,他们的开 漏洞数量。 源软件在一定程度上或高度安全。 根据编程语言的不同,重要漏洞数量的范围在 2.6 到 9.5 之间。 18% 软件组成分析(SCA)和 静态应用程序安全测试(SAST)工具是解决安全顾虑使用的排名第一和第二的工具。 68.8 的企业对其传递依赖项的安全性感到有信心。 根据编程语言的不同,依赖项的数量在 25 到 174 之间变化。每个项目的平均依赖项。 97.8平均修复漏洞所需的天数。 49% 73%的组织正在寻找提高软件安全性的最佳实践。 的组织拥有涵盖开源软件安全的安全策略。 雇主提供更多的激励措施是改善开源软件资源配置的第一途径。 更加智能的工具 11% 是组织机构试图提高供应链安全性的第一选择。 组织在 2022年的安全分数平均提高百分比 介绍 安全挑战 解决开源软件组件的安全问题需要与保护专有、供应商支持软件的传统方法不同的方法。开源软件的开发结构更加松散和以社区为重心,这种性质使得解决软件安全问题变得更具挑战性。开源软件项目的发布范围从少数几个大型可见项目(如Linux内核和Kubernetes)到非常多的小型项目。小型项目通常具有更少的贡献者和资源,因此更有可能采用简单的方法来对待开发和安全。 开源软件 (OSS) 对我们今天所依赖的软件的开发和分发产生了巨大影响。通过其开发和共享软件组件的协作和开放方式,开源软件已成为创新的关键引擎,并鼓励核心软件组件的广泛重用和共享。 如今,几乎所有应用程序都由依赖于其他组件的组件组成,从而形成了一个涉及数百个组件和多层依赖项的供应链。 各种规模的组织都严重依赖软件,其中大部分的软件供应链包含开源软件组件。正因为如此,开源软件具有网络安全的影响:软件供应链是入侵者利用进行盗窃、破坏或为了经济或政治利益而开发的一个有吸引力的入口点。如今,攻击面正在从传统的网络安全威胁模型中改变。在整个软件生态系统中广泛使用的小型库中的缺陷可能会导致系统性风险,正如我们在 Log4shell 等事件中所见到的那样。 开源软件在组织软件中所带来的巨大好处和普及性,加上开源软件供应链的脆弱性,让我们处于一个十字路口。使用开源软件的组织和公司需要更加了解它们所使用的依赖项,积极地和定期地监控所有组件的可用性、可信性和漏洞。最终,使用开源软件与回馈开源社区应该是一种互惠互利的关系:开源软件的消费者必须向开源软件社区做出贡献,以确保他们依赖的依赖项的健康和可行性。仅仅使用开源软件而不进行贡献是不够的。需要的是将开源软件依赖项的性质纳入标准的网络安全和开发实践中,并向组织依赖的开源软件社区做出贡献。 研究方法 该调查包括四个部分7 本报告的关注点在开源软件安全,以及如何改善开源软件的安全性和可持续性。 $筛选问题和人口统计学信¨ $开源软件安全视角。样本量为 539,置信度水平为 90%,误差率(MoE)为 +/- 3.6t 研究始于 2022 年 3月,进行了15次开源软件维护者和网络安全专家的访谈。这些定性访谈有助于塑造研究范围和设计定量调查工具。 $为安全软件开发提供最佳实践。样本量为 72,只邀请了开源软件维护者和核心贡献者完成本部分的调查。由于这一部分的技术细节较多,本报告没有对其进行讨论,将在2022年三季度发表的另一份报告中进行讨论¬ $改进开源软件安全。样本量为 433,置信度水平为 90%,误差率(MoE)为 +/- 4.0%。 2022 年 4 月,针对以下角色进行了一次全球调查7 $贡献、使用或管理开源软件的个$开源软件的维护者、核心贡献者和偶尔的贡献$使用开源软件的专有软件开发人$强烈关注软件供应链安全的个人 
 更多有关此研究方法和样本统计信息的信息,请参阅本文的方法部分。Snyk提供的数据基于超过130万个项目,采集周期为2021年 4月1日至2022 年 3月31日。Snyk的工作主要集中在了解五种关键语言/生态系统(.Net、Go、Java、JavaScript和Python)如何影响软件供应链的复杂性上。这些数据是通过使用Snyk开源工具收集的,该工具是一个静态代码分析(SCA)工具,供个人和开源维护人员免费使用。 开源软件安全观点 您是否已为开源软件的开发或使用制定了开源安全图1:有涵盖开源软件的安全政策的组织 政策?(请选择一项) 该调查的初始问题旨在了解组织在涵盖开源软件开发和使用方面的安全承诺以及对正在使用的开源软件及其依赖性安全性的信念。对这些问题的回答表明,组织在使软件安全成为优先事项方面进展缓慢。 许多组织没有涵盖开源软件的安全政策 这项研究最惊人的发现之一是,如图 1 所示,只有 49% 的组织拥有涵盖开源软件开发或使用的安全策略。34% 的组织表示,他们没有开源软件开发和使用的安全策略,17% 的受访者不确定他们的组织是否有计划。如果将这 17% 根据现有的回答分布来按比例分配,则拥有涵盖开源软件的安全策略的组织数量从 49%上升到59%,而没有策略的组织则从 34% 上升到 41%。 拥有涵盖开源软件的安全策略表示您拥有包含许多使用的开源软件组件的安全行动计划。如果没有软件安全策略,组织可能会面临相当大的财务和声誉风险,因为他们可能没有在将软件包含进项目之前进行评估,或者可能没有为由于软件漏洞(无论是开源软件还是其他软件)而不可避免的更新做好准备。 小型组织承担着不成比例的开源软件安全风险 本次调查涵盖了各种规模的组织(根据全球员工人数划分)。调查样本按组织规模分布如下:小型组织(44%,1-499名员工),中型组织(20%,500-4,000名员工),大型组织(35%,5,000名及以上员工),1%不知道或不确定。 请注意,我们有意没有对涵盖开源软件的安全策略有任何特殊要求。一些组织只有一个关于软件的策略,然后仅在开源软件有相对少的情况下才有特定的声明。这是所谓的“Hellekson 定律”的应用(“通过删除缩小策略范围的分隔符,例如,从“开源软件”策略中删除“开源”,可以改进通用情况下的更具体策略)。对于我们的研究目的来说,这是可以接受的。我们只是让受访者确定他们所在组织适用的情况。 按组织规模衡量涵盖开源软件的安全政策的情况如图2所示。立即显着的是,1-499名员工的小型组织和500名员工以上的组织之间的分布差异。只有41%的小型组织拥有开源软件安全政策,而大型组织的开源软件安全政策采用率在56%-57%之间。这个显著的差异表明,小型组织在开源软件安全政策采用方面的行为与大型组织不同。 图 1 所示的分布的一个好处是,我们可以对拥有安全策略的组织与没有安全策略的组织进行统计学比较和对比。了解这些比较差异有助于我们描述组织在开源软件安全方面的旅程。 小型组织开源软件安全面临挑战的原因之一是规模经济。小型组织拥有较少的 IT 人员和预算,业务的功能需求通常具有优先性,以使业务能够保持竞争力。缺乏资源和时间是组织未能解决开源软件安全最佳实践的主要原因。 虽然令人失望的是,44% 的小型组织没有开源软件安全策略,但更令人担忧的是,接近 30% 的大型组织也没有开源软件安全策略。小型组织可以理性地解释为增加财务、声誉和法律风险,但对于 5000 多名员工的中型和大型组织来说,这变得岌岌可危。中型和大型组织同样抱怨没有足够的资源或时间来应对开源软件安全需求。令人惊讶的是,大型组织更常常将缺乏安全最佳实践的意识视为不关注开源软件安全需求的原因,而不是时间不足。 许多组织在开源软件安全方面得分低​ 简单的加权平均所有回答的分数显示,所有组织的综合分数为 65分,这是一个不好的分数。拥有开源软件安全策略的组织得分为70 分,而没有策略的组织得分为 58 分。 我们询问了组织关于他们的开源软件安全性的评估。这个问题的回答如图 3 所示。总体而言,59% 的组织认为他们的开源软件在某种程度上是安全的或者非常安全的。对于有开源软件安全策略的组织,这个比例上升到了 70%。而对于没有安全策略的组织,这个比例则下降到了 45%。 您的开源软件今天有多安全?按您是否有一个用于开源开发或使用的开源安全策略进行分组(选择一项) 开发或使用开源软件的安全问题同样存在风险 与图 4 相比,这个分布的相似性也产生了一个加权平均值为 65,安全策略得分为 71,没有策略的组织得分为 58。 同样,图 4展示了开发或使用开源软件的过程的安全性。使用图 3中展示的相同回答,结果几乎相同。在所有组织中,59%的人认为他们的开发过程是相对安全或高度安全的。对于拥有 OSS 安全策略的组织,这个值升至73%,而对于没有安全策略的组织,则下降至47%。 跨组织而言,人们认为到 2022 年底,OSS 开发和使用的安全性将提高到加权平均分数为 72,到 2023 年底将提高到 77。在本报告的后面部分,您将看到,组织制定的 OSS 安全策略的基石是让供应商社区提供更具智能的安全工具。他们的 OSS 安全策略的其他关键要素包括更全面地了解安全软件开发的最佳实践,并实现更多的 CI / CD 自动化以消除手动操作和可能导致安全风险的机会。 谁推动了开源软件安全策略? 图 5 表面上制造了一个难题