← 返回论文

Paper Files / Secrets

云原生基础设施中用于机密治理、检测与自动化轮换的形式化架构

SecretsZH

TITLE: 云原生基础设施中用于机密治理、检测与自动化轮换的形式化架构 ABSTRACT: 计算机机密(secrets)的不当管理仍然是云原生基础设施遭受安全入侵的主要原因之一。访问令牌、加密密钥、数据库凭证以及数字签名工件经常在公共代码仓库、持续集成流水线和应用日志中被暴露。到2025年,随着基于 Kubernetes 的架构、DevSecOps 实践、CNAPP(Cloud-Native Application Protection Platform)平台的成熟,以及与开发流程集成的大规模语言模型(LLMs)的广泛使用,与机密相关的攻击面显著扩大。本文提出一种用于机密治理、检测和自动化轮换的形式化架构,其基础是数学建模与时序性质验证。我们将机密的生命周期形式化为由定时自动机(timed automata)建模的动态系统,并通过线性时序逻辑(Linear Temporal Logic)表达机密性与一致性保证。我们引入一种混合检测机制,将带有 Miller–Madow 校正的 Shannon 熵、结构化模式以及基于梯度提升(gradient boosting)的监督学习相结合。我们形式化定义了暴露窗口(exposure window),并将累计风险建模为瞬时利用率的积分。此外,我们提出一种具有原子性与可审计性保证的自适应轮换协议,并将其集成到 Kubernetes 环境及符合 NIST 指南、支持后量子密码学实践的机密管理器中。我们在 12,457 个公共代码仓库以及一个包含 10,000 个 pods 的集群中对该方案进行了实证评估,获得了 0.978 的精确率、0.95 的召回率,并将平均暴露窗口缩短了 89%。我们证明了结果具有统计显著性,并讨论了其对多云环境安全治理以及缓解 MITRE ATT&CK 中与凭证暴露相关技术的影响。我们得出结论:将数学形式化、自动化检测与自适应轮换相结合,是降低云原生基础设施中与机密相关系统性风险的一种有效且可验证的方法。

  1. 引言

计算机秘密——被定义为其披露会破坏真实性、机密性或完整性属性的机密信息——构成当代数字安全的结构性要素(SALTZER; SCHROEDER, 1975)。在分布式架构和云原生环境中,特别是在 DevSecOps 实践下,秘密通常表现为私钥、OAuth 2.0 令牌、数据库凭据、制品签名密钥、X.509 证书、临时 STS 凭据以及用于人工智能服务的 API 密钥(OWASP, 2023)。

近期报告表明,每年在公共代码仓库中检测到数百万个暴露的秘密(GITGUARDIAN, 2024)。广泛记录的事件,例如 2021 年的 Codecov 事件,表明持续集成令牌的外泄如何允许攻击者进行横向移动并危及多个组织(CODECOV, 2021)。此外,远程代码执行漏洞(例如 CVE-2021-44228(Log4Shell))表明,在初始入侵之后,存储在环境变量中的凭据可能被利用(NVD, 2021)。

在 MITRE ATT&CK 框架中,秘密的利用直接关联到技术 T1552(Unsecured Credentials)、T1555(Credentials from Password Stores)和 T1078(Valid Accounts)(MITRE, 2024)。从规范角度来看,诸如 NIST SP 800-63B(数字身份)、NIST SP 800-57(密钥管理)以及 NIST SP 800-204D(微服务安全)等指南为认证器和密码学密钥的保护提供了基础(NIST, 2020a; NIST, 2020b; NIST, 2023a)。2024 年,NIST 发布了首批联邦后量子密码标准(FIPS 203–205),进一步强化了更新密钥管理机制的必要性(NIST, 2024a)。

我们提出以下研究问题:

RQ1:如何对秘密生命周期进行形式化建模,从而实现可验证的时间安全性保证?

RQ2:是否可以在组织规模上自动检测暴露的秘密,并在保持高精度的同时维持较低的误报率,包括由 LLM 生成的制品?

RQ3:自动化自适应轮换在减少暴露时间窗口方面的定量影响是什么?

我们的贡献包括:

C1:将秘密治理问题形式化为具有线性时序逻辑属性的动态系统的数学建模。

C2:一种结合熵、结构模式和监督学习的混合检测机制。

C3:一种自适应轮换协议,具有一致性、原子性和可审计性的形式化保证,并兼容 Kubernetes 环境与 CNAPP 实践。

  1. 理论基础与相关工作

2.1 秘密的形式化定义

设 $\mathcal{S}$ 为可变长度二进制字符串的集合。我们将秘密定义为 $s \in \mathcal{S}$,满足:

  1. $H(s) \geq \lambda$,其中 $\lambda$ 为最小熵阈值;
  2. 存在风险函数 $R(Sys, s) > 0$,使得 $s$ 的披露会降低系统 $Sys$ 的某种安全属性。

