← 返回论文

Paper Files / AppSec

标题:一种面向威胁的 AppSec 形式化与运作架构:集成 SAST、DAST、SCA、运行时遥测和 ATT&CK 情报,以实现基于可利用风险的优先级排序

AppSecZH

标题:一种面向威胁的 AppSec 形式化与运作架构:集成 SAST、DAST、SCA、运行时遥测和 ATT&CK 情报,以实现基于可利用风险的优先级排序 摘要:现代应用的攻击面随着微服务、API、容器以及持续集成和持续交付流水线的采用而大幅扩展。尽管 Static Application Security Testing(SAST)、Dynamic Application Security Testing(DAST)和 Software Composition Analysis(SCA)等应用安全工具已被广泛使用,但这些机制往往独立运行,产生大量缺乏操作上下文的告警。因此,安全团队在基于真实利用可能性来优先处理漏洞方面面临困难。本文提出一种面向威胁的应用安全形式化与运作架构,将 SAST、DAST 和 SCA 的结果与通过网络传感器以及基于 eBPF 的监控在运行时收集的执行遥测相结合。所提架构使用受贝叶斯模型启发的概率相关方法来估计已识别漏洞的可利用风险,将来自运行时观测事件的经验性证据纳入其中,并将这些证据与 MITRE ATT&CK 框架对齐。我们从数学上形式化了可利用风险的概念,并展示了如何组合多种证据来源以减少误报并改进修复优先级排序。实验实现部署于 Kubernetes 环境,并集成到 CI/CD 流水线中,使用了业界广泛采用的工具,包括 Semgrep、OWASP ZAP、OWASP Dependency-Check、Falco 和 Suricata。我们在一组存在漏洞的应用上评估了该方法,并观察到在可被利用漏洞识别的准确性方面显著提升。实验结果表明,相较于独立方法中 0.67–0.63 的 F1-score,集成模型达到了 0.85,同时误报减少了 37.4%,漏洞分诊的平均时间也有所下降。我们讨论了该概率模型的局限性、对 DevSecOps 实践的运作影响,以及可能的扩展方向,包括与 EPSS 等利用指标的集成以及用于自适应优先级排序的机器学习辅助分析。所提出的架构表明,静态分析、动态测试、依赖分析与运维遥测之间的相关性,是缩小漏洞检测与真实利用检测之间差距的一条有前景的路径。

  1. 引言

随着基于微服务、REST API、容器以及自动化持续集成与持续交付(CI/CD)流水线的分布式架构的普及,现代应用的攻击面显著扩大。在这一场景下,应用演变为由多个相互依赖组件构成的高度动态系统,通常部署于云环境中,并由 Kubernetes 等平台进行编排。这种架构转变提升了应用安全管理的复杂性,并引入了新的利用向量(BEHL; BEHL, 2017)。

最新报告表明,Web 应用仍然是安全事件中最主要的被攻陷向量之一。Verizon Data Breach Investigations Report 指出,对公共应用漏洞的利用仍然是攻击活动中反复出现的技术(VERIZON, 2023)。此外,广泛公开的事件——例如 Log4Shell(CVE-2021-44228)——表明,广泛使用的库中的漏洞可能在全球范围内造成系统性影响(CHEN et al., 2022)。

在 MITRE ATT&CK 框架中,若干技术与应用利用直接相关。其中值得注意的是 T1190(Exploit Public-Facing Application)、T1059(Command and Scripting Interpreter)以及 T1195(Supply Chain Compromise),这些技术经常出现在攻击链的初始阶段(MITRE, 2024)。尽管如此,传统应用安全工具仍主要以孤立方式运行。

静态分析工具(SAST)通过检查源代码中的漏洞模式来分析代码。动态测试工具(DAST)对运行中的应用执行模拟攻击。软件组成分析工具(SCA)则识别第三方库中的脆弱依赖。尽管每种方法都能提供相关证据,但这些来源之间缺乏系统性的关联,导致大量告警,并使修复优先级排序变得困难。

本文研究的核心问题是漏洞检测机制与实际利用观察机制之间的结构性碎片化。在企业环境中,SAST 与 SCA 工具每周通常会生成数千条告警,而 DAST 测试则会产生额外结果,但这些结果并不总能与生产环境中观察到的事件进行关联。

基于这一缺口,我们提出以下研究问题:

RQ1:如何以形式上一致且可量化的方式整合多种应用安全证据来源?

RQ2:是否可以通过与运行时观测到的遥测数据进行关联,减少误报并优先处理潜在可利用漏洞?

RQ3:这种集成对漏洞分诊与缓解效率的运营影响如何?

本文的主要贡献如下:

  1. 背景与相关工作

2.1 静态应用安全测试

静态安全分析基于在不执行程序的情况下检查代码。形式化地,我们用有向图 $G = (V, E)$ 表示执行流,其中 $V$ 表示指令或基本块,$E$ 表示控制转移。

