相信大家对软件物料清单(SBOM)并不陌生,它是指用于构建软件解决方案的所有软件组件(开源或商业)的列表。但在软件物料清单中,并不包括用于部署软件的微服务和其他组件。为了更全面了解所用的组件,我们需要创建流水线物料清单 PBOM(Pipeline Bill of Materials),其中包含用于将应用程序从代码到交付的所有软件组件和服务。

为什么 PBOM 很有必要?

软件安全不仅取决于源代码,还取决于整个软件交付流水线的集成。此类集成包括构建工具、镜像仓库和 IaC (Infrastructure as Code) 部署。普通应用程序使用的库和组件数量正在增长,数据显示应用程序平均使用超过500个开源库和组件,与两年前相比增长了77%。

传统的软件物料清单能够通过分析依赖关系有效防止相应安全问题。但由于 SBOM 并未包含整个开发和部署流水线中使用的所有组件,在查看开发所用组件时存在一定盲区。而这类盲区很有可能造成巨大安全隐患,也给恶意攻击者可趁之机。在 SolarWinds 事件中,TeamCity(CI/CD 构建服务)在攻击期间被利用作为攻击媒介,而 SBOM 并没有提供关键信息来阻止此类攻击。

为了防止过程中的构建工具、镜像仓库和其他组件可能产生的威胁和安全风险,我们需要确切地了解正在使用的所有组件,包括软件开发流水线中的组件。创建流水线物料清单时,记得包含 SBOM 的所有内容,并补充有关部署流水线的全面信息。

PBOM 能带来什么好处?

1. 提高可视性

PBOM 帮助实现部署流水线的完整可视性,DevOps、安全和工程团队也因此可以创建更加全面的资产清单。保留对流水线中所有组件的引用,能够帮助各个团队更好地把控流程中的安全性。

2. 通过应急计划防止安全威胁

利用 PBOM 能够帮助了解流水线中的所有部分如何交互,以及根据安全威胁作出相应业务决策并执行相应的应急计划,来保障软件安全性。由此能够有效改进威胁建模(Threat Modeling),允许实施零信任架构,并推动 DevOps “安全左移”计划。

3. 提高问题解决效率

PBOM 能够提供更完整的组件清单,包括代码所有者,提交历史记录以及每个部分的关联人员。使用 PBOM 根据上下文能够提供准确的警报,从而避免在任何问题出现时无差别提醒团队成员。随着误报数量减少,开发及运维团队看到警报更加精准,解决问题的效率也就更高。

PBOM 需要包含什么内容?

通过上述内容,我们明确了可以从 PBOM 中获取的信息,进而来确定 PBOM 需要涵盖的内容。值得注意的是,创建 PBOM 时不要忘记将 SBOM 中已包含的所有组件纳入该清单中。此外,组织在创建 PBOM 时应当保留构建和部署工具信息。DevOps 团队可以利用 PBOM 所提供的信息,有效缓解软件供应链中的安全漏洞和安全风险。

开发人员、代码所有者和具有系统访问权限的管理员是 SBOM 中常被忽视的部分,这些帐户通常具有更高的访问权限。为了最大限度地提高安全性并符合最小特权原则,需要在一定程度上基于角色进行访问控制。企业首先应该充分审查当前已经具备系统访问权限的账户,审核完毕后,可以将这些账户作为参考,为后期保证用户权限的安全性提供指导,而对应的开发人员、代码所有者及具有系统访问权限的管理员可以访问到的信息范围也需要归纳到 PBOM 中。

