← 返回论文

Paper Files / Secrets

SecretGraph:一种用于云原生生态系统中机密管理、检测与自适应轮换的形式化、可扩展且可验证的架构

SecretsZH

TITLE: SecretGraph:一种用于云原生生态系统中机密管理、检测与自适应轮换的形式化、可扩展且可验证的架构 ABSTRACT: 数字机密(secrets)的管理已成为云原生基础设施中的主要风险向量之一,这类基础设施通常具有弹性扩展、工作负载的短暂性、持续集成以及通过 API 的高度暴露等特征。根据近期行业报告,凭证泄露仍然是安全漏洞的主要成因之一,同时 DevSecOps 流水线和公共制品的激增进一步扩大了攻击面。在本文中,我们将机密暴露问题形式化为动态有向图上的加权暴露时间最小化任务,其中顶点表示计算身份,边表示由凭证介导的依赖关系。我们定义了定量指标,包括机密平均暴露时间(Mean Secret Exposure Time, MSET),并证明在存在结构性依赖的情况下,最优轮换策略通过从具有优先约束和任意权重的经典调度问题进行归约可证明为 NP-困难。我们提出了 SecretGraph 架构,该架构集成了混合检测(静态分析、动态监控与上下文检查)、依赖图的增量式构建、基于中介中心性(betweenness centrality)的优先级排序,以及通过加密密钥库 API 实现的自适应轮换编排。我们使用 Go 和 Rust 实现了一个原型系统,并将其与 Kubernetes、SPIFFE/SPIRE 以及 HashiCorp Vault 集成,在包含多达 10.000 个活跃机密和 120 万次提交分析的环境中进行评估。与固定轮换策略相比,我们观察到 MSET 降低了 78,4%,同时平均 CPU 开销保持在 7% 以下。我们进一步讨论了其对 MITRE ATT&CK 技术映射的影响、与 NIST 推荐的后量子密码学的集成,以及以指标驱动的安全治理。我们得出结论:对机密依赖关系进行显式结构化建模能够在形式化保证的前提下显著缩短可被利用的时间窗口,并在大规模环境中具有可行的操作性。

  1. 引言

数字秘密的管理已成为当代计算基础设施中的核心风险向量之一,尤其是在以弹性、工作负载短暂性、微服务架构以及通过 API 高度耦合为特征的云原生环境中。在本文中,我们将秘密定义为任何需要保持机密性以维护分布式系统中真实性、完整性或机密性属性的数字工件。示例包括 TLS 私钥、OAuth 2.0 令牌、数据库凭据、API 密钥、X.509 证书、由 KMS 管理的对称密钥,以及 Kubernetes 中的 Secret 类型对象(KUBERNETES, 2023)。

经验证据进一步强化了该问题的核心地位。《Data Breach Investigations Report》(DBIR)报告指出,使用有效凭据是反复出现的入侵向量之一(VERIZON, 2024)。关于公共代码仓库中秘密暴露的报告表明,每年在 Git 提交中检测到数百万条凭据(GITGUARDIAN, 2023)。在 MITRE ATT&CK 框架中,T1552(Unsecured Credentials)和 T1078(Valid Accounts)等技术明确描述了使用合法凭据进行持久化、权限提升和横向移动的行为(MITRE, 2024)。OWASP 系统化总结了秘密管理中常见的缺陷,包括存储不当、轮换不足以及职责分离缺失(OWASP, 2022)。

尽管诸如 HashiCorp Vault(HASHICORP, 2023)、AWS KMS(AWS, 2023)、Azure Key Vault(MICROSOFT, 2024)和 Google Secret Manager(GOOGLE, 2024)等成熟解决方案提供了加密保护的存储和轮换 API,我们仍识别出若干结构性局限:(i)缺乏对聚合时间暴露的形式化建模;(ii)自动化检测与自适应轮换之间的集成薄弱;(iii)缺少基于依赖图结构影响的优先级机制;以及(iv)在异构与多云环境之间缺乏可比较的度量指标。

因此,我们提出以下研究问题:

RQ1: 如何对分布式系统中的秘密暴露进行形式化建模,使其可度量且可比较?

RQ2: 是否可以通过基于结构依赖的自适应轮换显著降低平均暴露时间?

RQ3: 在大规模环境中,这种方法的计算与渐近复杂度影响如何?

本文的主要贡献包括:(C1)将该问题形式化为动态有向图中加权时间暴露最小化的数学模型;(C2)提出 SecretGraph 架构,将混合检测与基于中心性的自适应轮换相结合;以及(C3)通过统计与渐近分析进行实验评估。

  1. 理论基础与相关工作

