← Volver a Papers

Paper Files / AppSec

Una Arquitectura Formal y Operacional para AppSec Orientado a Amenazas: Integración de SAST, DAST, SCA, Telemetría Runtime e Inteligencia ATT&CK para Priorización Basada en Riesgo Explotable

AppSecES

TITLE: Una Arquitectura Formal y Operacional para AppSec Orientado a Amenazas: Integración de SAST, DAST, SCA, Telemetría Runtime e Inteligencia ATT&CK para Priorización Basada en Riesgo Explotable ABSTRACT: La superficie de ataque de las aplicaciones modernas se ha expandido sustancialmente con la adopción de arquitecturas basadas en microservicios, APIs, contenedores y pipelines de integración y entrega continuas. Aunque las herramientas de seguridad de aplicaciones como Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST) y Software Composition Analysis (SCA) son ampliamente utilizadas, tales mecanismos a menudo operan de forma aislada, produciendo grandes volúmenes de alertas que carecen de contextualización operacional. En consecuencia, los equipos de seguridad enfrentan dificultades para priorizar vulnerabilidades con base en la probabilidad real de explotación. En este trabajo presentamos una arquitectura formal y operacional para la seguridad de aplicaciones orientada a amenazas, que integra resultados de SAST, DAST y SCA con telemetría de ejecución recolectada en tiempo de ejecución mediante sensores de red y monitoreo basado en eBPF. La arquitectura propuesta utiliza correlación probabilística inspirada en modelos bayesianos para estimar el riesgo explotable de las vulnerabilidades identificadas, incorporando evidencias empíricas provenientes de eventos observados en runtime y alineando tales evidencias con el framework MITRE ATT&CK. Formalizamos matemáticamente el concepto de riesgo explotable y demostramos cómo múltiples fuentes de evidencia pueden combinarse para reducir falsos positivos y mejorar la priorización de remediaciones. La implementación experimental se realizó en un entorno Kubernetes con integración en pipeline CI/CD, utilizando herramientas ampliamente adoptadas en la industria, incluyendo Semgrep, OWASP ZAP, OWASP Dependency-Check, Falco y Suricata. Evaluamos el enfoque en un conjunto de aplicaciones vulnerables y observamos mejoras significativas en la precisión de la identificación de vulnerabilidades explotables. Los resultados experimentales indican un aumento del F1-score de 0,67–0,63 en enfoques aislados a 0,85 en el modelo integrado, además de una reducción del 37,4% en falsos positivos y una disminución del tiempo promedio de triage de vulnerabilidades. Discutimos las limitaciones del modelo probabilístico, las implicaciones operacionales para las prácticas DevSecOps y posibles extensiones, incluida la integración con métricas de explotación como EPSS y análisis asistido por aprendizaje automático para una priorización adaptativa. La arquitectura propuesta demuestra que la correlación entre análisis estático, pruebas dinámicas, análisis de dependencias y telemetría operacional constituye un camino prometedor para reducir la brecha entre la detección de vulnerabilidades y la detección de explotación real.

  1. Introducción

La superficie de ataque de las aplicaciones modernas se ha expandido significativamente con la difusión de arquitecturas distribuidas basadas en microservicios, APIs REST, contenedores y pipelines automatizados de integración y entrega continua (CI/CD). En este escenario, las aplicaciones se convierten en sistemas altamente dinámicos compuestos por múltiples componentes interdependientes, frecuentemente desplegados en entornos de nube y orquestados por plataformas como Kubernetes. Tal transformación arquitectónica amplió la complejidad de la gestión de la seguridad de aplicaciones e introdujo nuevos vectores de explotación (BEHL; BEHL, 2017).

Informes recientes indican que las aplicaciones web continúan figurando entre los principales vectores de compromiso en incidentes de seguridad. El Verizon Data Breach Investigations Report señala que la explotación de vulnerabilidades en aplicaciones públicas sigue siendo una técnica recurrente en campañas de ataque (VERIZON, 2023). Además, incidentes ampliamente divulgados — como Log4Shell (CVE-2021-44228) — demostraron que vulnerabilidades en bibliotecas ampliamente utilizadas pueden generar impactos sistémicos a escala global (CHEN et al., 2022).

