使用 Scribe 保护管道

使用 Scribe 保护管道

软件供应链攻击呈上升趋势,应对这种攻击媒介的需求变得至关重要。但你从哪里开始呢?

如果您掌握了攻击者的作战计划,您就可以相应地优先考虑您的努力。我们没有具体的攻击者计划,但我们确实有一个典型攻击者作战计划的蓝图——基于 CI\CD 威胁矩阵 MITRE 攻击框架.

从左到右阅读下表引导我们完成攻击周期:攻击者需要获得初始访问权限,然后执行代码,达到持久性,通过权限升级、防御规避和凭证访问来构建能力。通过这种方式,攻击者可以进行横向移动以接近猎物,然后进行攻击——要么潜逃,要么造成其他影响。

表的每一列都列出了攻击者可能使用的技术。例如,第一列表明,初始访问可以通过 CI\CD 的事先妥协或通过弱访问控制(Git 服务的有效帐户、CI\CD 服务的有效帐户或有效的管理员帐户)来获得关键服务器)。

 

Scribe 保护供应链的证据驱动方法本质上很简单:

仅当工件与支持证据、签名证据(定义为数字证明)相关联时才信任该工件。

为了实施这种方法,Scribe 提供了收集和管理此类证据所需的软件工具,并根据策略和证明(签名证据)评估工件的可信度。

获取解决方案简介

Scribe 支持的政策示例:

安全设置策略

确保构建过程中使用的服务的安全设置符合预定义的标准。

源\文件\模块修改策略

验证源代码、配置、构建脚本和 IoC 文件是否已根据定义身份、进程、步骤和状态的预定义标准进行修改。

源\文件\模块完整性策略

确保源代码、文件和模块与预定的允许版本相同。

依赖信托政策

确保使用的依赖项符合预定义的标准(例如 OSSF 记分卡、版本年龄、允许\禁止列表)。

漏洞政策

确保依赖项和其他公共源(封闭或开放)组件不会造成高安全风险。

软件开发生命周期政策

确保代码已被利益相关者审查,评论已得到解决,并且测试和安全测试已成功完成。

管道行为策略

按计划维护管道行为。例如,要求将图像作为管道的输出推送,而不是由其他进程推送。

Scribe 为每个构建持续且自动化收集的证据示例:

来自源 SCM 的细粒度 SBOM 以及最终工件(容器)

构建环境快照

源存储库的快照

源代码控制和构建环境的安全设置

从构建机器收集的操作系统级相关事件