7.2 用Google Graph理解制品组合

  在SLSA框架的一个巧妙命名的后续行动中,谷歌与花旗和普渡大学等合作伙伴还宣布了一项名为“理解工件组成图”(GUAC)的开源软件(OSS)工作,如图7.5所示。根据他们的声明,“GUAC解决了整个生态系统中生成软件构建、安全性和依赖性元数据的快速发展所带来的需求”(https://security.googleblog.com/2022/10/announcing-guac-great-pairing-with-slsa.html).
  该公告承认,OpenSSF等组织领导的大量开放源码软件工作,以及软件材料清单(SBOM)格式的软件供应链工作,为保护数字供应链的对话做出了贡献。也就是说,许多信息需要整理和理解。从SBOM格式(如软件包数据交换(SPDX)和CycloneDX),到SLSA等框架和我们讨论过的各种漏洞数据库(如国家漏洞数据库(NVD)、全球安全数据库(GSD)和开源漏洞(OSV))的证明,组织发现自己正试图理解所有数据。
  虽然所有信息都是有用的,但GUAC的工作指出,需要将所有信息结合起来,综合起来,全面了解软件供应链风险。GUAC将各种元数据源整合到图形数据库和关系中,这在审计和风险管理以及开发人员授权等用例中都有好处。
  根据谷歌的公告,GUAC专注于四个关键领域:

  • 收集
  • 摄入
  • 整理
  • 查询

  集合包括OSV和GSD等来源,甚至包括内部存储库。Ingestion允许接收上游数据源,如工件、项目和资源。排序从各种来源获取原始元数据,并将其组装成一个标准化的图,以显示项目/开发人员、漏洞和软件版本等实体之间的关系。最后,查询功能支持对组装的图和相关元数据进行搜索,查询SBOM、项目记分卡、漏洞等工件。见图7.6。
  如图7.6所示,收集、摄入、整理和查询支持各种角色和用例,如治理、风险和合规(GRC)和政策专业人员、首席信息安全官(CISO),甚至开发人员。正如公告所提到的,了解特定OSS漏洞的影响需要在企业和更广泛的生态系统中聚合和分析大量数据。GUAC旨在使所有这些信息都可操作,重点是让用户能够回答以下三个基本问题:

  1. 我们如何防止供应链妥协?
  2. 是否有适当的保障措施?
  3. 如果事件发生,我们的组织是否受到影响?

  这三个问题有三个主题领域,如图7.7所示:

  • 积极主动的
  • 预防性的
  • 被动的

  积极主动主题旨在了解软件供应链中最关键的组件以及您的主要弱点和风险敞口。预防措施主题重点是确保部署的应用程序与组织的策略和要求保持一致。被动主题使您的组织能够了解漏洞出现时受到的影响。