En el contexto del framework MITRE ATT&CK, diversas técnicas están directamente relacionadas con la explotación de aplicaciones. Entre ellas se destacan T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter) y T1195 (Supply Chain Compromise), observadas con frecuencia en las fases iniciales de las cadenas de ataque (MITRE, 2024). A pesar de ello, las herramientas tradicionales de seguridad de aplicaciones operan predominantemente de forma aislada.

Las herramientas de análisis estático (SAST) analizan el código fuente en busca de patrones de vulnerabilidad. Las herramientas de pruebas dinámicas (DAST) ejecutan ataques simulados contra aplicaciones en ejecución. A su vez, las herramientas de análisis de composición de software (SCA) identifican dependencias vulnerables en bibliotecas de terceros. Aunque cada enfoque proporciona evidencia relevante, la ausencia de correlación sistemática entre dichas fuentes genera un gran volumen de alertas y dificulta la priorización de las remediaciones.

El problema central investigado en este trabajo es la fragmentación estructural entre los mecanismos de detección de vulnerabilidades y los mecanismos de observación de explotación efectiva. En entornos corporativos, es común que se generen miles de alertas semanalmente por herramientas SAST y SCA, mientras que las pruebas DAST producen resultados adicionales que no siempre se correlacionan con eventos observados en producción.

A partir de esta brecha, formulamos las siguientes preguntas de investigación:

RQ1: ¿Cómo integrar múltiples fuentes de evidencia de seguridad de aplicaciones de manera formalmente consistente y cuantitativamente medible?

RQ2: ¿Es posible reducir falsos positivos y priorizar vulnerabilidades potencialmente explotables mediante la correlación con telemetría observada en runtime?

RQ3: ¿Cuál es el impacto operativo de esta integración en la eficiencia de triage y mitigación de vulnerabilidades?

Las principales contribuciones de este trabajo son:

  1. Background and Related Work

2.1 Static Application Security Testing

El análisis estático de seguridad se basa en la inspección del código sin ejecutar el programa. Formalmente, representamos el flujo de ejecución mediante un grafo dirigido $G = (V, E)$, en el cual $V$ representa instrucciones o bloques básicos y $E$ representa transiciones de control.

Las vulnerabilidades de inyección pueden modelarse como caminos de flujo de datos entre fuentes no confiables $S$ y sinks sensibles $K$:

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

Herramientas modernas como Semgrep y SonarQube utilizan análisis basado en patrones semánticos y reglas declarativas para detectar tales caminos (OWASP, 2023).

2.2 Dynamic Application Security Testing

DAST ejecuta pruebas activas contra aplicaciones en ejecución, buscando identificar comportamientos vulnerables en tiempo de ejecución. Herramientas como OWASP ZAP y Burp Suite realizan fuzzing de parámetros HTTP, manipulación de payloads y análisis de respuestas del servidor.

Estudios indican que DAST es particularmente eficaz para identificar vulnerabilidades relacionadas con la configuración, la autenticación y la validación de entrada (SCANDARIATO et al., 2013).

2.3 Software Composition Analysis

Gran parte del software moderno depende de bibliotecas externas. En consecuencia, vulnerabilidades en dependencias pueden afectar a las aplicaciones incluso cuando el código propio no contiene fallas directas.

La generación de un Software Bill of Materials (SBOM) se ha convertido en una práctica recomendada tras iniciativas gubernamentales para mejorar la seguridad de la cadena de suministro (NIST, 2021). Las herramientas SCA analizan dependencias y correlacionan versiones con bases de datos de vulnerabilidades como NVD.

2.4 Telemetría Runtime y eBPF

En los últimos años, los sensores basados en eBPF se han vuelto ampliamente utilizados para observabilidad y seguridad en entornos Linux. Herramientas como Falco utilizan eBPF para monitorear llamadas al sistema y detectar comportamientos anómalos (FALCO, 2024).

Simultáneamente, los sistemas de detección de intrusiones en red como Suricata permiten identificar patrones de explotación observados en el tráfico de red (OISF, 2023).

2.5 Limitaciones de los Enfoques Actuales

Diversos estudios señalan limitaciones en la priorización de vulnerabilidades basada exclusivamente en la severidad CVSS (BOHANNON; HOLMES, 2022). Se propusieron métricas probabilísticas como EPSS para estimar la probabilidad de explotación, pero aún no integran evidencias observacionales de runtime.