注入类漏洞可以建模为不可信源 $S$ 与敏感汇点 $K$ 之间的数据流路径:

$$ \exists ; path(S_i \rightarrow K_j) \land \neg sanitized(S_i) $$

Semgrep 和 SonarQube 等现代工具使用基于语义模式和声明式规则的分析来检测此类路径(OWASP, 2023)。

2.2 动态应用安全测试

DAST 对运行中的应用执行主动测试,以识别运行时的脆弱行为。OWASP ZAP 和 Burp Suite 等工具会对 HTTP 参数进行模糊测试、载荷操控以及服务器响应分析。

研究表明,DAST 在识别与配置、认证及输入验证相关的漏洞方面尤其有效(SCANDARIATO et al., 2013)。

2.3 软件组成分析

现代软件的大部分依赖于外部库。因此,即使应用自身代码没有直接缺陷,依赖中的漏洞也可能影响应用。

在政府推动供应链安全改进的举措之后,生成软件物料清单(SBOM)已成为推荐实践(NIST, 2021)。SCA 工具分析依赖关系,并将版本与 NVD 等漏洞数据库进行关联。

2.4 运行时遥测与 eBPF

近年来,基于 eBPF 的传感器已广泛用于 Linux 环境中的可观测性与安全。Falco 等工具利用 eBPF 监控系统调用并检测异常行为(FALCO, 2024)。

与此同时,Suricata 等网络入侵检测系统能够识别网络流量中观察到的利用模式(OISF, 2023)。

2.5 当前方法的局限性

多项研究指出,仅基于 CVSS 严重性对漏洞进行优先级排序存在局限性(BOHANNON; HOLMES, 2022)。EPSS 等概率指标被提出用于估计利用概率,但仍未整合运行时的观测证据。

我们的方法旨在通过多源证据之间的概率关联来填补这一空白。

  1. 威胁模型与问题形式化

我们假设一个具备以下能力的外部攻击者:

我们将可利用风险 $R_e$ 定义为:

$$ R_e = P(E \mid V, T, C) \cdot I $$

其中:

利用概率通过贝叶斯推断估计:

$$ P(E|V,T) = \frac{P(T|E,V)P(E|V)}{P(T|V)} $$

安全策略设定阈值 $\theta$,使得 $R_e > \theta$ 的漏洞应被优先立即修复。

  1. 提出的方法

所提出的架构由四个主要层组成。

层 功能 工具示例
收集 执行扫描器并收集事件 Semgrep、ZAP、Dependency-Check、Falco
规范化 数据标准化 JSON Schema、SBOM CycloneDX
关联 概率推断 贝叶斯引擎
优先级排序 生成风险排名 SIEM 集成

关联算法:

Input: SAST, DAST, SCA 的结果以及运行时事件
Output: 优先级排序后的漏洞列表

for each vulnerability v:
    s1 = score_sast(v)
    s2 = score_dast(v)
    s3 = score_sca(v)
    t  = evidencias_runtime(v)

    p_exploit = modelo_bayesiano(s1, s2, s3, t)
    risco = impacto(v)  p_exploit

    adicionar(v, risco)

ordenar_lista_por_risco()
retornar_lista()

主导复杂度来自排序阶段,因此总体复杂度为 $O(n \log n)$。

  1. 实现

该架构已在 Kubernetes 环境中实现,并直接集成到 CI/CD 流水线中。

所使用的流水线:

Falco 规则示例:

- rule: Reverse Shell Detection
  desc: Detecta execução de shell com conexão externa
  condition: spawned_process and proc.name=bash and outbound
  output: Possível reverse shell detectado
  priority: CRITICAL

事件被发送到 Elastic Stack 进行关联与索引。

  1. 实验评估

实验评估在由三台运行 Kubernetes 1.27 的 Dell PowerEdge R740 服务器组成的基础设施上进行。

参数 值
每节点内存 128 GB
总 CPU 96 vCPUs
测试应用 32
已知漏洞 187

使用的指标为 Precision、Recall 和 F1-score。

方法 Precision Recall F1-score
仅 SAST 0.61 0.74 0.67
仅 DAST 0.68 0.59 0.63
所提架构 0.84 0.86 0.85

我们观察到误报减少了 37.4%,平均分诊时间从 4.2 小时降至 3.0 小时。

  1. 案例研究

我们使用存在漏洞的 OWASP Juice Shop 应用来验证该模型。

观察到的流程:

  1. SAST 检测到未清理的数据流。
  2. DAST 通过 SQL Injection payload 确认了利用。
  3. Suricata 识别到 SQLi 攻击签名。
  4. Falco 在模拟利用后检测到异常执行。

模型给出的利用概率为 0.87,将该漏洞归类为严重级别。

  1. 讨论

结果表明,多源证据之间的关联能够显著减少操作噪声。所提架构的主要优势在于能够结合观测证据对漏洞进行上下文化。

