本文介绍了Homebrew与Alpha-Omega和OpenSSF合作的一个新项目,旨在提高Homebrew的透明度和安全性,通过为homebrew-core
引入密码学上可验证的构建来源,使Homebrew的软件包符合SLSA Build L2标准,从而增强Homebrew的软件供应链安全,抵御潜在的供应链攻击。
这是与 Alpha-Omega 联合发布的一篇文章——请阅读他们的公告文章!
我们正在与 Alpha-Omega 和 OpenSSF 合作启动一个新项目,以提高 Homebrew 的透明度和安全性。这个为期六个月的项目将为 homebrew-core
带来密码学上可验证的构建来源,允许最终用户和公司证明 Homebrew 的软件包来自官方的 Homebrew CI/CD。简而言之,Homebrew 的软件包将符合 SLSA Build L2(以前称为 Level 2)。
作为 macOS 上主要的软件包管理器和 Linux 上流行的用户空间替代方案,Homebrew 每年促进数亿软件包的安装,包括数百万程序员赖以构建其软件的可信构建的开发工具和工具链。这种关键地位使得 Homebrew 成为供应链攻击的高调目标,而这个项目将有助于阻止这些攻击。
软件供应链由各个环节组成,攻击者的目标是通过找到并颠覆最薄弱的环节来破坏整个链条。相反,防御者的目标是加强每个环节,因为攻击者只需要破坏一个环节就能获胜。
之前加强整个链条的努力主要集中在以下几个环节:
通过这篇文章,我们想重点介绍另一个迫切需要加强的环节:不透明且复杂的构建过程。
软件随着时间的推移变得越来越复杂,构建也不例外;现代构建过程包含软件供应链中薄弱环节的所有迹象:
驯服这些复杂性需要了解它们。我们必须能够枚举并正式描述我们构建系统的组件,以便自动分析它们。这有很多名称,涵盖了很多技术(SBOM、构建透明度、可重现性等),但基本思想是来源。
与此同时,收集来源会为我们的链条添加一个新的环节。如果没有完整性和真实性保护,来源就只是攻击者可能操纵的另一条信息。
这引出了我们的最终目标:我们可以通过密码学验证的来源,从而让我们对构建的来源和完整性的声明充满信心。
幸运的是,可验证来源的所有构建块已经存在:Sigstore 为我们提供了与机器(或人类)身份绑定的强大数字签名,DSSE 和 in-toto 提供了用于制作签名证明的标准格式和签名程序, SLSA 提供了一个正式的分类法,用于评估我们声明的强度和可信度。
这对 Homebrew 意味着什么?一旦完成,homebrew-core
提供的每个 bottle 都将以数字方式签名,以证明它是在 Homebrew 受信任的 CI/CD 上构建的。这些数字签名将通过 Sigstore 提供;它们背后的证明将通过 in-toto 证明框架 执行。
即使攻击者设法入侵 Homebrew 的 bottle 托管或以其他方式篡改 homebrew-core
公式中引用的 bottle 的内容,他们也无法伪造对其更改的真实数字签名。
这种保护补充了 Homebrew 现有的完整性和来源侧真实性保证。一旦 homebrew-core
上的来源完全部署,运行 brew
install
python
的用户将能够证明以下各项:
最后一个属性是全新的,等同于 SLSA 安全级别分类中的 Build L2。
这项工作是开源的,并且将公开进行,因此你可以关注我们的活动。我们积极参与 Sigstore 和 OpenSSF 的 Slack 频道,所以请加入并打个招呼!
Alpha-Omega 是 OpenSSF 的一个关联项目,正在资助这项工作。 Alpha-Omega 的使命是通过催化对最关键的开源软件项目和生态系统的可持续安全改进来保护社会。 OpenSSF 为其工作组和项目举行 定期会议,我们将参加。
- 原文链接: blog.trailofbits.com/202...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!