针对软件供应链攻击,Google开源GUAC(Graph for Understanding Artifact Composition)项目,这是Google与Kusari、普渡大学和花旗共同合作创建的免费工具,其汇集许多不同软件安全后设数据源,并且将其汇总成图数据库,范式实体身份以及映射之间的标准关系,用户通过查询该图,便可获得软件SBOM、出处、项目计分卡和漏洞等资讯。
GUAC主要由4部分组成,分别是收集、截取、定序(Collation)与查询。GUAC可以连接自各种软件安全后设数据源,收集包括公开资料OSV,或是来自企业内部的存储库,或是来自资料供应商的第三方资料,并根据构件、项目、资源、漏洞、存储库和开发人员资料,截取相关的资料。
从不同上游数据源截取元数据后,GUAC会借由实体识别码、走访相依项目和隐性实体关系,将其组合整理成一个连贯的图,用户便可以查询图内实体和实体相关的元数据,像是当用户查询特定构件,GUAC能回传SBOM、出处、构建链、项目计分卡、漏洞和最近的生命周期事件等资讯。
组织中的CISO或是法遵人员,能够依靠GUAC推论组织的风险,Google提到,已经有越来越多上游供应链提供丰富的证明和元数据,以支持更高层次的推论和分析,但是软件消费者、运营商,比较难将这些资料收集成软件资产统一查看图。
要掌握漏洞的爆炸半径等复杂问题,Google表示,用户需要关注组件和产品组合间,所有内容之间的关系,这可能横跨数百个数据源和数千个元数据文件,在开源生态系统统中,文件的资料更可能高达数百万个。
而GUAC大规模聚合软件安全元数据,并且经过集成后赋给其意义,供用户查询操作,主动发现软件供应链中最脆弱的环节,或是存在风险的相依关系,在部署应用程序之前,也能够验证其是否符组成织安全策略,当有新的漏洞发布时,组织也能在第一时间查询图,找出受漏洞影响的构件。
GUAC目前在GitHub上开源,该项目仍处于早期阶段,其所提供的概念性验证,可供用户截取SLSA、SBOM和记分卡文件,并支持软件元数据简单查询和探索。接下来GUAC的开发工作,将着重于扩展当前功能,并且支持新的文件类型。