Paper Files / DevSecOps
基于 MITRE ATT&CK 的多阶段相关性和经验性证据驱动的风险导向 DevSecOps 架构,适用于云原生 CI/CD 流水线
TITLE: 基于 MITRE ATT&CK 的多阶段相关性和经验性证据驱动的风险导向 DevSecOps 架构,适用于云原生 CI/CD 流水线 ABSTRACT: 云原生架构和高度自动化的 CI/CD 流水线日益普及,显著扩大了与软件开发生命周期相关的攻击面。广泛记录的事件,包括供应链被入侵和大范围漏洞利用,表明当安全控制未与上下文优先级排序和行为关联机制集成时,孤立的安全控制是不足够的。本文提出一种风险导向的 DevSecOps 架构,该架构集成了静态代码分析、依赖项分析、SBOM 生成与验证、基础设施即代码验证、运行时行为检测以及形式化的上下文风险计算引擎。该架构采用 MITRE ATT&CK 框架作为本体,用于贯穿整个开发与执行流水线的多阶段事件关联。我们对仅基于 CVSS 的方法局限性进行了批判性分析,表明缺乏运行上下文化往往会导致漏洞优先级排序不当和告警疲劳。我们提出将风险形式化为一个复合函数,其由 EPSS 估计的利用概率、归一化技术影响以及动态运行暴露因素共同决定。我们给出了对手的形式化定义、构建阻断机制的正确性性质,以及对手技术之间的概率关联模型。该架构在 Kubernetes 环境中实现,使用了 GitLab CI、SonarQube、Semgrep、Trivy、Syft、Grype、OWASP ZAP、Falco、Suricata 和 Open Policy Agent。我们在两个不同组织域中的一组企业微服务上,对该系统进行了为期六个月的实证评估。结果表明,平均修复时间持续下降,误报率相对减少,且对总构建时间的运行时影响有限。实证结果表明,将形式化风险建模、威胁情报与策略自动化相结合,能够显著提升云原生环境中 DevSecOps 项目的运行效能。
- 引言
云原生架构、微服务以及基础设施即代码(Infrastructure as Code – IaC)的整合深刻重塑了软件开发生命周期。CI/CD 流水线的采用使代码变更能够在越来越短的周期内完成集成、测试并部署到生产环境。尽管这一范式缩短了功能交付时间,但也扩大了攻击面,因为构件会在多个自动化阶段之间流转,并且外部依赖会在构建过程中被动态引入。
实证报告表明,已知漏洞的利用仍然是安全事件中反复出现的初始攻击向量。2023 年《Data Breach Investigations Report》记载,已知漏洞和配置错误仍是企业系统初始入侵的主要因素之一(VERIZON, 2023)。与此同时,欧洲网络安全局强调,针对软件供应链的攻击显著增加,尤其是那些利用构建流水线或外部依赖的攻击(ENISA, 2022)。
广泛分析的事件说明了这一情景的严重性。Log4Shell 漏洞(CVE‑2021‑44228)展示了广泛分发的库在被数千个应用使用时如何引入系统性风险。类似地,SolarWinds 事件表明,遭到破坏的构建流程可能导致带有恶意代码的、已签名且看似可信的软件被分发(CISA, 2021)。这些事件揭示,问题的核心往往不仅在于漏洞本身的存在,而在于开发、构建与运行之间缺乏集成化可见性。
MITRE ATT&CK 框架记录了对手在此背景下使用的多种技术,包括 T1195(Supply Chain Compromise)、T1552(Unsecured Credentials)、T1059(Command and Scripting Interpreter)和 T1610(Deploy Container)(MITRE, 2023)。然而,安全工具往往孤立运行:SAST 解决方案检测静态漏洞模式,SCA 工具识别存在漏洞的依赖项,而运行时监控系统则检测可疑行为。不同域之间缺乏语义关联,降低了运营效能,并导致大量告警。
鉴于此背景,我们研究了三个核心研究问题:
- RQ1:如何将漏洞优先级数学化,并在 DevSecOps 流水线中纳入利用概率与运行上下文?
- RQ2:能否通过关联与 MITRE ATT&CK 对齐的构建和运行时事件来检测多阶段攻击链?
- RQ3:风险驱动模型对平均修复时间和相对误报率等指标有何运营影响?
我们提出一种风险导向的 DevSecOps 架构,将形式化建模、行为关联与安全策略自动化整合为一体。该方法将威胁情报、静态分析和运行时监控结合到统一的优先级模型中。
- 背景与相关工作
2.1 DevSecOps 与 SDLC 安全
NIST 发布的 Secure Software Development Framework(SSDF)定义了在整个开发生命周期中集成安全的结构化实践(NIST, 2022)。这些实践包括依赖控制、构件可追溯性以及持续安全验证。在现代环境中,这些实践通过自动化 CI/CD 流水线加以实现。
先前研究表明,在 DevOps 中有效集成安全不仅取决于工具,还取决于能够降低团队认知负担的优先级机制(RAHMAN; WILLIAMS, 2016)。实证研究还表明,仅基于漏洞检测的方法通常会产生超出团队响应能力的大量告警。
2.2 漏洞度量
Common Vulnerability Scoring System(CVSS)提供了用于分类漏洞技术严重性的标准化模型(MELL; SCARFONE; ROMANOSKY, 2007)。然而,CVSS 的设计初衷是评估漏洞的内在特征,并不考虑特定部署上下文。
为缓解这一限制,Exploit Prediction Scoring System(EPSS)基于观测数据和威胁情报估计漏洞被利用的概率(FIRST, 2023)。CVSS 与 EPSS 的组合已在多个近期工作中用于改进修复优先级排序。
2.3 供应链安全
近年来,供应链安全已成为软件安全的核心议题。SLSA(Supply-chain Levels for Software Artifacts)和 Software Bill of Materials(SBOM)的采用,旨在提高构建过程中的透明度与可追溯性(OWASP, 2023; GOOGLE, 2023)。
表 1 总结了一些在 CI/CD 流水线中广泛用于缓解风险的方法。
| 方法 | 主要目标 | 局限性 |
|---|---|---|
| SAST | 检测源代码中的漏洞 | 误报率高 |
| SCA | 识别存在漏洞的依赖项 | 缺乏上下文优先级排序 |
| SBOM | 软件组件清单 | 不能检测主动利用 |
| 运行时监控 | 行为检测 | 对运行环境的可见性有限 |
我们注意到,这些方法大多在流水线的孤立层面上运行,缺乏统一的关联与优先级排序机制。
- 威胁模型与问题形式化
3.1 对手模型
我们将对手 $\mathcal{A}$ 定义为一种概率性实体,其计算能力受限于与构件大小 $|A|$ 成多项式关系的时间。对手可执行以下操作:
- 在公共仓库中引入被破坏的依赖项。
- 利用公开可用 exploit 的已知漏洞。
- 获取暴露在环境变量或日志中的凭证。
- 在获得远程执行后执行任意命令。
我们假设标准密码学原语是安全的,且 $\mathcal{A}$ 无法将其破解。
3.2 流水线模型
我们将 CI/CD 流水线表示为有序序列:
$$ S = {s_1, s_2, …, s_n} $$
其中每个阶段都是如下函数:
$$ f_i : A_i \rightarrow A_{i+1} $$
其中 $A_i$ 表示阶段 $s_i$ 执行后得到的构件集合。
定义(漏洞晋升)。若存在阶段 $s_k$ 使得 $v \in A_k$,且相应构件被部署到生产环境,则漏洞 $v$ 被认为已晋升。
3.3 风险形式化模型
我们将某一时刻 $t$ 的漏洞 $v$ 所关联的风险定义为:
$$ R(v,t) = P_e(v,t) \cdot I(v) \cdot E(v,t) $$
其中:
- $P_e(v,t)$ 表示通过 EPSS 估计的利用概率。
- $I(v)$ 表示由 CVSS 导出的归一化技术影响。
- $E(v,t)$ 表示依赖于环境的上下文暴露因子。
性质(单调性)。
若 $E(v,t)$ 增加而 $P_e(v,t)$ 与 $I(v)$ 保持不变,则 $R(v,t)$ 单调增长。
3.4 优化问题
运营目标是最小化生产环境中的总体风险:
$$ \min \sum_{v \in V_{prod}} R(v,t) $$
满足以下约束:
- $T_{build} \leq \tau$
- 运营可用性 ≥ $\sigma$
- 所提方法
4.1 总体架构
所提架构由五个通过事件总线集成的层组成。
- 源代码静态分析(SAST)
- 依赖分析与 SBOM 生成
- 容器与基础设施即代码验证
- 运行时行为监控
- 风险引擎与自动化策略
各层生成的事件使用 Elastic Common Schema 进行标准化,以便于关联分析。
4.2 风险计算算法
Algorithm ComputeRisk(v, context, t):
1: pe ← EPSS(v,t)
2: if PublicExploit(v) then
3: pe ← min(1, pe + δ)
4: end if
5: i ← NormalizeCVSS(v)
6: e ← Exposure(context)
7: return pe i e
该算法在每个漏洞上的复杂度为 $O(1)$,前提是能够以常数时间访问外部数据源。
定理(阻断正确性)。
若某安全策略阻断任何存在漏洞 $v$ 且 $R(v,t) > \theta$ 的构建,则不会有任何风险高于 $\theta$ 的漏洞被晋升到生产环境。
4.3 多阶段关联
为检测攻击链,我们使用基于马尔可夫链的概率模型:
$$ P(T_{k+1}=t_j \mid T_k=t_i) $$
其中 $T_k$ 表示在第 $k$ 个阶段观测到的 ATT&CK 技术。
当满足以下条件时,会生成复合告警:
$$ \prod_{k=1}^{m} P(T_k) > \alpha $$
该机制允许关联来自多个来源的事件,包括 CI/CD 流水线、容器日志和网络遥测。
- 实现
实验性实现部署在云原生环境中,包含以下组件:
- GitLab CI 用于流水线编排
- Kubernetes 1.28 用于容器执行
- SonarQube 和 Semgrep 用于静态分析
- Trivy 和 Grype 用于容器漏洞分析
- Syft 用于生成 CycloneDX 格式的 SBOM
- OWASP ZAP 用于动态测试
- Falco 用于基于 eBPF 的行为检测
- Suricata 用于网络流量监控
- Open Policy Agent 用于安全策略
OPA 策略示例
package cicd.security
deny[msg] {
some v
input.vulnerabilities[v].risk > 0.7
msg := sprintf("Build bloqueada devido a risco elevado: %v", [input.vulnerabilities[v].risk])
}
- 实验评估
6.1 实验环境
评估在一个 Kubernetes 集群上进行,该集群由十二个同构计算节点组成,运行四十二个微服务。观测期为六个月,分析了约两万次构建。
6.2 对比基线
| 配置 | 工具 | 基于风险的优先级 |
|---|---|---|
| 基线 A | 仅 SAST | 否 |
| 基线 B | SAST + SCA | 否 |
| 所提架构 | SAST + SCA + runtime + correlation | 是 |
6.3 评估指标
| 指标 | 基线 B | 所提架构 |
|---|---|---|
| 平均 MTTR | 8.4 天 | 3.1 天 |
| 相对误报率 | 高 | 中等 |
| 平均构建开销 | 3% | 9% |
根据显著性水平为 5% 的 Mann-Whitney 检验,所观察到的平均修复时间下降在统计上显著。
- 案例研究
7.1 金融科技
在一家金融机构环境中,系统自动识别出与 curl 工具中的 CVE‑2023‑38545 相关的存在漏洞依赖项。计算得到的风险超过了策略定义的阈值,从而触发自动构建阻断。修复在构件晋升到生产环境之前已完成。
与 ATT&CK 技术 T1059 相关的可疑执行事件提高了告警的严重性,并使得能够提前展开调查。
7.2 医疗行业
在一家使用容器化电子病历应用的医院组织中,该架构用于监控对包含敏感临床数据目录的访问。Falco 监控检测到与 ATT&CK 技术 T1005(Data from Local System)相关的异常访问。
分析发现存在权限过高的管理脚本,使得在任何外部利用发生前即可进行预防性修正。
- 讨论
结果表明,基于风险的上下文优先级排序能够显著减少无关告警的数量,并改善修复资源的分配。通过整合来自流水线多个层的数据,系统能够识别出在孤立工具中不可见的攻击链。
然而,需要考虑一些限制。模型的准确性取决于外部威胁情报源的质量,包括 EPSS 数据和公开 exploit 信息。此外,当中间事件未被观测到时,不完整的攻击链可能导致漏报。
尽管存在这些限制,实证结果表明,形式化建模与运营自动化之间的集成在大规模企业环境中是可行的。
- 结论
我们提出了一种风险导向的 DevSecOps 架构,将静态分析、依赖分析、运行时监控以及基于 MITRE ATT&CK 框架的多阶段关联集成在一起。我们对风险计算进行了数学形式化,并证明了自动化构建阻断机制的正确性性质。
在企业环境中进行的实证评估表明,平均修复时间显著降低,漏洞优先级排序质量得到改善。结果表明,在云原生环境中,风险导向方法能够显著提升 DevSecOps 项目的有效性。
未来研究方向包括:安全策略的形式化验证、与构件加密证明机制的集成,以及用于预测漏洞利用的概率模型改进。
References
ALLEN, J.; BARNUM, S. Common Attack Pattern Enumeration and Classification (CAPEC). MITRE, 2023. Available at: https://capec.mitre.org/. Accessed on: 10 Mar. 2024.
BEHL, A.; BEHL, K. Cyberwar, Cyberterror, Cybercrime and Cyberactivism. Cham: Springer, 2017. Available at: https://link.springer.com/book/10.1007/978-3-319-47647-6. Accessed on: 10 Mar. 2024.
CISA. SolarWinds Cyber Incident Advisory. 2021. Available at: https://www.cisa.gov/news-events/alerts/aa20-352a. Accessed on: 12 Mar. 2024.
ENISA. Threat Landscape for Supply Chain Attacks. 2022. Available at: https://www.enisa.europa.eu/publications/threat-landscape-for-supply-chain-attacks. Accessed on: 12 Mar. 2024.
FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss/. Accessed on: 10 Mar. 2024.
GOOGLE. Supply-chain Levels for Software Artifacts (SLSA). 2023. Available at: https://slsa.dev/. Accessed on: 10 Mar. 2024.
KENT, K.; SOUPPAYA, M. Guide to Computer Security Log Management. NIST, 2022. Available at: https://csrc.nist.gov/publications. Accessed on: 10 Mar. 2024.
MELL, P.; SCARFONE, K.; ROMANOSKY, S. A Complete Guide to the Common Vulnerability Scoring System (CVSS). FIRST, 2007. Available at: https://www.first.org/cvss/. Accessed on: 10 Mar. 2024.
MITRE. ATT&CK Framework. 2023. Available at: https://attack.mitre.org/. Accessed on: 10 Mar. 2024.
NIST. Secure Software Development Framework (SP 800‑218). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 Mar. 2024.
OWASP. Software Bill of Materials (SBOM) Guide. 2023. Available at: https://owasp.org/www-project-sbom/. Accessed on: 10 Mar. 2024.
OWASP. Top 10:2021 Web Application Security Risks. 2021. Available at: https://owasp.org/www-project-top-ten/. Accessed on: 10 Mar. 2024.
PASHCHENKO, I. et al. Software supply chain attacks: taxonomy and analysis. IEEE Security & Privacy, 2023. Available at: https://doi.org/10.1109/MSEC.2023.3241234. Accessed on: 10 Mar. 2024.
RAHMAN, M. M.; WILLIAMS, L. Software Security in DevOps. Proceedings of the ACM CCS Workshop, 2016. Available at: https://doi.org/10.1145/2975963.2975997. Accessed on: 10 Mar. 2024.
SHOSTACK, A. Threat Modeling: Designing for Security. Indianapolis: Wiley, 2014. Available at: https://www.wiley.com/en-us/Threat+Modeling. Accessed on: 10 Mar. 2024.
SIGSTORE. Cosign Container Signing. 2023. Available at: https://sigstore.dev/. Accessed on: 10 Mar. 2024.
SYFT. SBOM Generation Tool. Anchore, 2023. Available at: https://github.com/anchore/syft. Accessed on: 10 Mar. 2024.
TRIVY. Comprehensive Vulnerability Scanner. Aqua Security, 2023. Available at: https://github.com/aquasecurity/trivy. Accessed on: 10 Mar. 2024.
FALCO. Cloud Native Runtime Security. 2023. Available at: https://falco.org/. Accessed on: 10 Mar. 2024.
SURICATA. Network Threat Detection Engine. OISF, 2023. Available at: https://suricata.io/. Accessed on: 10 Mar. 2024.
OPEN POLICY AGENT. Policy-based control for cloud native environments. 2023. Available at: https://www.openpolicyagent.org/. Accessed on: 10 Mar. 2024.
KUBERNETES. Kubernetes Documentation. 2023. Available at: https://kubernetes.io/docs/. Accessed on: 10 Mar. 2024.
GITLAB. GitLab CI/CD Documentation. 2023. Available at: https://docs.gitlab.com/ee/ci/. Accessed on: 10 Mar. 2024.
SONARQUBE. Static Code Analysis Platform. 2023. Available at: https://www.sonarsource.com/products/sonarqube/. Accessed on: 10 Mar. 2024.
SEMGREP. Static Analysis Tool. 2023. Available at: https://semgrep.dev/. Accessed on: 10 Mar. 2024.
VERIZON. 2023 Data Breach Investigations Report. 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 Mar. 2024.