明尼苏达大学 Linux 禁令提示有关开源的问题

已发表: 2022-03-11

通常有两种类型的黑客:闯入计算机系统以查找漏洞以修复漏洞的黑客和利用漏​​洞窃取数据并将组织作为人质的犯罪分子。

然后是明尼苏达大学专门研究计算机安全的助理教授陆康杰。 他最近因故意在世界上最著名的开源软件系统 Linux 内核中制造漏洞而声名狼藉。 在他发表了一篇关于他的攻击的学术论文后,Linux 内核团队禁止了这所大学并恢复了之前的修复。

有意的 Linux 内核漏洞

这些启示引发了围绕开源安全和操作系统内核的问题,操作系统内核是无数设备和服务器的基础组件。 Lu 在他和一名研究生提交给 Linux 庞大的软件代码库的一些小修复中埋藏了漏洞,颠覆了一种对保持程序安全至关重要的协作方法。

“他们取得了令人沮丧的成功,”多伦多项目经理 Alexander Sereda 说,他于 2020 年加入 Toptal 网络。“他们的恶意代码通过了本应清除此类提交的社区监督。”

虽然 Windows 和 macOS 在桌面上占主导地位,但基于 Linux 的操作系统是迄今为止服务器和超级计算机最流行的操作系统,而谷歌则使用 Android 内核的修改版本。 像红帽这样的科技巨头已经围绕开源建立了自己的企业软件业务,甚至多年来一直被视为开源生态系统主要对手的微软也出现了:2018 年它收购了 GitHub,这是开源软件的最大主机。源项目; 今天,可以在 Microsoft Store 中找到 Linux 发行版。

Linux 内核和开源软件的普遍性怎么强调都不为过,它从业余爱好者和理想主义者的东西演变成当今软件市场的基石。 确实有数以百万计的开源项目可供开发人员筛选,而且由于它们是免费的且大部分可靠,超过 90% 的商业应用程序都包含此类组件。 根据芯片设计和软件安全公司 Synopsys 的年度研究,这个数字一直在增长。

可靠与免费同样重要,开源社区以提供与专有软件相同甚至更好的程序而自豪。 该运动出现在 1990 年代,其中心宗旨是由开发人员和作家 Eric Raymond 创造,即“只要有足够的眼球,所有的 bug 都是浅薄的”。 迄今为止,开放源代码相对毫发无损——即使世界正与前所未有的黑客和勒索软件流行作斗争——只是进一步肯定了这种开放式合作仍然有效。

但是,正如 Lu 在他的研究中表明的那样,没有安全性是完美的,即使在像 Linux 内核这样关键且受到严密监控的东西中也是如此。 虽然编写安全代码可能很简单,但事后发现代码中的漏洞可能非常困难——“就像在搅拌后从茶中取出牛奶一样,”Sereda 说。 尽管开源总体上表现令人钦佩,但除了 2014 年出现的 Heartbleed 漏洞等一些重大问题外,越来越多的证据表明,开发人员在将免费软件整合到他们的产品。

开源安全风险

Synopsys 在其 2021 年年度报告中透露,在其审计的营销技术行业中,每家公司的代码库中都有开源,其中 95% 的代码库包含漏洞。 在查看医疗保健行业、金融服务行业以及零售和电子商务行业时,它发现了类似的结果。 导致结果不佳的原因有很多,但其中最主要的原因是软件变得越来越复杂,并且随着它变得越来越难以跟踪和监控组件。

2021 年加入 Toptal 网络的自由全栈开发人员 Sam Watkins 表示,开源的安全记录比专有产品好得多,但这并不能保证它始终是最好的质量。问题,这是过于复杂的程序。 这是不安全的,尽管不是出于恶意。”

那么问题就不一定是开源太开放了。 Synopsys 的首席安全策略师 Timothy Mackey 说,相反,由于没有一家供应商为社区推出补丁,即使软件周期不断缩短,差距仍然存在。 紧缩的预算迫使程序员使用不完美的捷径,比如简单的评级系统来选择他们的组件——根据受欢迎程度,而不是质量。 有多种服务可以为程序员提供这样的快捷方式,包括 Openbase、Stack Builder 和 Open Source Index,它突出显示了 GitHub 上最受欢迎的项目。

