今天分享的是网络安全系列深度研究报告:解决开源软件中的网络安全挑战。(报告出品方:Linux基金会&Snyk)

报告共计:36页

【报告内容摘要如下】

开源软件(OSS)已成为技术领域不可或缺的一部分,就像桥梁和高速公路是全球交通基础设施施密不可分一样,已经和现代社会的数字机器紧密结合在起。现代应用程序栈通常由70%至90%的现有开源软件组成,从操作系统到云容器,再到加密和网络功能,甚至是支撑企业或网站运行的应用程序本身。由于版权许可证鼓励免费重复使用、重新混合和重新分发,开源软件鼓励企业合作共同解决共同的挑战,即使是最激烈的竞争对手,也可通过避免重复工作来节省资金,并更快地创新和采用新兴标准。

然而,这种普遍性和灵活性是有代价的。虽然开源软件通常在安全方面享有盛誉,但这些作品背后的社区在降低代码缺陷风险中的应用开发实践和技术,或在他人发现缺陷时快速安全响应方面可能存在很大差异。通常情况下,试图决定使用哪种开源软件的开发人员很难根据客观标准确定哪些开源软件比其他开源软件更安全。企业通常没有对其使用的软件资产进行良好管理的清单,没有足够详细的细节来了解它们何时或是否易受已知缺陷的影响,以及何时或如何升级。即使那些愿意投资增强其使用的开源软件安全性的企业,也经常不知道在哪些方面进行投资,以及这相对于其他优先事项的紧迫性。

然而,在上游源头上解决安全问题试图在开发过程的早期发现它们,甚至减少它们发生的机会仍然是一个关键的需求。我们也看到了新的攻击,它们较少关注代码中的漏洞,而更多地关注供应链本身从使用“包名称上的域名仿冒将自己意外插入开发人员的依赖树”的流氓软件,到对软件构建和分发服务的攻击,再到开发人员将他们的单人项目变成可能会产生意想不到的后果“抗议软件”。

开源软件(OSS)对我们今天所依赖的软件的开发和分发产生了巨大影响。通过其开发和共享软件组件的协作和开放方式,开源软件已成为创新的关键引擎,并鼓励核心软件组件的广泛重用和共享。如今,几乎所有应用程序都由依赖于其他组件的组件组成,从而形成了一个涉及数百个组件和多层依赖项的供应链。

各种规模的组织都严重依赖软件,其中大部分的软件供应链包含开源软件组件。正因为如此,开源软件具有网络安全的影响:软件供应链是入侵者利用进行盗窃、破坏或为了经济或政治利益而开发的一个有吸引力的入口点。如今,攻击面正在从传统的网络安全威胁模型中改变。在整个软件生态系统中广泛使用的小型库中的缺陷可能会导致系统性风险,正如我们在Log4shell等事件中所见到的那样。

(1)小型组织承担着不成比例的开源软件安全风险

小型组织开源软件安全面临挑战的原因之一是规模经济。小型组织拥有较少的IT人员和预算,业务的功能需求通常具有优先性,以使业务能够保持竞争力。缺乏资源和时间是组织未能解决开源软件安全最佳实践的主要原因。

虽然令人失望的是,44%的小型组织没有开源软件安全策略,但更令人担忧的是,接近30%的大型组织也没有开源软件安全策略。小型组织可以理性地解释为增加财务、声誉和法律风险,但对于5000多名员工的中型和大型组织来说,这变得岌岌可危。中型和大型组织同样抱怨没有足够的资源或时间来应对开源软件安全需求。令人惊讶的是,大型组织更常常将缺乏安全最佳实践的意识视为不关注开源软件安全需求的原因,而不是时间不足。

(2)开发或使用开源软件的安全问题同样存在风险

跨组织而言,人们认为到2022年底,OSS开发和使用的安全性将提高到加权平均分数为72,到2023年底将提高到77。组织制定的OSS安全策略的基石是让供应商社区提供更具智能的安全工具。他们的OSS安全策略的其他关键要素包括更全面地了解安全软件开发的最佳实践,并实现更多的CI/CD自动化以消除手动操作和可能导致安全风险的机会。

(3)谁推动了开源软件安全策略?

跨组织而言,仅有31%的组织将定义OSS安全策略的责任归属于CIS(计算机信息安全)和/或安全团队。16%的多个团队作为第二选择表明,政策的制定不是由CIS确定的,而是根据团队的重点在软件开发生命周期(SDLC)中逐步形成。由于在CI/CD管道中应存在安全重点,因此需要多个团队来实施OSS安全策略。总体上依赖于开源维护者的13%可能是可行的,前提是维护者要么是组织的一部分,要么已知于组织,但是如果信任来源未知的OSS项目,这种做法似乎过于乐观。

在有开源安全策略的组织中,80%的组织将开源安全策略的定义授予CISO/安全团队、多个团队或开源维护人员。这与没有开源安全策略的组织形成对比,在没有开源安全策略的组织中,同样的团队有40%以某种方式参与开源安全。

对于组织来说,将现有软件安全工具加强智能化是提高整个供应链中的开源软件(OSS)安全性的最重要途径之一。虽然工具供应商可能认为这是日常工作,但工具用户认为这是赋予现有资源的关键要求。由于大多数终端用户组织在IT方面受到资源限制,因此一个关键目标是找到在不增加工作量的情况下提高现有开发人员工作效率的方法。增强工具的智能化和自动化就是如何在几乎不影响开发人员的情况下提高软件安全性的例子。

对于组织来说,将现有软件安全工具加强智能化是提高整个供应链中的开源软件(OSS)安全性的最重要途径之一。虽然工具供应商可能认为这是日常工作,但工具用户认为这是赋予现有资源的关键要求。由于大多数终端用户组织在IT方面受到资源限制,因此一个关键目标是找到在不增加工作量的情况下提高现有开发人员工作效率的方法。增强工具的智能化和自动化就是如何在几乎不影响开发人员的情况下提高软件安全性的例子。

开源软件正处于十字路口。那些经历了显著增长的开源 项目必须从其谦逊且有些非正式的起源中发展出来,以应对更苛刻、更注 重安全的用户社区。这个转变并不容易,因为它需要增加资源、时间、流 程和安全方面的投入。使用开源软件通常是单向的,用户可以在最小的成 本或投资下获得显著的利益。为了满足用户的期望,较大的开源项目需要 回馈和关闭循环,以提高开源软件的可持续性。雇主需要为那些有实质性 维护者或核心贡献者开源角色或责任的员工提供额外的激励。这也将有助 于鼓励开发人员更高级别地参与开源项目,以确保新人才的流动。

【报告内容看点】

  1. 开源软件安全观点
  2. 组织未能有效地管理其依赖项的安全性
  3. 组织如何解决和优先考虑其网络安全需求

完整报告获取:公众【数策前瞻】

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片

免责声明:以上报告均系本平台通过公开、合法渠道获得,报告版权归原撰写/发布机构所有,如涉侵权,请联系删除 ;资料为推荐阅读,仅供参考学习,如对内容存疑,请与原撰写/发布机构联系。

完整报告获取:公众【数策前瞻】