VMware运行dockerrun命令来安装和运行一些随机二进制文件

开源软件通常被认为比专有软件更安全,因为用户可以根据需要从源代码编译软件。他们知道在他们的环境中运行的代码的来源。可以审查在其环境中运行的代码的每一部分什么是程序包,并且可以追溯每段代码的开发人员。

然而,用户和供应商正在摆脱软件完全控制带来的复杂性,转而寻求软件的便利性和易用性。

VMware 副总裁兼首席开源官 Dirk Hohndel 说:“当我在一个关于网络安全和隐私的讲座中看到,演讲者运行 docker run 命令来安装和运行一些从互联网下载的随机二进制文件时,我经常会是一个很大的惊喜。这两件事似乎不一致。

软件供应链,即应用程序从编码、打包和分发到最终用户的过程,是相当复杂的。这些链接之一中的错误可能会导致潜在的风险软件,尤其是对于开源软件。恶意行为者可以在用户不知情或无法控制的情况下访问后端并将任何可能的恶意代码插入其中。

此类问题并非云原生领域独有,而是在现代应用程序开发中很常见,包括 JavaScript、NPM、PyPI、RubyGems 等。甚至 Mac 上的 Homebrew 也可以从源代码中获得,由用户自己编译。

“今天,你只需下载二进制文件并安装它,并期望源代码不会被恶意修改,”Hohndel 说。“作为一个行业,我们需要更加关注我们的开源代码供应。这是非常重要的事情,我正在努力让更多人意识到它的重要性。”

但是,这不仅仅是二进制到源的关系。只运行一个二进制文件而不必从源代码构建所有内容具有巨大的优势。当软件开发需求发生变化时什么是程序包,这种操作模式可以让开发人员在流程中更加灵活和响应迅速。通过重用一些二进制文件,他们可以快速循环进行新的开发和部署。

“如果有一种方法可以为这个软件添加签名并有一个‘即时’验证机制让用户知道他们可以信任这个软件,那就太好了,”Hohndel 说。

Linux 发行版解决了这个问题,因为发行版充当了看门人,检查进入受支持软件存储库的软件包的完整性。

“通过 Debian 等发行版交付的软件包使用密钥进行签名。需要大量工作才能确保它实际上是发行版应该包含的内容。开发人员通过这种方式解决了开源供应链问题。”Hohndel 说。

然而,即使在 Linux 发行版上,人们也希望简化事情并以正确性和安全性换取速度。现在,像 AppImage、Snap 和 Flatpack 这样的项目已经变成二进制,给 Linux 发行版带来了开源供应链信任问题。这与 Docker 容器完全相同。

“理想的解决方案是为开源社区找到一种方法来设计一个信任系统,以确保如果二进制文件使用受信任网络中的密钥签名,它是可以信任的,并允许我们可靠地返回源代码并进行审查, ”霍恩德尔建议道。

然而,所有这些额外步骤的成本是大多数项目开发人员不愿意或无法负担的。几个项目正试图找到解决这个问题的方法。例如,NPM 已经开始鼓励提交包的用户正确验证和保护他们的帐户,以增加平台的可信度。

开源社区擅长解决问题

Hohndel 致力于解决开源供应链问题,并试图让更多的开发人员意识到它的重要性。VMware 去年收购了 Bitnami,为管理 VMware 签署的开源软件提供了机会。

“我们正在与各个上游开源社区合作,以提高对此的认识。我们还在讨论技术解决方案,使这些社区更容易解决潜在的开源供应链问题,”Hohndel 说。

开源社区历来致力于确保软件质量,包括安全性和隐私性。尽管如此,Hohndel 说:“我最大的担忧是,当我们对下一个新事物感到兴奋时,我们常常忽略了所需的基本工程原理。”

最终,Hohndel 相信答案将来自开源社区本身。“开源是一种工程方法,它是一种社会实验。开源是关于人们相互信任、相互合作、跨越国界、在公司之间以及在竞争对手之间以一种我们以前从未有过的方式。” 他解释道。

通过:

作者:Swapnil Bhartiya 主题:lujun9972 译者:Kevin3599 校对:wxy

本文由LCTT原创编译,Linux中国光荣推出

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论