管理开源漏洞

根据程序员和学者的说法,虽然这些开源评级系统很有价值,但在权衡选项时需要更多的验证和考虑,而不是仅仅抓住看起来最匹配的组件。 每个组织都应建立一套最佳实践,其中包括谨慎选择软件的原则,考虑到所需支持的数量和面临的风险。 公司还应该跟踪并经常更新他们所有的开源组件。

我们的专家确定考虑的其他一些最佳实践包括:

  • 使用自动化、验证流程、记录所有内容以及使用 Git 跟踪代码库更改。
  • 创建一个积极的社区,包括帮助那些可能成为重要合作者的开源新手。
  • 保持所有开源供应链可审计。
  • 使用共享主机操作系统内核的开源容器。
  • 识别最关键的开源组件,然后跟踪他们的安全问题,与他们的开发人员合作,并通过补丁和资金回馈上游项目。

卡尔加里大学舒立克工程学院助理教授 Ann Barcomb 补充说,理想情况下,组织应该使用一组最佳实践来构建预先批准的产品库,这样软件就不会被任意选择。 然而,她承认这个过程既费时又费钱,而且没有得到广泛实施。

“你想要更高的安全性,但这种安全性需要付出巨大的代价,”2021 年加入 Toptal 的自由后端开发人员 Ayush Poddar 说。

Black Duck、Sonatype、Snyk 和 WhiteSource 等平台提供自动化功能,以帮助在计算机程序堆栈中查找开源组件并识别漏洞。 尽管如此,这些工具仍然是有限的,并且跟上代码补丁是另一个只会变得更糟的问题——美国网络安全和基础设施安全局经常每周报告数百个新的软件漏洞。

“你无法测试如何执行每一位代码的每一种组合,”在 CA Technologies 负责 IT 架构和工程的退休技术主管 Aidan McManus 说。 “这将需要数年时间。”

明尼苏达大学计算机科学与工程系主任 Mats Heimdahl 指出,康杰和他的研究人员还在内核中发现了许多与他们提交的错误不同的坏补丁。 “在我看来,很明显,由过度劳累和被低估的志愿者(即使是非常熟练和敬业的维护人员)进行的手动审查过程将不可避免地是不完美的,”海姆达尔在一封电子邮件中写道。

漏洞不断增加的事实引发了有关如何管理开源的基本问题。 虽然它加速了创新,但它本质上是一种共享资源,一个庞大的免费软件库,每年可为消费者节省 600 亿美元,并通过降低开发成本为公司增加利润。 可能只是有太多的搭便车者,没有足够的资源用于维护和安全。

明尼苏达大学 Linux 内核禁令:学习限制

虽然没有任何迹象表明修复程序的审查发生了变化,但 Linux 基金会正在为使用内核的研究人员建立一套最佳实践,并建议明尼苏达大学为其提交的文件指定一名审查员。 Barcomb 说,除了代码审查之外,确实没有其他选择,并且现在的社区正在合理地阻止恶意代码。 她说,鉴于知识工作所需的自主权,“你能做的最好的事情就是制定流程来识别违反信任的行为并做出相应的反应,最好是在合并更改之前。”

Heimdahl 指出,他的机构正在组织一个委员会,在等待禁令解除时就补丁提交提供建议。

Linux 曾经是一个局外人的想法,与传统的专有软件思维形成鲜明对比,但它已经演变成看起来更像一个商业项目的东西。 华为、英特尔和红帽领导着数百家定期为 Linux 内核贡献代码的公司。 虽然其中许多公司还向 Linux 基金会和开源计划的附属机构捐款,但现在可能是时候采用更系统的方法来支持软件,以帮助提高未来的安全性——一种更好地重视此类好处的方法关键的开源系统。

“人们认为开源有效是理所当然的,”伦斯勒理工学院高级讲师 Christopher Tozzi 说。 “整个新一代的人还没有真正考虑过这些问题。”