更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证

这篇具有很好参考价值的文章主要介绍了更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

01 前言

计算机科学史上涌了 C/C++、Java、JavaScript、Ruby、Python、Perl 等多种编程语言。每一种语言都有其擅长的领域,其中Java语言凭借其面向对象、自动内存管理、多线程性能优越等优势持续处于浪潮之巅。目前市场上存在着大量质量不错 OpenJDK 的衍生版本可供用户选择。它们或者性能卓越,或者针对某些场景做出了优化。但 JDK 作为基础软件,归根结底软件的可信任和可用性是最我们最基础的追求。

02 Alibaba Dragonwell

Alibaba Dragonwell,一款免费的、生产就绪型的 OpenJDK 发行版。阿里巴巴提供长期支持,包括性能增强和安全修复。不同于以往的 OpenJDK。Alibaba Dragonwell 有其特有的五大优势:

2.1 安全与稳定

Alibaba Dragonwell 与 OpenJDK 社区保持紧密合作,始终保持对社区工作的跟踪,及时同步上游更新,以保证 Java 应用的安全和稳定。

2.2 性能与效率

Alibaba Dragonwell 的前身是阿里巴巴内部使用的 AJDK。AJDK 作为阿里巴巴 Java 应用的基石,支撑了阿里几乎所有的 Java 业务,积累了大量业务场景下验证过的新技术,这些新技术极大得提高了阿里巴巴Java业务的性能和故障排查效率。AJDK 创新技术,会逐步贡献到 Dragonwell 沉淀。

2.3 Java SE 标准兼容

Alibaba Dragonwell Standard Edition 完全遵循 Java SE 标准。

2.4 特色功能

Alibaba Dragonwell Extended Edition还具备诸多特色功能,例如 JWarmup、ElasticHeap 等等。这些特性在阿里巴巴内部得到了广泛应用,解决了很多生产实践中的痛点,为阿里巴巴 Java 业务的稳定运行立下了汗马功劳,可以说是 Alibaba Dragonwell 的独门武器。

2.5 新技术的快速采用

基于阿里工程实践,Alibaba Dragonwell 会选择移植高版本 Java 的重要功能,这些移植功能已经在阿里内部被大规模部署,用户都可以免费使用,而不用等 OpenJDK 下一个 LTS 版。

随着 Alibaba Dragonwell 的迭代,越来越多的新特性将会被开源。随着使用 Alibaba Dragonwell 的 Java 应用日益增多,在源码和构建工程均开源的情况下,我们如何保证用户所使用的 Alibaba Dragonwell 确实是出自阿里云编译器团队?如何保证我们的 JDK 在发布构建过程中没有被篡改呢?

03 我们为什么要做供应链安全

软件供应链是在整个软件开发生命周期 (SDLC) 中涉及应用程序,或是任何方式在其他开发中发挥作用的任何事和物。而 JDK 在 Java 软件的供应链中毫无疑问占据了核心地位。JDK 是 Java 软件开发的基础,它提供了软件运行环境、调试和编译的工具以及丰富的 API。如此核心的工件,如果不能保证他的来源可靠,一旦遭到恶意者的篡改并加以传播,严重的后果可想而知,因此供应链安全势在必行!

说起软件供应链安全,首先想到的便是当下较为火热的软件供应链安全标准 SLSA。SLSA 是一个标准和控制清单的安全框架,用于防止篡改、提高完整性以及保护项目、业务或企业中的包和基础设施。借此软件生产商使其软件更安全,消费者可以根据软件包的安全状况做出选择。其旨在为开发人员和企业提供行业标准、公认且商定的保护和合规级别,任何人都可以采用和使用。用户可以以此来要求所依赖的软件是特定的 SLSA 级别,企业也可以此作为指导原则来加强内部供应链。

我们之所以选择参考 SLSA 来指导我们加强供应链,主要因为它有两点重要的原则:

  • 软件供应链中任何软件工件只有在被“受信任的人”的明确审查和批准之后才能进行修改。
  • 软件工件可以追溯到原始的来源和依赖项。

04 我们是如何做的

最好的合作伙伴之一 Eclipse Adoptium

阿里云于 2020 年加入 Eclipse Adoptium 社区,是 Eclipse Adoptium 工作组的战略基石成员,参与 Eclipse Adoptium 社区治理,为 Java Ecosystem 提供完全兼容的、基于 OpenJDK 的高质量 JDK 发行版。Alibaba Dragonwell 现有的发布工程大部分都基于 Adoptium 进行了适配和小幅度的开发。当然,我们和社区一直都保持着紧密的合作,对于较为通用的优化和 Bug 修复我们也都贡献给了社区。

提升 SLSA 的实践

