Lightbend 首席执行官 Tyler Jewell 认为,没有企业赞助或其他形式的专门资金的开源基础设施软件项目无法保证其安全性。
译自 Is Community-Backed Open Source Software Worth the Risk?,作者 Tyler Jewell。
围绕开源软件项目安全性的持续讨论最近已成为开发人员和企业领导者之间的主流。特别是,最近披露了 Linux 使用的 xz 压缩库 中的一个漏洞,震撼了开发人员的世界,表明即使是最大、最活跃的开源项目也容易受到恶意行为者引入漏洞的影响。
虽然开源社区宣扬了他们在解决此问题上的快速、透明和协作响应,以及尽管经过多年的计划,攻击者还是立即失败了,但社区也淡化了对开源依赖可能带来的总体风险。事实很简单,如果你的用例取决于可靠的安全或法规遵从性,那么商业支持的软件很可能成为你开发需求的更优选择。
最重要的是,任何具有基于社区治理的项目都比具有 100% 商业支持的项目产生更大的风险。大多数开源项目人手不足且资金不足,缺乏实施安全措施的适当资源。很少对贡献者进行背景调查。专门的安全团队、正式的安全测试程序和既定的问责措施以确保代码库和项目运营的安全性和完整性在很大程度上不存在。
这通常转化为包含未解决漏洞的开源,并且不满足现有的法规要求,更不用说来自欧盟和美国的新合规要求的快速发展世界。与商业软件的安全性和合规性能力相比,开源在很多方面都显得力不从心。
资金不足的开源项目最大的问题是遵守全球法规。由于他们处理数据的敏感性和运营的关键性,许多垂直市场对软件遵守安全法规有严格的要求。这些应用程序代表了广泛的基本行业,包括:
- 医疗保健:遵守美国《健康保险可移植性和责任法案》(HIPAA) 法规对于保护患者健康信息至关重要。医疗保健提供者、保险公司和相关服务必须确保其软件系统安全地管理和保护患者数据。
- 金融服务:该行业受到严格监管,例如欧洲的《通用数据保护条例》(GDPR)、美国的《格拉姆-利奇-布利利法案》(GLBA) 和其他国家法规,以保护消费者财务信息。银行、投资公司和保险公司需要强有力的安全措施来防止数据泄露和欺诈。
- 政府和国防:政府实体和国防承包商必须遵守严格的安全标准,例如美国的《国家标准与技术研究院》(NIST) 和全球类似的框架。这些标准确保政府机构使用的软件能够抵御网络威胁。
- 能源和公用事业:能源部门,包括电力、天然气和水务公用事业,必须遵守法规,例如美国的《北美电力可靠性公司关键基础设施保护》(NERC CIP)。这种合规对于保护关键基础设施免受破坏和网络攻击至关重要。
- 汽车:随着互联汽车的兴起,网络安全法规在汽车行业变得越来越重要。诸如 ISO/SAE 21434 等法规旨在确保在车辆开发的工程流程中集成网络安全措施。
- 零售:零售商,尤其是处理大量在线交易的零售商,必须遵守《支付卡行业数据安全标准》(PCI DSS) 以保护信用卡信息并防止数据泄露。
这些行业必须不断更新其安全实践和软件解决方案,以遵守不断变化的法规并抵御新的网络威胁。大多数开源项目无法跟上,而商业支持的项目则将其作为开展业务的成本。
SOC 2(服务组织控制 2) 有助于确保服务提供商安全地管理您的数据,以保护您组织的利益及其客户的隐私。SOC 2 专门设计用于存储客户数据的云服务提供商,并且已成为为其他企业提供服务的技术和云计算实体的关键组成部分。有多少开源项目拥有满足 SOC 2 要求的资源,而这些要求需要密集且持续地扫描漏洞?
除了监管合规性之外,现在很明显,社区管理的开源可能会带来重大的新安全风险。xz Linux 漏洞 的披露将开源的软肋暴露在聚光灯下:如果恶意行为者通过做出良性、有益的贡献来建立虚假信任以获得“维护者”权力,他们可以插入后门恶意软件。
另一方面,商业供应商通过认证贡献者的可信度更进一步。如果供应商未能保护他们分发的软件,他们会向客户提供具有有效财务补救措施的赔偿。基金会不能也不会提供此类保护。
这并不是说商业软件是刀枪不入的,但商业支持的实体几乎总是比免费和开源软件项目采用更多的保障措施。
当您从商业供应商处购买订阅时,开源项目将变得更安全、更强大、更广泛地被采用。
例如,对于 Akka,自我们转换许可证以来,我们已经通过多种方式改进了 Akka 的安全性和合规性,而这些方式在我们的旧模式下是不可能的。例如,我们在 18 个月内修复并赔偿了 42 个 CVE。我们还解决了 45 个错误,其中大多数是由无法在公共问题上发布问题但可以通过机密通信透露问题的客户发现的。我们已经建立了 GDPR 和 SOC2 类型 2 合规性,并且即将完成我们的 ISO 27001 合规性。我们通过采用多个安全软件开发框架政策和针对美国政府使用或出售的软件的 NIST-CSF 证明来证明我们的可信度。
xz 漏洞是给软件行业的警示。当然,这是快速有效地解决的。然而,绝大多数活跃的开源项目都在依靠个人开发人员的自愿捐款,预算非常有限。Tidelift 2021 年的一份报告强调了困扰大多数开源项目的长期资金不足和资源匮乏问题。如果没有专门的资金来源或企业赞助,这些项目就缺乏实施稳健的安全流程、执行全面的代码审计或提供对其代码库的完整性保证的手段。这些明显的安全风险不容忽视。如果您或您的客户所依赖的应用程序需要强大的安全性和监管合规性,那么您有责任考虑商业支持的解决方案作为社区支持的开源软件的替代方案。