2.1 形式化定义

设 $S$ 为某一时刻 $t$ 的活动秘密集合。我们将每个秘密定义为如下元组:

$$ s = (v, t_c, t_e, \sigma, w) $$

其中 $v$ 为加密值;$t_c$ 为创建时刻;$t_e$ 为计划过期时刻;$\sigma$ 表示关联的作用域或权限集合;$w \in \mathbb{R}^+$ 表示由潜在影响导出的关键性权重。

我们将泄露秘密的有效暴露时间定义为:

$$ T_{exp}(s) = \max(0, t_{rev} - t_{leak}) $$

其中 $t_{leak}$ 为估计的泄露时刻,$t_{rev}$ 为实际撤销或轮换的时刻。

设 $S_L \subseteq S$ 为实际发生泄露的秘密子集。我们将秘密平均暴露时间(MSET)定义为:

$$ \text{MSET} = \frac{1}{|S_L|} \sum_{s \in S_L} T_{exp}(s) $$

我们进一步引入加权度量:

$$ \text{WMSET} = \frac{\sum_{s \in S_L} w_s \cdot T_{exp}(s)}{\sum_{s \in S_L} w_s} $$

该指标能够捕捉按关键性调整后的影响。

2.2 动态图建模

我们将系统建模为一个动态有向图:

$$ G_t = (V_t, E_t) $$

其中 $V_t$ 表示实体(工作负载、SPIFFE 身份、用户、无服务器函数),而 $E_t$ 表示由秘密介导的依赖关系。边 $(u \rightarrow v)$ 表示 $u$ 依赖于由 $v$ 控制或签发的某个秘密。

该建模方式允许应用经典图论指标,例如介数中心性 $C_B(v)$,其定义如下(BRANDES, 2001):

$$ C_B(v) = \sum_{s \neq v \neq t} \frac{\sigma_{st}(v)}{\sigma_{st}} $$

其中 $\sigma_{st}$ 表示 $s$ 与 $t$ 之间最短路径的数量,而 $\sigma_{st}(v)$ 表示经过 $v$ 的最短路径数量。

2.3 相关工作

NIST SP 800-57 为密码密钥生命周期提供了正式指南(NIST, 2020a),而 NIST SP 800-63 关注数字身份认证(NIST, 2020b)。NIST SP 800-207 引入了 Zero Trust 模型,强调持续的身份验证(NIST, 2020c)。2024 年,NIST 发布了初步的后量子密码学标准,如 ML-KEM 和 ML-DSA(NIST, 2024),这对长期密钥的轮换具有直接影响。

SPIFFE/SPIRE 等系统实现了基于工作负载的身份机制(SPIFFE, 2023),从而减少对静态凭据的依赖。在检测方面,混合方法通常结合静态代码分析与运行时监控。

然而,在现有文献中,我们未发现将时间暴露最小化明确形式化为具有结构权重的动态图优化问题的研究。

  1. 威胁模型与问题表述

我们假设一个概率多项式对手 $\mathcal{A}$,具备以下能力:(i)读取公共代码仓库和 CI/CD 构件;(ii)攻陷子集 $V_c \subset V$;以及(iii)按照 MITRE ATT&CK 中描述的方式利用有效凭据进行横向移动(MITRE, 2024)。我们不假设对根信任模块(如 HSM 或经认证的安全飞地)的攻陷。

问题在于寻找一个轮换策略 $\pi$,使得以下目标最小化:

$$ \min_{\pi} \sum_{s \in S} w_s \cdot T_{exp}^{\pi}(s) $$

我们认为该问题通过从带有优先约束和任意权重的调度问题($1|prec|\sum w_j C_j$)进行归约而证明为 NP-困难,这是复杂性理论中的经典问题。因此,在大规模环境中精确最优解不可行,从而需要结构性启发式方法。

  1. 所提出的方法

4.1 SecretGraph 架构

该架构由四个模块组成:

  1. 混合扫描器:对代码仓库进行静态分析、对容器镜像进行检查,并对敏感变量进行动态监控。
  2. 增量图构建器:基于观测到的事件持续更新 $G_t$。
  3. 优先级引擎:计算中心性并结合关键性权重进行评估。
  4. 轮换编排器:调用密钥管理系统(Vault、KMS)的 API,并支持事务性回滚。

4.2 复杂度

增量构建的复杂度为:

$$ O(|S| + |D| + |E|) $$

其中 $|D|$ 表示检测到的实例数量。Brandes 算法计算精确中心性的复杂度为 $O(|V||E|)$(针对非加权图),可通过采样降低至 $O(k|E|)$。