Alibaba Dragonwell 已经达到了SLSA v0.1 specification 所描述的 2 级要求。近年来,我们致力于参与 Adoptium 社区的建设,基于 Adoptium 社区开源的设施,我们进行了一定量的改动和适配,最终得以实现 Alibaba Dragonwell 的安全等级提升。发布流程概况如下图所示。

更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证,云计算,阿里云

SLSA 1 级

等级 1 意味着我们的构建必须完全脚本化/自动化并生成出处。我们在发布版本中自动生成二进制文件、SBOM(软件材料清单)文件和校验文件。以下是等级 1 的达成条件:

  • 构建 - 脚本化的构建

所有构建步骤必须被定义在类似于“build script”的地方。如果有需要手动执行的地方,那只能是调用构建脚本。我们把 pipeline 流程都完整的定义在了 ci-jenkins-pipelins,下游的构建工程被定义在了 openjdk-build。我们发布期间需要做的只有填写对应的参数和触发工程,然后所有所需的文件都会生成。

  • 出处 - 可用

软件出处需以消费者接受的格式提供给消费者,且格式应该是符合 SLSA 规定的。但如果有另一种格式,生产者和消费者都同意并且认为它能满足所有其他要求,方才能使用。

我们发布构建会以 OWASP CycloneDX 格式生成 SBOM 文件,该文件包含了全部的构建信息,包括环境、组件信息、构建指令和参数等。

SLSA 2 级

等级 2 需要我们进行版本管理,以及创建生成经过身份验证的出处的托管构建服务。我们通过 Github 管理我们的源码和版本标签,发布期间在 jenkins 实例上自动对发布产物进行了签名。以下是等级 2 的达成条件:

  • 源码 - 版本管理

这要求源码的每笔修改都应在版本控制系统中进行跟踪,包括记录更改历史记录以及无限期引用此特定的、不可变的提交的方法。

我们在 Github 管理源码,例如 Dragonwell 8。源码中的每一笔提交都必须满足如下的提交格式,否则会被 CI 测试拦截。提交的代码会经过仔细的审查和具体的 CI 测试,通过审查和验证之后,每笔提交都会被记录在历史记录中。通过历史记录我们能获取到对应的 Issue 和 Pull Request 地址。每次发布的时候,我们都会对发布版本创建标签,标签会包含版本号和 dragonwell 版本(extended/standard)。

[<tag>] <One-line description of the patch>
Summary: <detailed description of the change>
Test Plan: <how this patch has been tested>
Reviewed-by: <Github IDs of reviewers>
Issue: <full URL or #github_tag>
  • 构建 - 构建服务

所有的构建都应该以服务的形式,而不是在私人的工作目录下进行。我们在我们的 Jenkins dragonwell-jenkins 上构建相关文件。所有的文件都会通过 Jenkins 工程上传 Github、阿里云 OSS,并且会自动生成相应的容器镜像,发布在阿里云 ACR 仓库和 DockerHub 仓库。另外,standard 版本还将会发布在 Adoptium Marketplace。

  • 出处 - 身份认证

消费者可以验证出处的真实性和完整性。这应该通过来自私钥的数字签名来进行,只能由生成出处的服务访问。GPG 密钥存储在阿里巴巴编译器团队的 jenkins 实例上,发布时我们会使用该密钥进行签名,用户也可通过我们的验证工程 validate-signature,验证签名是否属于我们团队。

  • 出处 - 服务生成

我们的参数都在工程构建前进行了设置,匿名用户无执行权限,因而我们的构建不会被注入或者更改不安全的内容。

我们的 SBOM 文件和验证文件由构建自动生成,GPG 的密钥存储在 jenkins 实例上,该密钥不对外公开。因此,我们的构建服务是安全可控的。

05 未来展望

我们这就结束了吗?很显然这并不是,现在只是 Alibaba Dragonwell 迈向更高级别SLSA的开始。在过去的几年,我们跟 Adoptium 社区有非常紧密的合作。未来我们也将会携手 Adoptium 社区继续努力,提升 Alibaba Dragonwell 的产品质量和合规等级。

相关链接:

1. SLSA v0.1 specification:

http://slsa.dev/spec/v0.1/levels

2. ci-jenkins-pipelins:

https://github.com/dragonwell-releng/ci-jenkins-pipelines

3. openjdk-build:

https://github.com/dragonwell-releng/openjdk-build

4. OWASP CycloneDX 格式:

https://owasp.org/www-project-cyclonedx

5. dragonwell 8:

https://github.com/alibaba/dragonwell8

6. dragonwell-jenkins:http://ci.dragonwell-jdk.io/

7. DockerHub 仓库:https://hub.docker.com/r/alibabadragonwell/dragonwell/tags

8. Adoptium Marketplace:https://adoptium.net/marketplace/

9. validate-signature:

