论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
虚拟化.超融合.云计算
›
公有云
›
更高水准的供应链安全实践:Alibaba Dragonwell 及其 SL ...
更高水准的供应链安全实践:Alibaba Dragonwell 及其 SLSA 2 级认证 ...
瑞星
金牌会员
|
2024-8-6 14:57:18
|
来自手机
|
显示全部楼层
|
阅读模式
楼主
主题
852
|
帖子
852
|
积分
2556
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 的安全等级提升。发布流程概况如下图所示。
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
原文链接
本文为阿里云原创内容,未经答应不得转载。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
瑞星
金牌会员
这个人很懒什么都没写!
楼主热帖
复习一下Linux常用命令,孰能生巧~ ...
OpenSSL RSA相关基本接口和编程示例 ...
一次服务器被入侵的处理过程分享 ...
Oracle实现金额小写转大写函数 ...
适用于顺序磁盘访问的1分钟法则 ...
执行计划缓存,Prepared Statement性能 ...
2022护网面试题总结
Blazor概述和路由
终于有人把不同标签的加工内容与落库讲 ...
《Redis设计与实现》
标签云
挺好的
服务器
快速回复
返回顶部
返回列表