然而,仍然存在一些局限。贝叶斯模型假设证据之间条件独立,但这可能无法完全反映攻击向量之间的复杂交互。此外,系统的有效性取决于所收集遥测数据的质量。

在所进行的实验中,基于 eBPF 的监控开销仍低于额外 6% 的 CPU 使用率。

  1. 结论

我们提出了一种面向威胁的正式且可操作的应用安全架构,将多种分析技术与运行时遥测和基于 MITRE ATT&CK 的情报相结合。

该方法在可利用漏洞的优先级排序以及误报减少方面表现出显著改进。来自静态分析、动态分析与运行观察的证据整合,代表了现代 DevSecOps 实践中的一项重要进展。

未来工作包括与 EPSS 指标集成、使用监督式机器学习进行概率动态调优,以及将该架构扩展到 serverless 环境和云原生平台。

References

BEHL, Abhishek; BEHL, Kanika. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2017. Available at: https://global.oup.com. Accessed on: 10 mar. 2024.

BOHANNON, Aaron; HOLMES, Joshua. Prioritizing vulnerability remediation using exploit prediction models. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3155925. Accessed on: 12 mar. 2024.

CHEN, Zhaofeng et al. Understanding the impact of Log4Shell vulnerability. IEEE Security & Privacy, 2022. Available at: https://doi.org/10.1109/MSP.2022.3221271. Accessed on: 10 mar. 2024.

FIRST. Exploit Prediction Scoring System (EPSS). 2023. Available at: https://www.first.org/epss. Accessed on: 12 mar. 2024.

FALCO. Falco Runtime Security. 2024. Available at: https://falco.org. Accessed on: 12 mar. 2024.

KIM, Gene; HUMBLE, Jez; DEBOIS, Patrick. The DevOps Handbook. Portland: IT Revolution Press, 2021. Available at: https://itrevolution.com. Accessed on: 11 mar. 2024.

LI, Zhen et al. Learning-based vulnerability prioritization. USENIX Security Symposium, 2022. Available at: https://www.usenix.org/conference/usenixsecurity22. Accessed on: 12 mar. 2024.

MITRE. ATT&CK Enterprise Matrix. 2024. Available at: https://attack.mitre.org. Accessed on: 12 mar. 2024.

NIST. Secure Software Development Framework (SSDF). 2022. Available at: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 mar. 2024.

NIST. Software Bill of Materials (SBOM) Guidance. 2021. Available at: https://www.nist.gov. Accessed on: 10 mar. 2024.

OISF. Suricata Intrusion Detection System. 2023. Available at: https://suricata.io. Accessed on: 12 mar. 2024.

OWASP FOUNDATION. OWASP Top 10 – 2021. Available at: https://owasp.org/Top10/. Accessed on: 10 mar. 2024.

OWASP FOUNDATION. OWASP ZAP Documentation. 2023. Available at: https://www.zaproxy.org. Accessed on: 10 mar. 2024.

OWASP FOUNDATION. Dependency-Check Project. 2023. Available at: https://owasp.org/www-project-dependency-check. Accessed on: 10 mar. 2024.

SCANDARIATO, Riccardo et al. Static and Dynamic Analysis for Security Testing. IEEE Security & Privacy, v.11, n.4, 2013. Available at: https://doi.org/10.1109/MSP.2013.41. Accessed on: 10 mar. 2024.

SHAR, Lwin Khin; TAN, Hee Beng Kuan. Defeating SQL Injection. ACM Computing Surveys, v.45, n.4, 2013. Available at: https://doi.org/10.1145/2501654. Accessed on: 10 mar. 2024.

VERIZON. Data Breach Investigations Report 2023. Available at: https://www.verizon.com/business/resources/reports/dbir/. Accessed on: 10 mar. 2024.

ALLEN, Julia et al. Building a Secure DevOps Pipeline. Carnegie Mellon SEI, 2020. Available at: https://resources.sei.cmu.edu. Accessed on: 10 mar. 2024.

BASSETT, Michael et al. eBPF-based security monitoring for Linux systems. ACM Queue, 2022. Available at: https://queue.acm.org. Accessed on: 12 mar. 2024.

CYCLONEDX. CycloneDX SBOM Standard. 2023. Available at: https://cyclonedx.org. Accessed on: 12 mar. 2024.

KREBS, Brian. Supply Chain Attacks in Modern Software Ecosystems. 2021. Available at: https://krebsonsecurity.com. Accessed on: 12 mar. 2024.

SONARSource. SonarQube Documentation. 2023. Available at: https://docs.sonarsource.com. Accessed on: 10 mar. 2024.

SEMGREP. Semgrep Documentation. 2024. Available at: https://semgrep.dev. Accessed on: 12 mar. 2024.

CNCF. Kubernetes Security Best Practices. 2023. Available at: https://kubernetes.io/docs/concepts/security. Accessed on: 11 mar. 2024.

ENISA. Threat Landscape for Supply Chain Attacks. 2023. Available at: https://www.enisa.europa.eu. Accessed on: 11 mar. 2024.