Nuestro enfoque busca llenar esta brecha mediante la correlación probabilística entre múltiples fuentes de evidencia.

  1. Threat Model and Problem Formalization

Asumimos un adversario externo con capacidad de:

Definimos el riesgo explotable $R_e$ como:

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

donde:

La probabilidad de explotación se estima mediante inferencia bayesiana:

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

La política de seguridad establece un umbral $\theta$ tal que las vulnerabilidades con $R_e > \theta$ deben priorizarse para remediación inmediata.

  1. Proposed Methodology

La arquitectura propuesta se compone de cuatro capas principales.

Capa Función Ejemplos de Herramientas
Recolección Ejecución de escáneres y recolección de eventos Semgrep, ZAP, Dependency-Check, Falco
Normalización Estandarización de datos JSON Schema, SBOM CycloneDX
Correlación Inferencia probabilística Motor bayesiano
Priorización Generación de ranking de riesgo Integración SIEM

Algoritmo de correlación:

Input: resultados SAST, DAST, SCA e eventos runtime
Output: lista priorizada de vulnerabilidades

for cada vulnerabilidad 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)
    riesgo = impacto(v)  p_exploit

    adicionar(v, riesgo)

ordenar_lista_por_riesgo()
retornar_lista()

La complejidad dominante es la etapa de ordenamiento, resultando en $O(n \log n)$.

  1. Implementation

La arquitectura fue implementada en un entorno Kubernetes con integración directa en un pipeline CI/CD.

Pipeline utilizado:

Ejemplo de regla Falco:

- rule: Reverse Shell Detection
  desc: Detecta ejecución de shell con conexión externa
  condition: spawned_process and proc.name=bash and outbound
  output: Posible reverse shell detectado
  priority: CRITICAL

Los eventos se envían a Elastic Stack para correlación e indexación.

  1. Experimental Evaluation

La evaluación experimental se llevó a cabo en una infraestructura compuesta por tres servidores Dell PowerEdge R740 ejecutando Kubernetes 1.27.

Parámetro Valor
Memoria por nodo 128 GB
CPU total 96 vCPUs
Aplicaciones probadas 32
Vulnerabilidades conocidas 187

Las métricas utilizadas fueron Precision, Recall y F1-score.

Método Precision Recall F1-score
SAST aislado 0.61 0.74 0.67
DAST aislado 0.68 0.59 0.63
Arquitectura propuesta 0.84 0.86 0.85

Observamos una reducción de 37,4% en falsos positivos y una disminución del tiempo medio de triage de 4,2 horas a 3,0 horas.

  1. Case Study

Utilizamos la aplicación vulnerable OWASP Juice Shop para validar el modelo.

Flujo observado:

  1. SAST detectó flujo de datos no sanitizado.
  2. DAST confirmó explotación mediante payload SQL Injection.
  3. Suricata identificó una firma de ataque SQLi.
  4. Falco detectó ejecución anómala después de la explotación simulada.

El modelo asignó una probabilidad de explotación de 0,87, clasificando la vulnerabilidad como crítica.

  1. Discussion

Los resultados indican que la correlación entre múltiples fuentes de evidencia reduce significativamente el ruido operacional. La principal ventaja de la arquitectura propuesta reside en la capacidad de contextualizar vulnerabilidades con evidencias observacionales.

Sin embargo, persisten algunas limitaciones. El modelo bayesiano asume independencia condicional entre evidencias, lo que puede no reflejar completamente interacciones complejas entre vectores de ataque. Además, la eficacia del sistema depende de la calidad de la telemetría recopilada.

El overhead de monitoreo basado en eBPF se mantuvo por debajo del 6% de uso adicional de CPU en los experimentos realizados.

  1. Conclusion

Presentamos una arquitectura formal y operacional para seguridad de aplicaciones orientada a amenazas que integra múltiples técnicas de análisis con telemetría runtime e inteligencia basada en MITRE ATT&CK.

El enfoque demostró mejoras sustanciales en la priorización de vulnerabilidades explotables y en la reducción de falsos positivos. La integración de evidencias provenientes del análisis estático, dinámico y la observación operativa representa un avance significativo en prácticas modernas de DevSecOps.

Los trabajos futuros incluyen la integración con métricas EPSS, la utilización de aprendizaje automático supervisado para el ajuste dinámico de probabilidades y la extensión de la arquitectura a entornos serverless y plataformas cloud-native.

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.