肖恩·奥米拉 (Shaun O'Meara) 是 Mirantis 的全球首席技术官,20 年来一直与客户一起设计和构建企业 IT 基础设施。紧随其后的是——从某种意义上说,同样令人不安——宣布该大学已被禁止,至少是暂时禁止为内核开发做出贡献。随后研究人员公开道歉。尽管漏洞利用开发和披露通常很混乱,但针对世界上最大和最重要的开源项目运行技术上复杂的“红队”程序感觉有点额外。很难想象研究人员和机构会如此天真或被遗弃,以至于不了解这种行为潜在的巨大爆炸半径。同样可以肯定的是,维护人员和项目治理有义务执行政策并避免浪费时间。常识表明(和用户要求)他们努力生产不包含漏洞利用的内核版本。但是杀死信使似乎至少错过了一些要点——这是研究而不是纯粹的恶意,它揭示了一种要求技术和系统缓解的软件(和组织)漏洞。我认为“伪君子的承诺”在各个方面都是威胁整个扩展开源生态系统及其用户的相关趋势的征兆。长期以来,该生态系统一直在努力解决规模、复杂性以及免费和开源软件 (FOSS) 对各种人类事业日益重要的问题。让我们来看看这个复杂的问题:它们的复杂性和速度已经超出了传统“公共”方法甚至更先进的治理模型可以应对的规模。它们正在进化以相互商品化。例如,越来越难以明确地说明“Linux”还是“Kubernetes”应该被视为分布式应用程序的“操作系统”。营利性组织已经注意到这一点,并开始围绕“全栈”投资组合和叙述进行重组。
在这样做的过程中,一些营利性组织开始扭曲传统的 FOSS 参与模式。许多实验正在进行中。与此同时,资金、对 FOSS 的员工人数承诺和其他指标似乎都在下降。 OSS 项目和生态系统正在以多种方式进行调整,有时使营利性组织很难有宾至如归的感觉或从参与中获益。攻击者更大、更聪明、更快、更有耐心,导致长期博弈、供应链颠覆等。越来越多地使用公共云创造了新的技术和组织单一文化层,可能会支持和证明攻击。部分或全部由开源软件组装而成的复杂商业现成 (COTS) 解决方案创建了复杂的攻击面,其组件(和交互)可被不良行为者访问和理解。与此同时,随着组织寻求摆脱非战略专业知识,将资本支出转为运营支出,并演变为依赖云供应商和其他实体来完成安全方面的艰苦工作,所有这一切都在发生。最终结果是 Linux 内核的规模和绝对关键的项目没有准备好应对改变游戏规则的超大规模威胁模型。在我们在这里研究的特定案例中,研究人员能够以相对较低的工作量(使用静态分析工具评估已经确定需要贡献者注意的代码单元)来定位候选入侵站点,通过电子邮件非正式地提出“修复”,以及利用许多因素,包括他们自己作为可靠和频繁贡献者的既定声誉,将漏洞利用代码置于提交的边缘。
这是一个严重的背叛,实际上是由信任系统的“内部人员”实施的,该系统在历史上一直很好地产生强大且安全的内核版本。滥用信任本身改变了游戏规则,而隐含的后续要求——通过系统化的缓解措施来加强相互之间的信任——隐约可见。但是,您如何应对这样的威胁?在大多数情况下,形式验证实际上是不可能的。静态分析可能无法揭示巧妙设计的入侵。必须保持项目进度(毕竟有已知的错误需要修复)。而且威胁是不对称的:正如经典台词所说——蓝队需要防范一切,红队只需要成功一次。限制单一文化的传播。像 Alva Linux 和 AWS 的 ElasticSearch 的开放分发这样的东西很好,部分原因是它们使广泛使用的自由和开源软件解决方案保持免费和开源,还因为它们注入了技术多样性。重新评估项目治理、组织和资金,着眼于减少对人为因素的完全依赖,并激励营利性公司贡献其专业知识和其他资源。大多数营利性公司都乐于为开源做出贡献,因为它的开放性,而不是尽管如此,但在许多社区中,这可能需要对现有贡献者的文化进行改变。通过简化堆栈和验证组件来加速商品化。将适当的安全责任推入应用层。基本上,我在这里提倡的是,像 Kubernetes 这样的编排器应该不那么重要,而 Linux 应该影响较小。最后,我们应该尽快将 unikernel 之类的东西的使用形式化。无论如何,我们需要确保公司和个人都提供开源所需的资源。