CSO视角:Sigstore如何保障软件供应链安全?
本文作者
Chris Hughes,Aquia的联合创始人及CISO,拥有近20年的网络安全经验。
SolarWinds 和 Log4j 等影响广泛的软件供应链攻击事件引起了业界对软件供应链安全的关注。许多企业开始让安全团队选型安全工具,以确保第三方软件的安全性。软件的使用无处不在,根据世界经济论坛(WEF)的数据,数字化平台占据了GDP的60%。尽管我们当前使用软件的方式正在改变世界,但目前依旧欠缺方法来保护整个软件供应链的安全。软件供应链通常不使用数字签名,或者使用传统的数字签名,这对于自动化和审计来说是一个挑战。
Sigstore 是什么?
Sigstore 网站:https://www.sigstore.dev/
恰如 Sigstore 的共创者和 Chainguard 的创始人 Dan Lorenc 所说,sigstore 是“一个为软件开发者提供的免费签名服务,通过启用由透明日志(Transparent Log)技术支持的加密软件签名来提高软件供应链的安全性。”
Sigstore 已经被谁采用了?
Kubernetes 宣布它正在对 sigstore 进行标准化,并在 1.24 版本中使用它。此外,Linux 基金会和 OpenSSF 最近发布了“开源软件安全动员计划”,强调数字签名以增强软件供应链的信任,推荐的方法包括使用 sigstore 项目,因为它包含关键组件,例如证书授权、透明日志(Transparent Log)和生态系统专用库。
拆解 Sigstore 项目
Sigstore 的成立是为了帮助解决开源软件(OSS)供应链中的一些现有缺陷,以及我们如何处理安全性、数字签名和验证开源软件组件的真实性。这一点至关重要,因为90%的IT企业都在使用开源软件,并且各个组织都在优先聘用开源人才,而软件供应链攻击事件在近几年层出不穷。
Sigstore 汇集了几个开源软件工具,如 Fulcio、Cosign和Rekor,以协助进行数字签名、验证和代码来源(Code Provenance)检查。Code Provenance 可以监管整条供应链,显示代码的来源和从何处集成。Uber 隐私和安全团队曾发表一篇博客,讨论了他们处理 Code Provenance 的路径,请查阅:
https://medium.com/uber-security-privacy/code-provenance-application-security-77ebfa4b6bc5
接下来,我们开始拆解 Sigstore 的核心组件,首先从 Fulcio 开始。Fulcio 是根证书颁发机构,主要关注代码签名。它是免费的并且颁发与 OpeID Connect (OIDC) 相关的证书,而且经常使用开发人员已经关联的现有标识符。随着云原生架构及容器部署的普及和快速增长,对容器进行签名已经成为重要的安全最佳实践。
密钥管理是一项十分繁琐的工作,通常由云服务提供商(CSP)或第三方提供管理服务。Sigstore 通过支持 Cosign 降低了这种复杂性——通过临时密钥使用“无密钥签名”缓解了密钥管理的挑战。尽管使用的是临时密钥,但你仍然可以通过 Fulcio 的时间戳功能保证签名的有效性。
这就是 Cosign 的用武之地,因为它支持签名选项(signing option),并能无缝支持生成密钥对和容器签名工件,以存储在容器镜像仓库中。这使云原生环境能够根据公钥验证容器,并且确保容器由可信的来源签署。在构建期间对镜像工件进行数字签名并验证这些签名是否可信,这是CNCF在云原生安全白皮书中强调的其中一个安全最佳实践。
接下来是 Rekor,它是作为软件维护和构建活动的一部分而创建的不可变和防篡改的组件。它使得购买或将软件集成到开发流程中的开发人员可以检查元数据,并他们对正在使用的软件和整个生命周期中涉及的活动/行为都已充分了解,进而可以根据所了解的信息、风险做出决定。回到我们之前提到的关于软件来源的观点,开发者可以使用 Rekor 通过透明日志来了解软件来源。
另一个值得关注的是一些最近发布的安全指南,如软件构件的供应链级别(SLSA)和NIST的安全软件开发框架(SSDF)、SLSA 3级强调需要审计软件来源的安全性,Sigstore也支持这一功能。SSDF 中提到的具体做法也表明需要提供来源和验证机制。借助 Sigstore,你可以让你所在的组织与最佳实践保持一致,并降低软件供应链的安全风险。
Sigstore 未来如何发展?
目前,Sigstore 项目仍处于初级阶段,但随着 Kubernetes 等领先开源软件项目及 Linux 基金会和 OpenSSF 的开源软件安全动员计划对它的认可,未来看起来一片光明。
随着开源软件的被越来越多企业采用和业界推动软件供应链的实践,Sigstore 将会在整个生态系统中发挥重要作用,如数字签名、真实性和安全性等关键领域。要控制软件供应链中的安全风险,就需要企业做出明智的决定,而掌握软件产品的来源以及软件创建和分发的细节至关重要,这就是 Sigstore 的优势所在,并且很有可能在不远的将来 Sigstore 会被业界大规模采用。
CSO视角:Sigstore如何保障软件供应链安全?的更多相关文章
- Kubernetes 时代的安全软件供应链
点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏 阿里云 ...
- 基于 Docker 的现代软件供应链
[编者按]本文作者为 Marc Holmes,主要介绍一项关于现代软件供应链的调查结果.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 3 月初,为了了解软件供应链的现状以及 D ...
- OpenSSF安全计划:SBOM将驱动软件供应链安全
在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...
- SLSA 框架与软件供应链安全防护
随着软件供应链攻击浪潮愈演愈烈,Google 发布了一系列指南来确保软件包的完整性,旨在防止影响软件供应链的未经授权的代码修改.新的 Google SLSA 框架(Supply-chain Level ...
- 【阿里聚安全·安全周刊】苹果证实 iOS 源代码泄露|英国黑客赢下官司
本周的七个关键词:iOS 源代码泄露 丨 阿里软件供应链安全大赛 丨 个人数据安全 丨 Android P 丨 黑客赢下官司 丨 备忘录泄露美国安全局机密 丨 机器学习系统 -1 ...
- 一个程序的自我修养「GitHub 热点速览 v.22.19」
一个程序要诞生涉及前后端技术,比如,你可以用可视化网页搭建工具 tmagic-editor 完成前端部分,而后端部分的数据库以及数据处理可能就要用到 jsonhero-web 和 directus.知 ...
- 一文掌握软件安全必备技术 SAST
上一篇文章中,我们讨论了软件供应链的概念并了解到近年来软件供应链安全事件层出不穷.为了保障软件供应链安全,我们需要了解网络安全领域中的一些主要技术.本篇文章将介绍其中一个重要技术--SAST. 当开发 ...
- 【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性
原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-wo ...
- 360安全中心:WannaCry勒索软件威胁形势分析
猫宁!!! 参考链接:http://zt.360.cn/1101061855.php?dtid=1101062360&did=210646167 这不是全文,而是重点摘要部分. 2017年5月 ...
随机推荐
- CF1682D Circular Spanning Tree
题意: 构造题,节点1~n顺时针排列成圆形,告诉你每个点度数奇偶性,让你构造一棵树,树边不相交. 思路: 因为每条边给总度数贡献2,因此如果度数为1的点有奇数个,直接输出no.显然0个度数为1的,也输 ...
- Redis集群搭建 三主三从 docker版 急速搭建
最近学习了docker 发现使用docker搭建一个redis非常的简单接下来就是搭建步骤 1.首先清空一下容器 #清空所有容器docker rm -f $(docker ps -aq) 2.然后创 ...
- 如何使用Superset可无缝对接MRS进行自助分析
摘要:本文主要介绍如何在MRS之上使用Superset进行数据分析. 本文分享自华为云社区<使用商业智能软件Superset分析MRS数据之最佳实践>,作者: 啊喔YeYe . 1. 概要 ...
- script标签crossorigin属性及同源策略和跨域方法
首先介绍(同源策略) 同源策略是浏览器最核心且基本的安全约定,要求协议.域名.端口都相同为同源,如果非同源时请求数据浏览器会在控制台抛出跨域异常错误,同源策略是浏览器的行为,即使客户端请求发送了,服务 ...
- XDEBUG 选项
到官网 http://www.xdebug.com/download.php 下载 找到对应PHP版本的 Xdebug ,后面带 TS 的为线程安全,本机环境为 win7 64 + php-5.5.1 ...
- 000 上传本地库到Github远程库过程全记录
20220613 Github上新创建了一个CsImage库,之后本地创建了一个对应名称的目录,并创建本地库,进行了上传操作,记录一下过程 1.Github上CsImage库创建完成 Github上创 ...
- Elasticsearch学习系列一(部署和配置IK分词器)
Elasticsearch简介 Elasticsearch是什么? Elaticsearch简称为ES,是一个开源的可扩展的分布式的全文检索引擎,它可以近乎实时的存储.检索数据.本身扩展性很好,可扩展 ...
- 开始讨论离散型随机变量吧!《考研概率论学习之我见》 -by zobol
上一文中,笔者给出了随机变量的基本定义:一个可测映射,从结果空间到实数集,我们的目的是为了引入函数这个数学工具到考研概率论中,但是我们在现实中面对的一些事情结果,映射而成的随机变量和其对应的概率值,并 ...
- Windows-matlab简易安装-用于数字图像处理
安装 下载链接 解压文件得到 双击setup.exe 主要注意几点 使用文件安装密匙 只需安装这三个即可 将两个文件夹里面的dll文件复制到安装目录的 /bin/win64 目录 两个 .lic 文件 ...
- Linux基础命令、引号和括号的作用
查看硬件信息 查看 cpu lscpu命令可以查看cpu信息 cat /proc/cpuinfo也可看查看到 查看内存大小 free命令 cat /proc/meminfo 查看硬盘和分区 lsblk ...