当前位置:网站首页>Plus版SBOM:流水线物料清单PBOM
Plus版SBOM:流水线物料清单PBOM
2022-08-02 03:34:00 【SEAL安全】
相信大家对软件物料清单(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 中。
边栏推荐
- 分割回文串 DP+回溯 (LeetCode-131)
- 学习(四):显示FPS,和自定义显示调试
- 【plang1.4.3】编写水母动画脚本
- 网络安全nvr,用于对接电网B接口(国网B接口)视频监控系统B接口
- 本地数据库 sqlite3 编译和使用
- HAL库笔记——通过按键来控制LED(基于正点原子STM32F103ZET6精英板)
- Based on the raspberry pie smart luggage development environment set up
- h264转hls
- Introduction and mock implementation of list:list
- 【数据库】事务的四大特性<详解>
猜你喜欢
随机推荐
剑指Offer 34.二叉树中和为某一值的路径 dfs+回溯
【plang1.4.3】编写水母动画脚本
STM32 CAN 介绍以及相关配置
AD Actual Combat
TeamCode 产品 UI 全新升级,快来体验吧
Lightly 支持 Markdown 文件在线编写(文中提供详细 Markdown 语法)
install 命令
openwrt RK3568_EVB移植
模拟电子技术------半导体
音视频文件的码率与大小计算
proteus数字电路仿真——入门实例
分割回文串 DP+回溯 (LeetCode-131)
Process (present) : custom shell command line interpreter
rtsp转flv
怎样写测试用例?
idea中创建jsp项目详细步骤
引擎开发日志:场景编辑器开发难点
Process (in): process state, process address space
Basic IO (on): file management and descriptors
408-Binary tree-preorder inorder postorder level traversal