信任边界模型:软件供应链安全层次、信任边界在K8s中的映射、信任降级与攻击面

在云原生环境中,镜像供应链的信任并非一个二元状态(可信/不可信),而是一个逐层递减、逐级传递的模型。理解信任边界在 Kubernetes 中的具体映射位置,以及信任如何因操作失误或攻击行为而降级,是构建有效观测标签体系的理论基础。

2.1 软件供应链安全的四个层次

从代码提交到容器运行,信任边界经历了四个关键层次。每一层都定义了不同的信任假设和验证责任。

层次 信任主体 核心信任凭证 K8s 中的映射对象
L1:开发与代码层 开发者、代码仓库 GPG 签名、Commit 签名 Git 仓库、CI 触发器
L2:构建与制品层 CI/CD 系统、镜像仓库 镜像签名(Notation/Cosign)、SBOM 镜像仓库(Harbor/ECR)、ImagePullSecret
L3:部署与策略层 集群管理员、策略引擎 策略签名、准入 Webhook 配置 Admission Controller、OPA/Gatekeeper、Kyverno
L4:运行时与数据层 容器运行时、节点内核 运行时安全策略、Seccomp/AppArmor 配置 Pod Security Standards、RuntimeClass、eBPF 监控
关键认知: 信任是单向传递的。L1 的信任漏洞会穿透到 L4;但 L4 的运行时监控无法修复 L1 的恶意代码注入。观测标签体系必须在每一层都设立独立的信任度量指标。

2.2 信任边界在 Kubernetes 中的映射

Kubernetes 的 API 对象模型天然形成了多个信任边界。每个边界都是一个潜在的信任检查点,也是攻击者试图跨越的障碍。

Kubernetes 信任边界映射架构 Kubernetes 信任边界映射架构 外部用户 / CI 系统 信任凭证: / 证书 API Server 认证 / 授权 / 准入 镜像仓库 签名验证 / 拉取凭证 kubectl / API 调用 镜像拉取请求 etcd(持久化层) 数据完整性边界 Kubelet(节点代理) 节点信任边界 容器运行时 镜像解包 / 执行边界 信任边界检查点 ① 认证:TLS / ServiceAccount ② 授权:RBAC / ABAC ③ 准入:镜像签名 / 策略

上图中,每个矩形代表一个独立的信任域。跨越边界时,Kubernetes 会执行以下验证:

  • 外部 → API Server: TLS 双向认证、ServiceAccount 验证、RBAC 授权检查。
  • API Server → etcd: 只有 API Server 有直接读写 etcd 的权限,其他组件必须通过 API Server。
  • API Server → Kubelet: Kubelet 通过 TLS 证书向 API Server 注册,并定期上报节点状态。
  • Kubelet → 容器运行时: 通过 CRI(Container Runtime Interface)调用,运行时负责镜像拉取、解包和进程隔离。

2.3 信任降级与攻击面分析

信任降级(Trust Degradation)是指原本被认为安全的信任边界,因某个环节的失效或绕过,导致整个供应链的安全水位下降。以下是镜像供应链中常见的信任降级场景及其对应的攻击面。

2.3.1 信任降级的三种模式

降级模式 触发条件 典型攻击面 观测指标
凭证泄露 CI/CD 或镜像拉取 Secret 被窃取 恶意镜像推送、未授权拉取 Secret 异常访问、非预期镜像仓库操作
策略绕过 Admission Controller 配置错误或未启用 未签名镜像直接部署、特权容器创建 准入 Webhook 调用失败率、策略违反事件
依赖投毒 基础镜像或第三方依赖被篡改 供应链上游攻击(如 Dependency Confusion) 镜像层哈希变更、SBOM 差异告警
信任降级与攻击面流程 信任降级与攻击面流程 正常信任链 L1→L2→L3→L4 信任降级触发点 凭证泄露 / 策略绕过 攻击面展开 恶意镜像 / 权限提升 信任降级后的典型攻击路径 1. 镜像替换攻击 攻击者利用泄露的推送凭证,将合法镜像替换为包含后门的版本。 2. 特权容器逃逸 策略绕过导致容器以 privileged 模式运行,攻击者通过宿主机内核漏洞逃逸。 3. 供应链依赖混淆 攻击者在公共仓库上传同名恶意包,CI 系统自动拉取并构建进镜像。
⚠️ 信任降级的连锁反应: 一次凭证泄露可能导致整个集群的镜像供应链信任链断裂。例如,攻击者通过泄露的 CI 向镜像仓库推送恶意镜像,该镜像随后被部署到生产集群,进而通过容器逃逸获取节点权限,最终控制整个集群。观测标签体系必须能够实时检测信任降级事件,并触发自动阻断。

2.3.2 攻击面分类与观测优先级

根据攻击发生的阶段和影响范围,我们将攻击面分为三类,并给出观测标签的优先级建议:

  • P0(紧急): 运行时攻击面。包括容器逃逸、恶意进程执行、敏感文件访问。需要实时告警和自动隔离。
  • P1(高优): 部署时攻击面。包括未签名镜像部署、特权容器创建、HostPath 挂载。需要在准入阶段阻断。
  • P2(中优): 构建时攻击面。包括基础镜像漏洞、依赖投毒、SBOM 不一致。需要在 CI 阶段扫描和修复。
实践建议: 在构建观测标签体系时,建议为每个信任边界分配一个信任等级标签(trust-level: verified | degraded | revoked)。当检测到信任降级事件时,自动将受影响的工作负载的 trust-level 标签降级,并触发对应的安全策略(如网络隔离、日志审计增强)。