Shannon 熵定义为:

$$ H(s) = - \sum_{i} p_i \log_2 p_i $$

其中 $p_i$ 表示符号 $i$ 的概率(SHANNON, 1948)。对于在字母表 $\Sigma$ 上均匀分布的字符串,每个符号的熵为 $\log_2 |\Sigma|$。

为了减少小样本偏差,我们采用 Miller–Madow 修正:

$$ \hat{H}{MM} = \hat{H}{ML} + \frac{|\Sigma|-1}{2N \ln 2} $$

其中 $N$ 为样本大小,$\hat{H}_{ML}$ 为最大似然估计量。

2.2 暴露窗口与风险

我们将秘密 $s$ 的暴露窗口定义为:

$$ W_s = t_{撤销}(s) - t_{暴露}(s) $$

我们将累积风险建模为:

$$ \mathcal{R}(s) = \int_{t_{暴露}}^{t_{撤销}} \rho(t), dt $$

其中 $\rho(t)$ 为瞬时利用率。在假设 $\rho(t) \approx \rho_0$ 为常数的情况下,有 $\mathcal{R}(s) \approx \rho_0 W_s$。因此,最小化 $E[W_s]$ 即意味着降低期望风险。

2.3 最新研究进展

TruffleHog 和 GitLeaks 等工具使用结构模式和熵阈值进行检测(TRUFFLEHOG, 2024; GITLEAKS, 2024)。实证研究表明,在公共代码仓库中存在大量秘密(MELI et al., 2019; RAHMAN et al., 2019)。近期报告指出,与生成式人工智能服务相关的秘密数量正在增加(GITGUARDIAN, 2024)。

诸如 HashiCorp Vault、AWS Secrets Manager 和 Azure Key Vault 等管理器提供程序化轮换机制(HASHICORP, 2024; AWS, 2024; MICROSOFT, 2024)。CNAPP 平台整合了不安全配置检测与秘密治理(GARTNER, 2023)。然而,这些方法很少对可验证的时间属性进行形式化。

我们的工作通过整合数学形式化、时序逻辑验证和定量评估而有所区别。

  1. 威胁模型与形式化

我们考虑具有多项式概率能力的对手 $\mathcal{A}$,其能力包括:

  1. 读取公共代码仓库;
  2. 提取制品和日志;
  3. 远程执行代码;
  4. 通过提示工程诱导 LLM 泄露嵌入在上下文中的秘密。

我们假设密码学原语按照当前建议是安全的,包括 AES-256 和已标准化的后量子方案(NIST, 2024a)。

我们将系统建模为时间自动机 $\mathcal{M} = (Q, \Sigma, \delta)$,其中 $Q$ 表示有效性状态,$\Sigma$ 表示事件,$\delta$ 为状态转移函数。

LTL 中的形式化属性:

时间机密性:

$$ \mathbf{G}(exposed(s) \rightarrow \mathbf{F}{\leq \delta{max}} revoked(s)) $$

轮换后一致性:

$$ \mathbf{G}(rotate(s) \rightarrow \mathbf{X}\neg use(s_{旧})) $$

可审计性:

$$ \mathbf{G}(event(e) \rightarrow \mathbf{F}, logged(e)) $$

  1. 提出的方法

4.1 混合检测

该算法的复杂度为 $O(n \cdot (m + k d))$,其中 $n$ 为字符串数量,$m$ 为预处理成本,$k$ 为树的数量,$d$ 为特征数量。

误报率为:

$$ FPR = \frac{FP}{FP + TN} $$

我们使用分层 10 折交叉验证,并评估 precision、recall 和 F1。

4.2 自适应轮换

我们将轮换建模为基于 two-phase commit(2PC)的分布式事务。消息复杂度为 $O(p)$。

简化示例:

vault lease revoke <lease_id>
vault secrets enable -path=app kv-v2
kubectl rollout restart deployment/app

自适应策略定义间隔 $\tau(s)$ 与估计风险成比例:

$$ \tau(s) = \min(\tau_{max}, \alpha / \hat{\mathcal{R}}(s)) $$

  1. 实现

我们使用 Go 和 Python 实现该架构,并与 Kubernetes v1.29 和 Vault v1.15 集成(KUBERNETES, 2024; HASHICORP, 2024)。事件通过 Apache Kafka 3.x 传输。

Sidecar 组件避免持久化敏感变量,并使用秘密的临时投影。我们集成了 OPA(Open Policy Agent)策略以实现声明式强制执行。

观察到的可扩展性:

指标 数值
处理事件 3.200/s
平均轮换延迟 42 s
平均 CPU 开销 4,3%
  1. 实验评估

数据集由 2023–2024 年间收集的 12.457 个公共代码仓库组成。

平均结果:

指标 数值
Precision 0,978
Recall 0,950
F1-score 0,964

$E[W_s]$ 从 380 s 降至 42 s(减少 89%)。Student t 检验表明 $p < 0,01$。

  1. 讨论

检测与自动化响应之间的集成显著减少了与技术 T1552 和 T1078 相关的攻击时间暴露面(MITRE, 2024)。我们观察到,与 AI API 相关的机密数量出现显著增长,因此需要制定专门的治理策略。

局限性包括通过碎片化进行规避以及对外部 API 的依赖。将该方法推广到 serverless 和 edge 环境仍需要进一步研究。

  1. 结论

我们提出了一种用于机密治理与自动轮换的形式化架构,并具备可验证的时间保证。实验结果表明,暴露窗口显著缩短,同时检测精度保持较高水平。

未来工作包括通过模型检测(model checking)实现自动化形式化验证,并与基于可信硬件的证明机制进行集成。

References

AWS. AWS Secrets Manager Documentation. 2024. Available at: https://docs.aws.amazon.com/secretsmanager/. Accessed on: 13 abr. 2025.

CODECOV. Codecov Security Incident Report. 2021. Available at: https://about.codecov.io/security-update/. Accessed on: 13 abr. 2025.

GARTNER. Innovation Insight for Cloud-Native Application Protection Platforms. 2023. Available at: https://www.gartner.com/. Accessed on: 13 abr. 2025.

GITLEAKS. GitLeaks Documentation. 2024. Available at: https://github.com/gitleaks/gitleaks. Accessed on: 13 abr. 2025.

GITGUARDIAN. State of Secrets Sprawl Report 2024. 2024. Available at: https://www.gitguardian.com/state-of-secrets-sprawl. Accessed on: 13 abr. 2025.

HASHICORP. Vault Documentation. 2024. Available at: https://developer.hashicorp.com/vault/docs. Accessed on: 13 abr. 2025.

KUBERNETES. Kubernetes Documentation v1.29. 2024. Available at: https://kubernetes.io/docs/. Accessed on: 13 abr. 2025.

MELI, M. et al. How Bad Can It Git? Characterizing Secret Leakage in Public GitHub Repositories. In: IEEE Symposium on Security and Privacy, 2019. Available at: https://ieeexplore.ieee.org/document/8835224. Accessed on: 13 abr. 2025.

MICROSOFT. Azure Key Vault Documentation. 2024. Available at: https://learn.microsoft.com/azure/key-vault/. Accessed on: 13 abr. 2025.

MITRE. ATT&CK Framework. 2024. Available at: https://attack.mitre.org/. Accessed on: 13 abr. 2025.

NIST. Digital Identity Guidelines – SP 800-63B. 2020a. Available at: https://pages.nist.gov/800-63-3/sp800-63b.html. Accessed on: 13 abr. 2025.

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

NIST. Security Strategies for Microservices-based Applications – SP 800-204D. 2023a. Available at: https://csrc.nist.gov/publications/detail/sp/800-204d/final. Accessed on: 13 abr. 2025.

NIST. FIPS 203: Module-Lattice-Based Key-Encapsulation Mechanism Standard. 2024a. Available at: https://csrc.nist.gov/publications/detail/fips/203/final. Accessed on: 13 abr. 2025.

NVD. CVE-2021-44228 Detail. 2021. Available at: https://nvd.nist.gov/vuln/detail/CVE-2021-44228. Accessed on: 13 abr. 2025.

OWASP. Secrets Management Cheat Sheet. 2023. Available at: https://cheatsheetseries.owasp.org/cheatsheets/Secrets_Management_Cheat_Sheet.html. Accessed on: 13 abr. 2025.

RAHMAN, M. et al. Secrets in Source Code: Reducing False Positives using Machine Learning. In: ICSE, 2019. Available at: https://ieeexplore.ieee.org/document/8811951. Accessed on: 13 abr. 2025.

SALTZER, J.; SCHROEDER, M. The Protection of Information in Computer Systems. Proceedings of the IEEE, 1975. Available at: https://ieeexplore.ieee.org/document/1451869. Accessed on: 13 abr. 2025.

SHANNON, C. A Mathematical Theory of Communication. Bell System Technical Journal, 1948. Available at: https://ieeexplore.ieee.org/document/6773024. Accessed on: 13 abr. 2025.

TRUFFLEHOG. TruffleHog Documentation. 2024. Available at: https://github.com/trufflesecurity/trufflehog. Accessed on: 13 abr. 2025.