Istio 与供应链安全
议程
- 什么是供应链攻击?
- 供应链安全的开源倡议
- 软件物料清单(SBOM)
- Kubernetes BOM
- Istio 与 Kubernetes BOM 相结合
- 接下来是什么?
- 问答环节
软件供应链
软件供应链是一个复杂且全球互联的生态系统,涵盖硬件、软件和管理服务的整个生命周期,以组成、构建并发布一个软件项目。
供应链攻击向量
- 将错误代码提交到源
- 破坏源控制平台
- 使用与源代码管理不匹配的代码构建
- 复刻构建平台
- 恶意的第三方依赖关系
- 绕过 CI/CD 管道
- 受损的软件包存储库
- 使最终用户使用恶意包
开源计划
开源计划致力于提升软件供应链的安全性。
软件物料清单(SBOM)
SBOM 是构建软件所用各种组件的详细信息及其供应链关系的正式记录。
- 来源:国家电信和信息管理局(NTIA)
- 标准化:ISO/IEC 5962:2021
- 目的:管理漏洞缓解措施、量化和管理许可证、降低运营成本、确定安全性和许可证合规性
SPDX 元素
SPDX 元素用于文档元数据,包括:
- 文档 ID/命名空间
- 名称
- SPDX 版本
- 创建时间
- 作者
- 工具信息
- 包和文件列表
- 许可证信息
- 版权声明
SPDX 元素示例
以 Istio 为例,其 SBOM 包含:
- 包名:istio
- SPDX 标识符:SPDXRef-Package-istio
- 许可证:Apache-2.0
- 文件列表:.gitattributes 等
- 校验和:SHA1, SHA256, SHA512
SBOM 的应用
SBOM 可以描述不同类型的工件,如源代码、依赖项和发布工件。
- SLSA(供应链级别软件工件)框架逐步改善供应链安全状况。
Istio 与 Kubernetes BOM 结合
- Istio 使用 Kubernetes BOM 生成 SBOM。
- 发布工程团队分析不同 BOM 并生成工具。
- Istio 源 SBOM 和 Istio 释放 SBOM 示例。
Istio 版本内容
- 操作系统:Linux, MacOS, Windows
- 架构:amd64, armv7, arm64
- 包含:Docker 映像、二进制文件、Tarball 束、源代码 Tarball、rpm + deb 包、许可证和 Helm 图表
未来计划
- K8s BOM
- Linux 软件包来源:.rpm & .deb
- 更具表现力的 YAML 定义
- 与更多语言的 SPDX 库集成
- 输出为其他 SPDX 格式(RDF 等)
- 文件验证 + 验证
- SPDX 文档可视化
- SBOM 签名和附加功能
- Istio SBOM
- 分析更多 SBOM 标准格式
- 集成到较新的 bom 功能