相信大家对软件物料清单(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. 海云安SCA平台迎来新升级 助力企业全面透视开源组件安全风险

    本月初,最受欢迎的开源轻量级 Java 框架 Spring 被曝存在高危的远程控制0Day漏洞,这一事件让开源安全再次引发了IT行业的讨论和关注.自SolarWinds太阳风黑客攻击事件和Apache ...

  3. PyTorch 1.8来了!正式支持AMD GPU,炼丹不必NVIDIA

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 作者丨梦晨 来源丨量子位 编辑丨极市平台 1.8版本中,官方终于加入 ...

  4. PyTorch 1.8版本!正式支持AMD GPU

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:量子位 AI博士笔记系列推荐 周志华<机器学习>手推笔记正式开源!可打印版本附pdf下载链接 1. ...

  5. 国标解读|从关键信息基础设施安全国标看软件供应链安全

    近日<信息安全技术 关键信息基础设施安全保护要求>国家标准正式发布,<要求>中更是从管理机制建立.采购管理.网络产品和设备提供者的责任义务与产品及服务的风险控制方面对供应链安全 ...

  6. DevOps领域少不了这只向前的“青蛙”

    未来每一家公司都将成为软件公司,每一项业务都将成为数字化业务.这意味着软件驱动成为企业发展的"第一性原理". 但是新的问题也接踵而至.企业的软件资产越来越多,据IDC预测,到202 ...

  7. PDM与MRPII应用原理[转]

    PDM与MRPII应用原理 摘要:本文通过设计一个PDM与MRPII的应用结构,分析了CAD.CAPP.MRPII三个子系统中的管理数据结构EBOM.PBOM.CBOM.Routing的应用角度,阐述 ...

  8. 应对隐私检测的各种姿势

    文章目录 背景 隐私检测的流程 流程 1.0 流程 2.0 流程 3.0 应对隐私检测的各种姿势 1. 提前获取数据和获取频率 2. 权限问题 3. sdk问题 反编译 终极大招 总结 背景 去年11 ...

  9. PLM中的BOM定义和BOM知识介绍

    BOM是企业信息化建设的管理核心,是任何管理系统中的基础,是贯穿各信息系统的主线,BOM管理是企业技术管理信息化的主要内容,许多企业对BOM的认识不够,有些企业甚至在选型中连BOM是何含义都不理解,所 ...

最新文章

  1. mysql多实例访问代理_MySql-Proxy之多路结果集归并
  2. ubuntu 18.04安装jdk8和eclipse
  3. JAVA随机数之多种方法从给定范围内随机N个不重复数
  4. python自带的统计函数_NumPy统计函数的实现方法
  5. 1分钟了解区块链的本质
  6. 在Hibernate中启用实体和查询缓存
  7. django中使用第三方包实现定时任务
  8. 2019pro与air怎么选_MacBookAir 2020和MacBookPro 2019该选谁?超详细对比告诉你
  9. HTTP和HTTPS有什么区别? 什么是SSL证书?使用ssl证书优势?
  10. cad怎么去除drawing1_CAD工具栏下边那行显示DraWing1的没了,如何找回?
  11. 收集:Programer Jokes
  12. maven项目使用mybatis插件Free Mybatis plugin
  13. Java将byte流转换成zip文件_java zip文件的压缩与解压
  14. 无需编码,可一键生成前后端代码,少写80%的代码!
  15. java开发微信抢红包挂_java实现微信抢红包算法
  16. 1064 朋友数 (C++)
  17. Phonetic symbol 清辅音 -- p
  18. python - 官方简易文档篇(1)常用、函数
  19. 扫雷代码java_JAVA实现扫雷游戏
  20. Document读取XML

热门文章

  1. Qt在mac上的字体
  2. 胡歌官宣生女,胡椒粉们真为他高兴,人生最顶级的能力是【涅槃重生】的力量
  3. 画一只会动的皮卡丘(下)
  4. split(),slice(),splice()的区别与应用
  5. 鼎捷T100 以客制批次作业为例,画面规格生成后编译程式报错问题
  6. MySQL排序(根据中文首字母排序)
  7. Go 1.19 发行说明(翻译)
  8. 【爬虫】王者荣耀爬取英雄高清4K图片
  9. 娄底职业技术学院计算机老师,2019年娄底职业技术学院公开招聘教师员工拟聘人员公示...
  10. 高通快速调试命令集合---持续更新