Paper Files / AppSec
TÍTULO: Una Arquitectura Formal y Operativa para AppSec Orientada por Amenazas: Integrando SAST, DAST, SCA, Telemetría de Runtime e Inteligencia ATT&CK para Priorización Basada en Riesgo Explotable
TÍTULO: Una Arquitectura Formal y Operativa para AppSec Orientada por Amenazas: Integrando SAST, DAST, SCA, Telemetría de Runtime e Inteligencia ATT&CK para Priorización Basada en Riesgo Explotable RESUMEN: La superficie de ataque de las aplicaciones modernas se ha expandido sustancialmente con la adopción de arquitecturas basadas en microservicios, APIs, contenedores y canalizaciones de integración y entrega continuas. Aunque herramientas de seguridad de aplicaciones, como Static Application Security Testing (SAST), Dynamic Application Security Testing (DAST) y Software Composition Analysis (SCA), son ampliamente utilizadas, estos mecanismos a menudo operan de forma aislada, produciendo grandes volúmenes de alertas que carecen de contexto operativo. En consecuencia, los equipos de seguridad enfrentan dificultades para priorizar vulnerabilidades en función de la probabilidad real de explotación. En este trabajo, presentamos una arquitectura formal y operativa para la seguridad de aplicaciones orientada por amenazas que integra resultados de SAST, DAST y SCA con telemetría de ejecución en runtime recolectada 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 evidencia empírica de eventos de runtime observados y alineando dicha evidencia con la estructura 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 remediación. La implementación experimental se realizó en un entorno Kubernetes con integración a un pipeline de 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, así como una reducción del 37,4% en los falsos positivos y una disminución en el tiempo medio necesario para la clasificación de vulnerabilidades. Discutimos las limitaciones del modelo probabilístico, las implicaciones operativas para las prácticas de DevSecOps y posibles extensiones, incluida la integración con métricas de explotación como EPSS y el análisis asistido por machine learning para una priorización adaptativa. La arquitectura propuesta demuestra que correlacionar análisis estático, pruebas dinámicas, análisis de dependencias y telemetría operacional constituye una vía prometedora para reducir la brecha entre la detección de vulnerabilidades y la detección de explotación real.
- Introducción
La superficie de ataque de las aplicaciones modernas se ha expandido significativamente con la proliferación de arquitecturas distribuidas basadas en microservicios, APIs REST, contenedores y pipelines automatizados de integración continua y entrega continua (CI/CD). En este contexto, 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. Esta transformación arquitectónica ha incrementado la complejidad de la gestión de la seguridad de las aplicaciones e introducido 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 muestra que la explotación de vulnerabilidades en aplicaciones expuestas a Internet 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 de uso generalizado pueden generar impactos sistémicos a escala global (CHEN et al., 2022).
En el marco de la estructura MITRE ATT&CK, varias técnicas están directamente relacionadas con la explotación de aplicaciones. Entre las más notables se encuentran T1190 (Exploit Public-Facing Application), T1059 (Command and Scripting Interpreter) y T1195 (Supply Chain Compromise), observadas con frecuencia en las fases iniciales de 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) inspeccionan 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. 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 estas fuentes genera un gran volumen de alertas y dificulta la priorización de la remediación.
El problema central investigado en este trabajo es la fragmentación estructural entre mecanismos de detección de vulnerabilidades y mecanismos de observación de explotación efectiva. En entornos corporativos, es común que miles de alertas se generen semanalmente por herramientas SAST y SCA, mientras que los tests 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 pueden integrarse 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 tiempo de ejecución?
RQ3: ¿Cuál es el impacto operacional de esta integración en la eficiencia del triaje y de la mitigación de vulnerabilidades?
Las principales contribuciones de este trabajo son:
- Formalización matemática de un modelo de riesgo explotable basado en probabilidad condicional.
- Propuesta de una arquitectura operacional que integra SAST, DAST, SCA y monitoreo en tiempo de ejecución alineado con MITRE ATT&CK.
- Evaluación experimental cuantitativa que demuestra una reducción significativa de falsos positivos y una mejora en la priorización de vulnerabilidades.
- Fundamentación Teórica y Trabajos Relacionados
2.1 Pruebas Estáticas de Seguridad de Aplicaciones
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 sumideros sensibles $K$:
$$ \exists ; path(S_i \rightarrow K_j) \land \neg sanitized(S_i) $$
Herramientas modernas como Semgrep y SonarQube utilizan análisis basados en patrones semánticos y reglas declarativas para detectar tales caminos (OWASP, 2023).
2.2 Pruebas Dinámicas de Seguridad de Aplicaciones
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 configuración, autenticación y validación de entrada (SCANDARIATO et al., 2013).
2.3 Análisis de Composición de Software
Una gran parte del software moderno depende de bibliotecas externas. En consecuencia, las vulnerabilidades en dependencias pueden afectar a las aplicaciones incluso cuando el código de la propia aplicación no contiene fallos directos.
La generación de una Software Bill of Materials (SBOM) se ha convertido en una práctica recomendada tras iniciativas gubernamentales orientadas a 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 el NVD.
2.4 Telemetría en Tiempo de Ejecución y eBPF
En los últimos años, los sensores basados en eBPF se han utilizado ampliamente para observabilidad y seguridad en entornos Linux. Herramientas como Falco usan eBPF para monitorear llamadas al sistema y detectar comportamientos anómalos (FALCO, 2024).
Al mismo tiempo, 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
Varios 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 evidencia observacional de tiempo de ejecución.
Nuestro enfoque busca llenar este vacío mediante la correlación probabilística entre múltiples fuentes de evidencia.
- Modelo de Amenaza y Formalización del Problema
Asumimos un adversario externo con capacidad de:
- realizar escaneo automatizado de servicios expuestos;
- explotar vulnerabilidades en aplicaciones expuestas a Internet;
- ejecutar código arbitrario mediante bibliotecas vulnerables;
- explotar el compromiso en la cadena de suministro de software.
Definimos el riesgo explotable $R_e$ como:
$$ R_e = P(E \mid V, T, C) \cdot I $$
en el que:
- $V$ representa la presencia de una vulnerabilidad detectada;
- $T$ representa evidencia observada en telemetría en tiempo de ejecución;
- $C$ representa el contexto operacional (exposición a la red, privilegios, criticidad);
- $E$ representa la ocurrencia de la explotación;
- $I$ representa el impacto potencial.
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.
- Metodología Propuesta
La arquitectura propuesta se compone de cuatro capas principales.
| Capa | Función | Ejemplos de Herramientas |
|---|---|---|
| Recolección | Ejecución de escáneres y captura 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 clasificación de riesgo | Integración con SIEM |
Algoritmo de correlación:
Input: SAST, DAST, SCA results and runtime events
Output: prioritized list of vulnerabilities
for each vulnerability v:
s1 = score_sast(v)
s2 = score_dast(v)
s3 = score_sca(v)
t = runtime_evidence(v)
p_exploit = bayesian_model(s1, s2, s3, t)
risk = impact(v) p_exploit
add(v, risk)
sort_list_by_risk()
return_list()
La complejidad dominante es la etapa de ordenación, resultando en $O(n \log n)$.
- Implementación
La arquitectura fue implementada en un entorno Kubernetes con integración directa a un pipeline de CI/CD.
Pipeline utilizado:
- Stage 1 — análisis estático con Semgrep
- Stage 2 — análisis de dependencias con OWASP Dependency-Check
- Stage 3 — generación de SBOM en formato CycloneDX
- Stage 4 — pruebas dinámicas con OWASP ZAP
- Stage 5 — despliegue en un entorno de staging monitoreado por Falco
Ejemplo de regla de Falco:
- rule: Reverse Shell Detection
desc: Detects shell execution with external connection
condition: spawned_process and proc.name=bash and outbound
output: Possible reverse shell detected
priority: CRITICAL
Los eventos se envían al Elastic Stack para correlación e indexación.
- Evaluación Experimental
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 del 37.4% en los falsos positivos y una disminución en el tiempo medio de triaje de 4.2 horas a 3.0 horas.
- Estudio de Caso
Utilizamos la aplicación vulnerable OWASP Juice Shop para validar el modelo.
Flujo observado:
- El SAST detectó flujo de datos sin sanitización.
- El DAST confirmó la explotación mediante un payload de SQL Injection.
- Suricata identificó la firma del ataque de SQLi.
- 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.
- Discusión
Los resultados indican que la correlación entre múltiples fuentes de evidencia reduce significativamente el ruido operativo. La principal ventaja de la arquitectura propuesta reside en su capacidad para contextualizar vulnerabilidades con evidencia observacional.
Sin embargo, persisten algunas limitaciones. El modelo bayesiano asume independencia condicional entre evidencias, lo que puede no reflejar plenamente interacciones complejas entre vectores de ataque. Además, la eficacia del sistema depende de la calidad de la telemetría recolectada.
La sobrecarga de monitoreo basada en eBPF se mantuvo por debajo del 6% de utilización adicional de CPU en los experimentos realizados.
- Conclusión
Presentamos una arquitectura de seguridad de aplicaciones orientada a la amenaza, formal y operacional, que integra múltiples técnicas de análisis con telemetría en tiempo de ejecución 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 evidencia proveniente del análisis estático, el análisis dinámico y la observación operacional representa un avance significativo en las prácticas modernas de DevSecOps.
Trabajos futuros incluyen la integración con métricas EPSS, el uso de aprendizaje automático supervisado para el ajuste dinámico de la probabilidad y la extensión de la arquitectura a entornos serverless y plataformas nativas de nube.
Referencias
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.