Plus版SBOM:流水线物料清单PBOM的更多相关文章

  1. 关于软件物料清单(SBOM),你所需要了解的一切

    在此前的多篇文章中,我们已经详细地介绍了软件物料清单(SBOM)对于保障软件供应链安全的重要性以及一些注意事项.在本文中,我们将会更深入地介绍SBOM,包括最低要求元素.格式.使用场景以及如何对其进行 ...

  2. BOM(Bill of Material)物料清单基础知识(一)

                                                                                            一.BOM的基础概念 概 ...

  3. 精通Perl(第2版)

    精通Perl(第2版)(通往Perl大师之路必读经典书籍,体现了一种编程思维,能够帮你解决很多实际的问题) [美]brian d foy(布瑞恩·D·福瓦)著   王兴宇 刘宸宇 译 ISBN 978 ...

  4. 【原】Learning Spark (Python版) 学习笔记(三)----工作原理、调优与Spark SQL

    周末的任务是更新Learning Spark系列第三篇,以为自己写不完了,但为了改正拖延症,还是得完成给自己定的任务啊 = =.这三章主要讲Spark的运行过程(本地+集群),性能调优以及Spark ...

  5. zw版·Halcon与delphi(兼谈opencv)

    zw版·Halcon与delphi(兼谈opencv) QQ群 247994767(delphi与halcon) <Halcon与delphi>系列,早两年就想写,不过一方面,因为Halc ...

  6. 【《zw版·Halcon与delphi系列原创教程》 zw_halcon人脸识别

    [<zw版·Halcon与delphi系列原创教程>zw_halcon人脸识别 经常有用户问,halcon人脸识别方面的问题. 可能是cv在人脸识别.车牌识别方面的投入太多了. 其实,人脸 ...

  7. 《zw版·Halcon-delphi系列原创教程》 酸奶自动分类脚本(机器学习、人工智能)

    <zw版·Halcon-delphi系列原创教程>酸奶自动分类脚本(机器学习.人工智能) Halcon强大的图像处理能力,令人往往会忽视其内核,是更加彪悍的机器学习.人工智能.       ...

  8. 《zw版·Halcon-delphi系列原创教程》 水果自动分类脚本(机器学习、人工智能)

    <zw版·Halcon-delphi系列原创教程> 水果自动分类脚本(机器学习.人工智能) 前面介绍了超市,流水线,酸奶的自动分类算法,下面再介绍一个水果的自动分类算法. Halcon强大 ...

  9. 《zw版Halcon与delphi系列原创教程》发布说明

    <zw版Halcon与delphi系列原创教程>发布说明 zw转载的<台湾nvp系列halcon-delphi教程>,虽然很多,不过基本上都是从cnc.数控角度的demo..  ...

  10. 《程序设计语言——实践之路(英文第三版)》【PDF】下载

    <程序设计语言--实践之路(英文第三版)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230382234 内容简介 <程序设计语 ...

随机推荐

  1. 生产真实案例:震惊,几条SQL把服务器干崩了,事后还大言不惭!

    大家好,我是冰河~~ 今天跟大家分享一个发生在今天凌晨的真实案例,这篇文章也是我事后临时写出来的,处理事情的过程有点无语,又有点气愤! 事件背景 事情的背景是这样的:一个朋友今年年初新开了一家公司,自 ...

  2. SyntaxError: Non-ASCII character 与 Cannot decode using encoding "ascii" 错误解决

    转载请注明出处: python调试时遇到的两个相同的编码错误进行总结: 1.错误:Cannot decode using encoding "ascii", unexpected ...

  3. WebGL初接触

    有感于在不少jd中看到关于WebGL的内容,想起来之前在高程中还没看完的canvas,就匆匆把剩余的一点看完了,高程中的内容还是皮毛,就属于很基础的.概念性的东西. WebGL 画布的3D上下文.不是 ...

  4. powerdesigner 生成sql语言

    首先要确定的是自己已经准备好一个概念模型 在概念模型界面点击上方工具栏中的Tools->Generate logical data model.. 生成逻辑模型 同样的操作生成物理模型 Gene ...

  5. java读取照片Exif信息到实体类

    前言 1.总共读出来了228个参数信息,但是我挑选了36个我认为比较有价值的参数,弄成了实体类 (其实是因为很多参数我看不明白是啥意思) 2.为了方便,所以实体类里我直接用中文字段了 效果图 导入依赖 ...

  6. linux登陆防护fail2ban的优化配置

    fail2ban 默认在iptables 防火墙filter表的input 链内设置规则,这样导致端口映射,和nat转发的流量不在fail2ban控制内. 如果修改配置文件/etc/fail2ban/ ...

  7. DDD学习与感悟——总是觉得自己在CRUD怎么办?

    一.DDD是什么? DDD全名叫做Domins drives Design:领域驱动设计.再说的通俗一点就是:通过领域建模的方式来实现软件设计. 问题来了:什么是软件设计?为什么要进行软件设计? 软件 ...

  8. 1.5万字 + 25张图盘点RocketMQ 11种消息类型,你知道几种?

    大家好,我是三友~~ 故事的开头是这样的 最近有个兄弟私信了我一张截图 我一看截图内容,好家伙,原来是我一年多前立的flag 倒不是我忘了这件事,我后来也的确写了一篇的关于RocketMQ运行的原理的 ...

  9. 4 HTTP的“四层”和“七层”

    目录 1 四层:TCP/IP 网络分层模型 2 七层:OSI网络分层模型 3 TCP/IP 协议栈的工作方式 1 四层:TCP/IP 网络分层模型 四层是指TCP/IP 网络分层模型. 第一层:&qu ...

  10. SpringBoot对象拷贝

    目录 概述 定义实体类 Car size carInfo 造测试数据 Spring BeanUtils Apache BeanUtils Cglib BeanCopier MapStruct 性能测试 ...