本文作者

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如何保障软件供应链安全?的更多相关文章

  1. Kubernetes 时代的安全软件供应链

    点击下载<不一样的 双11 技术:阿里巴巴经济体云原生实践> 本文节选自<不一样的 双11 技术:阿里巴巴经济体云原生实践>一书,点击上方图片即可下载! 作者 汤志敏  阿里云 ...

  2. 基于 Docker 的现代软件供应链

    [编者按]本文作者为 Marc Holmes,主要介绍一项关于现代软件供应链的调查结果.本文系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文. 3 月初,为了了解软件供应链的现状以及 D ...

  3. OpenSSF安全计划:SBOM将驱动软件供应链安全

    在 软件成分分析(SCA)一文中,我们简单提到软件物料清单(SBOM)在安全实践中的价值. 本期文章将带你深入了解 "SBOM 无处不在"计划是什么,以及 SBOM 对未来软件供应 ...

  4. SLSA 框架与软件供应链安全防护

    随着软件供应链攻击浪潮愈演愈烈,Google 发布了一系列指南来确保软件包的完整性,旨在防止影响软件供应链的未经授权的代码修改.新的 Google SLSA 框架(Supply-chain Level ...

  5. 【阿里聚安全·安全周刊】苹果证实 iOS 源代码泄露|英国黑客赢下官司

    本周的七个关键词:iOS 源代码泄露  丨 阿里软件供应链安全大赛  丨  个人数据安全  丨  Android P  丨  黑客赢下官司  丨  备忘录泄露美国安全局机密  丨  机器学习系统 -1 ...

  6. 一个程序的自我修养「GitHub 热点速览 v.22.19」

    一个程序要诞生涉及前后端技术,比如,你可以用可视化网页搭建工具 tmagic-editor 完成前端部分,而后端部分的数据库以及数据处理可能就要用到 jsonhero-web 和 directus.知 ...

  7. 一文掌握软件安全必备技术 SAST

    上一篇文章中,我们讨论了软件供应链的概念并了解到近年来软件供应链安全事件层出不穷.为了保障软件供应链安全,我们需要了解网络安全领域中的一些主要技术.本篇文章将介绍其中一个重要技术--SAST. 当开发 ...

  8. 【翻译】旧技术成就新勒索软件,Petya添加蠕虫特性

    原文链接:https://blogs.technet.microsoft.com/mmpc/2017/06/27/new-ransomware-old-techniques-petya-adds-wo ...

  9. 360安全中心:WannaCry勒索软件威胁形势分析

    猫宁!!! 参考链接:http://zt.360.cn/1101061855.php?dtid=1101062360&did=210646167 这不是全文,而是重点摘要部分. 2017年5月 ...

随机推荐

  1. 第06组 Beta冲刺 (1/6)

    目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3.曾丽莉 4.黄少丹 5. 董翔云 6.杜筱 7.鲍凌函 8.詹鑫冰 9.曹兰英 10.吴沅静 1.3 冲刺成果展示 1.1 ...

  2. 5种在TypeScript中使用的类型保护

    摘要:在本文中,回顾了TypeScript中几个最有用的类型保护,并通过几个例子来了解它们的实际应用. 本文分享自华为云社区<如何在TypeScript中使用类型保护>,作者:Ocean2 ...

  3. TypeScript(5)类、继承、多态

    前言 对于传统的 JavaScript 程序我们会使用函数和基于原型的继承来创建可重用的组件,但对于熟悉使用面向对象方式的程序员使用这些语法就有些棘手,因为他们用的是基于类的继承并且对象是由类构建出来 ...

  4. python基础知识-day9(库学习)

    1.os学习 1 print(os.name) #获取操作系统 2 print(os.path.exists("D:\soft\python")) #判断路径是否存在 3 prin ...

  5. yearning_sql审核平台搭建

    Yearning SQL 审计平台 基于Vue.js与Django的整套mysql-sql审核平台解决方案.提供基于Inception的SQL检测及执行. GitHub:https://github. ...

  6. VisionPro · C# · 图像保存

    根据客户要求,每次视觉取像运行完毕后,按需保存OK或NG图像,图像分两种: 1.带视觉工具运行结果图像: 2.相机取像原图,.bmp格式. 保存图像代码如下: using System; using ...

  7. Java获取显示器屏幕大小

    public static void main(String[] args) { Dimension screensize = Toolkit.getDefaultToolkit().getScree ...

  8. Git下载(快速快速快速下载!!)

    在安装Git环境的时候,需要下载Git的安装包,但是官网的下载网速实在是太慢的(几十M的安装包,下载速度只有几十K) (所以可以在镜像中下载,速度超快) Git镜像下载链接-------------- ...

  9. cmd中常用的dos命令

    在电脑中除了我们常见的图形界面之外,图形页面的操作相信都会.那么还有在cmd执行的一些dos命令,可以简单记一下,方便日后复习所用 首先打开cmd窗口,windows+R,然后在对话框输入cmd,进入 ...

  10. 『现学现忘』Git后悔药 — 29、版本回退git reset --mixed命令说明

    git reset --mixed commit-id命令:回退到指定版本.(mixed:混合的,即:中等回退.) 该命令不仅修改了分支中HEAD指针的位置,还将暂存区中数据也回退到了指定版本. 但是 ...