开源的终结?

开源云中文社区
尽管漏洞开发和披露通常很混乱,但针对世界上最大、最重要的开源项目运行技术复杂的“红队”程序感觉有点多余。很难想象研究人员和机构如此天真或失职,不理解这种行为的潜在危害。

几周前,Linux社区被一个令人不安的消息困扰了——明尼苏达大学研究人员开发(但事实证明,他们并没有完全执行)了一种方法,将他们称之为“hypocrite commits”的东西引入Linux内核——其想法是分发难以检测的行为,这毫无意义,但攻击者可能发现漏洞。

很快,这些人被禁止(至少暂时)对内核做提交。他们随后公开道歉。

尽管漏洞开发和披露通常很混乱,但针对世界上最大、最重要的开源项目运行技术复杂的“红队”程序感觉有点多余。很难想象研究人员和机构如此天真或失职,不理解这种行为的潜在危害。

同样确定的是,维护人员和项目治理人员有义务强制执行策略,避免浪费时间。他们努力生产不包含漏洞的内核版本。但不要忽略了一点——这是一项研究,而不是纯粹出于恶意,它揭示了一种软件(和组织)漏洞,需要技术和系统性的缓解。

笔者认为“hypocrite commits”的争论从各个方面来看都是相关趋势的征兆,这些趋势威胁着整个扩展的开源生态系统及其用户。这一生态系统长期以来一直在与规模、复杂性以及自由和开源软件(FOSS)等问题作斗争。复杂性体现在:

——这些大型开源项目现在有了很大的目标。

——它们的复杂性和速度已经超过了传统common方法甚至更先进的治理模式所能应付的规模。

——它们正在演变为相互商品化。例如,越来越难以明确地说明“Linux”或“Kubernetes”是否应被视为分布式应用程序的“操作系统”。营利组织已经注意到了这一点,并开始围绕“全栈”做文章。

——在这样做的过程中,一些营利组织开始扭曲自由和开源软件参与的传统模式。许多实验正在进行中。与此同时,资金、员工对自由和开源软件的承诺以及其他指标似乎在下降。

——开源软件项目和生态系统正在以不同的方式适应,有时使营利组织难以感到“宾至如归”或从参与中获益。

与此同时,威胁格局不断演变:

——攻击者更大、更聪明、更快、更耐心,导致长期作战、供应链中断等。

——攻击在财政、经济和政治上比以往任何时候都更有利可图。

——用户比以往任何时候都更容易受到攻击,接触到更多的媒介。

——越来越多地使用公共云创建了新的技术和组织单一文化层,使攻击更容易。

——复杂的商用现货(COTS)解决方案部分或全部由开源软件组装而成,创建了复杂的攻击面,其组件(和交互)可以被别有用心的参与者访问和理解。

——软件组件化使新的供应链攻击成为可能。

——与此同时,所有这一切都发生在组织寻求摆脱非战略专业知识、将资本支出转移到运营支出、并逐渐依赖云供应商和其他实体来完成艰巨的安全工作之际。

最终的结果是,Linux内核的规模和重要性并没有准备好应对改变游戏规则的超大规模威胁模型。在我们正在研究的具体案例中,研究人员能够不太费力地入侵站点(使用静态分析工具评估已经确定需要贡献者关注的代码单元),通过电子邮件非正式地提出“修复”等。

这是严重的背叛,实际上是一个受信任系统的“内部人”的背叛,该系统在历史上一直运作良好,能够生成健壮、安全的内核版本。滥用信任本身改变了游戏,而隐含的后续要求——通过系统的缓解措施来增强相互信任——也变得越来越重要。

但你如何应对这样的威胁呢?在大多数情况下,正式验证实际上是不可能的。静态分析可能无法揭示精心设计的入侵。必须保持项目进度(毕竟,还有一些已知的bug需要修复)。而且威胁是不对称的:正如老话说的,蓝队需要抵御一切,红队只需要成功一次。

笔者看到了一些补救的机会:

限制单一文化的传播。像Alva Linux和AWS的Open Distribution of ElasticSearch这样的东西是好的,部分原因是它们保持了广泛使用的FOSS解决方案的免费和开源,但也因为它们注入了技术多样性。

重新评估项目治理、组织和资金,以减少对人力因素的完全依赖,并激励营利性公司贡献其专业知识和其他资源。由于开源的开放性,大多数营利性公司都会乐于为开源做出贡献,尽管如此,但在许多社区内,这可能需要对现有的贡献者进行文化变革。

通过简化堆栈和验证组件加速商品化。将适当的安全责任提升到应用程序层。

基本上,笔者提倡的是,像Kubernetes这样的编排器不应该这么重要,Linux的影响应该更小。最后,我们应该尽可能快地对unikernels等东西的使用进行格式化。

无论如何,我们需要确保公司和个人都能提供开源所需的资源。

原文链接:

https://techcrunch.com/2021/07/18/the-end-of-open-source/

THEEND

最新评论(评论仅代表用户观点)

更多
暂无评论