4.3 优先级启发式

我们定义:

$$ \text{priority}(s) = w_s \cdot C_B(owner(s)) $$

随后按优先级降序对秘密进行排序。直观而言,与结构上中心节点且具有高影响权重相关联的秘密将被优先轮换,从而降低横向传播的潜在风险。

  1. 实现

我们使用 Go 和 Rust 实现了原型,并通过 Kubernetes 运算符(CRDs)进行声明式协调。组件之间的相互认证采用 SPIFFE/SPIRE(SPIFFE, 2023)。密钥轮换通过经 mTLS 认证的 API 与 HashiCorp Vault 集成。

声明式策略的简化示例:

apiVersion: secretgraph.io/v1
kind: SecretPolicy
metadata:
  name: high-criticality
spec:
  rotationStrategy: adaptive
  weight: 0.9
  maxTTL: 168h

在主动轮换期间,我们观察到每次请求平均 4.8 ms 的额外开销,并且在一个拥有 10,000 个活跃密钥、8 个节点的集群中,CPU 使用率低于 38%。

  1. 实验评估

6.1 实验环境

参数 数值
节点数 8
每节点 vCPU 32
每节点 RAM 128 GB
活跃密钥 10,000
分析的提交 120 万

对比基线包括:(i)每 30 天固定轮换;(ii)基于检测但不进行结构优先级排序的轮换。

6.2 定量结果

指标 固定基线 无优先级 SecretGraph
MSET 72 h 41 h 15.5 h
相比固定策略的降低 – 43% 78.4%
误报率 13.7% 8.9% 4.2%
CPU 开销 1.2% 3.8% 6.3%

我们应用配对 t 检验,得到 $p < 0.01$,表明 MSET 的降低具有统计显著性。

  1. 讨论

暴露窗口的缩短直接影响诸如 T1552 和 T1078(MITRE, 2024)等技术,从而限制对手可利用的时间。对于长期密钥引入后量子密码学,与 NIST 的最新建议保持一致(NIST, 2024),从而降低未来风险。

其局限性包括在稠密图中重新计算中心性的成本,以及对检测质量的依赖。基于采样和增量更新的策略可以降低渐近计算成本。

  1. 结论

本文提出了 SecretGraph 架构,其基础是形式化建模以及在动态图上的启发式优化。实验表明,在保持可接受运行开销的同时,系统显著降低了平均暴露时间。该方法在图论、安全工程和以指标为导向的治理之间建立了桥梁,为云原生环境中的自适应密钥管理提供了可验证的实践路径。

References

AWS. AWS Key Management Service Developer Guide. 2023. Available at: https://docs.aws.amazon.com/kms/. Accessed on: 13 abr. 2025.

BRANDES, Ulrik. A faster algorithm for betweenness centrality. Journal of Mathematical Sociology, v. 25, n. 2, p. 163–177, 2001. Available at: https://doi.org/10.1080/0022250X.2001.9990249.

GITGUARDIAN. State of Secrets Sprawl Report 2023. 2023. Available at: https://www.gitguardian.com/state-of-secrets-sprawl-report.

GOOGLE. Secret Manager Documentation. 2024. Available at: https://cloud.google.com/secret-manager/docs.

HASHICORP. Vault Documentation. 2023. Available at: https://developer.hashicorp.com/vault/docs.

KUBERNETES. Secrets. 2023. Available at: https://kubernetes.io/docs/concepts/configuration/secret/.

MICROSOFT. Azure Key Vault Documentation. 2024. Available at: https://learn.microsoft.com/azure/key-vault/.

MITRE. ATT&CK Framework. 2024. Available at: https://attack.mitre.org/.

NIST. Recommendation for Key Management – SP 800-57 Part 1 Rev. 5. 2020a. Available at: https://csrc.nist.gov/publications/detail/sp/800-57-part-1/rev-5/final.

NIST. Digital Identity Guidelines – SP 800-63-3. 2020b. Available at: https://pages.nist.gov/800-63-3/.

NIST. Zero Trust Architecture – SP 800-207. 2020c. Available at: https://csrc.nist.gov/publications/detail/sp/800-207/final.

NIST. Post-Quantum Cryptography Standards. 2024. Available at: https://csrc.nist.gov/projects/post-quantum-cryptography.

OWASP. Secrets Management Cheat Sheet. 2022. Available at: https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html.

SPIFFE. SPIFFE/SPIRE Documentation. 2023. Available at: https://spiffe.io/docs/latest/.

VERIZON. 2024 Data Breach Investigations Report. 2024. Available at: https://www.verizon.com/business/resources/reports/dbir/.