http://ci.dragonwell-jdk.io/job/build-scripts/job/release/job/validate-signature/build

原文链接

本文为阿里云原创内容,未经允许不得转载。文章来源地址https://www.toymoban.com/news/detail-596963.html

到了这里,关于更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 供应链 | 大数据报童模型:基于机器学习的实践见解

    论文解读:李欣 马玺渊 作者:Gah-Yi Ban, Cynthia Rudin 引用:Ban, Gah-Yi and Cynthia Rudin. The big data newsvendor: Practical insights from machine learning. Operations Research 67.1 (2019): 90-108. 文章链接:https://doi.org/10.1287/opre.2018.1757 文章研究了大规模数据驱动的报童问题(包括 p p p 个关于需求的特征和

    2024年02月12日
    浏览(39)
  • 谷歌的开源供应链安全

    本内容是对Go项目负责人Russ Cox 在 ACM SCORED 活动上 演讲内容 [1] 的摘录与整理。 SCORED 是 Software Supply Chain Offensive Research and Ecosystem Defenses 的简称, SCORED 23 [2] 于2023年11月30日在丹麦哥本哈根及远程参会形式举行。 摘要 💡 谷歌在开源软件供应链安全方面的工作 🔐 介绍供应链安

    2024年02月03日
    浏览(72)
  • 供应链安全应该掌握哪些呢

    整理了供应链安全相关的内容,涵盖了普及应用安全、信息安全意识的内容,这些内容可以面向企业全部员工进行讲解。后面包括了面向开发人员、测试人员、安全人员的内容,包括应用安全开发、供应链安全。面向架构人员的架构安全内容,后面又包括了威胁建模方法及流

    2024年02月01日
    浏览(56)
  • 供应链安全-镜像 Trivy kubesec

    开头语 写在前面:如有问题,以你为准, 目前24年应届生,各位大佬轻喷,部分资料与图片来自网络 内容较长,页面右上角目录方便跳转 减少镜像层:一次RUN指令形成新的一层,尽量Shll命令都写在一行,减少镜像层。 多阶段构建: 多阶段构建能够帮助我们大幅减少最终镜像

    2024年02月01日
    浏览(56)
  • 封装阶段的软件供应链安全威胁

    随着软件开发沿着软件供应链生命周期进行,软件包阶段成为一个关键节点,将源代码转换为准备分发的可执行工件。然而,这个关键阶段也无法避免漏洞,使其成为恶意行为者寻求破坏软件完整性和安全性的主要目标。这篇博文深入研究了此阶段可能出现的普遍威胁,并概

    2024年03月15日
    浏览(52)
  • 全球软件供应链安全指南和法规

    供应链安全继续在网络安全领域受到重点关注,这是有充分理由的:SolarWinds、Log4j、Microsoft 和 Okta 软件供应链攻击等事件继续影响领先的专有软件供应商以及广泛使用的开源软件软件组件。 这种担忧是全球性的。随着各国政府寻求降低软件供应链攻击的风险,世界各地的法

    2024年02月02日
    浏览(36)
  • 软件供应链安全:寻找最薄弱的环节

    在当今的数字时代,软件占据主导地位,成为全球组织业务和创新的支柱。它是差异化、项目效率、成本降低和竞争力背后的驱动力。软件决定了企业如何运营、管理与客户、员工和合作伙伴的关系,以及充分利用他们的数据。 挑战在于,当今的大多数软件都不是从头开始开

    2024年04月17日
    浏览(51)
  • 开发安全、软件供应链安全及开源软件安全的概念差异

    开发安全、软件供应链安全和开源软件安全是在软件生命周期中不同阶段涉及到的安全概念,它们有着一些共同点,同时也存在一些显著的差异。以下是它们之间的比较总结: 范围 : 开发安全 :关注于整个软件开发过程中的安全性,包括代码编写、测试、部署等环节。 软

    2024年03月14日
    浏览(93)
  • 一文读懂什么是软件供应链安全

    今天的大部分软件并不是完全从头进行开发设计的。相反,现在的开发人员频繁的依赖一系列第三方组件来创建他们的应用程序。通过使用预构建的库,开发人员不需要重新发明轮子。他们可以使用已经存在的工具,花更多的时间在专有代码上。这些工具有助于区分他们的软

    2024年02月05日
    浏览(50)
  • 企业应如何做好软件供应链安全管理?

    随着软件供应链攻击日益普遍,Gartner 将其列为2022 年的第二大威胁。Gartner 预测,到 2025 年,全球 45% 的组织将遭受一次或多次软件供应链攻击,是2021年的3倍。这些攻击一旦成功,将给企业带来毁灭性打击,因此如何做好软件供应链管理成为企业关注的重要课题。 目前国内

    2024年02月16日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包