Paper Files / AppSec
AppSec orientada a evidencias: un framework formal y escalable para la orquestación de la seguridad de aplicaciones basada en modelado de amenazas y análisis híbrido continuo
TITLE: AppSec orientada a evidencias: un framework formal y escalable para la orquestación de la seguridad de aplicaciones basada en modelado de amenazas y análisis híbrido continuo ABSTRACT: La seguridad de aplicaciones se ha convertido en un componente central de la ciberseguridad moderna debido a la creciente dependencia de arquitecturas distribuidas, microservicios, APIs públicas y cadenas complejas de dependencias open-source. La superficie de ataque de los sistemas contemporáneos crece proporcionalmente a la interconectividad entre componentes, tornando insuficientes los enfoques tradicionales que analizan vulnerabilidades de forma aislada. En entornos DevSecOps contemporáneos, herramientas como análisis estático (SAST), análisis dinámico (DAST) y análisis de composición de software (SCA) producen grandes volúmenes de alertas, frecuentemente caracterizadas por una alta tasa de falsos positivos y una priorización inadecuada de riesgos. Este trabajo propone un framework formal denominado EO-AppSec (Evidence-Oriented Application Security), que integra múltiples fuentes de evidencia de seguridad en un modelo probabilístico unificado para la priorización de vulnerabilidades. Formalizamos el problema utilizando inferencia bayesiana combinada con métricas CVSS contextualizadas y modelado de dependencias de componentes representadas por grafos dirigidos. El framework correlaciona resultados de herramientas SAST, DAST y SCA, además de telemetría operacional, para estimar la probabilidad de explotación de vulnerabilidades y calcular un score de riesgo condicional. La arquitectura propuesta integra pipelines CI/CD e infraestructuras cloud-native, incluyendo entornos Kubernetes y plataformas de observabilidad basadas en eBPF y stacks de telemetría modernas. Evaluamos el sistema en un entorno industrial con 47 aplicaciones y aproximadamente 3,2 millones de líneas de código, comparándolo con enfoques tradicionales basados en análisis aislado. Los resultados demuestran un aumento significativo en la precisión de la priorización de vulnerabilidades (0,89) y una reducción de falsos positivos del 42,3%, además de una disminución del tiempo medio de remediación de 14,2 a 8,7 días. Discutimos implicaciones prácticas para la gobernanza de la seguridad de software y la integración con frameworks contemporáneos de seguridad, incluido el NIST Secure Software Development Framework y prácticas modernas de seguridad en pipelines DevSecOps. También analizamos limitaciones metodológicas e implicaciones para entornos que incorporan componentes de inteligencia artificial y modelos de lenguaje de gran escala en aplicaciones modernas. Los resultados indican que la orquestación basada en evidencias ofrece un camino viable para reducir el ruido operacional y mejorar la eficacia de los programas de AppSec a escala industrial.
- Introducción
La seguridad de aplicaciones (Application Security — AppSec) se ha convertido en uno de los pilares de la resiliencia cibernética contemporánea. La migración hacia arquitecturas distribuidas, plataformas cloud‑native, APIs públicas y pipelines DevSecOps amplió significativamente la superficie de ataque de los sistemas modernos. Informes empíricos demuestran que las vulnerabilidades explotables en aplicaciones siguen siendo una de las principales causas de incidentes de seguridad (VERIZON, 2023).
En particular, las cadenas de dependencia open‑source introducen riesgos sistémicos. El incidente asociado a la vulnerabilidad Log4Shell (CVE‑2021‑44228) evidenció cómo una única biblioteca ampliamente utilizada puede afectar simultáneamente a millones de sistemas (MITRE, 2021). Además, las vulnerabilidades explotadas en aplicaciones web continúan siendo un vector dominante de intrusión, frecuentemente asociado a técnicas catalogadas en la matriz MITRE ATT&CK, como T1190 (Exploit Public‑Facing Application) y T1059 (Command and Scripting Interpreter) (MITRE, 2023).
La estructura de las aplicaciones modernas puede formalizarse como un grafo dirigido:
$$ G = (V, E) $$
donde $V$ representa componentes de software (servicios, bibliotecas o APIs) y $E$ representa dependencias o flujos de datos entre esos componentes. En arquitecturas basadas en microservicios, el número de aristas crece rápidamente a medida que se integran servicios, ampliando proporcionalmente la superficie de ataque. Mientras la complejidad estructural crece aproximadamente con $O(|E|)$, muchas herramientas de seguridad analizan cada vértice de forma aislada, sin considerar relaciones de dependencia.
Las herramientas tradicionales de AppSec incluyen análisis estático de código (SAST), análisis dinámico (DAST) y análisis de composición de software (SCA). Aunque ampliamente utilizadas, estas aproximaciones con frecuencia generan resultados fragmentados y de difícil priorización operativa (ANTUNES; VIEIRA, 2010). La ausencia de mecanismos formales para correlacionar evidencias provenientes de estas herramientas resulta en altos índices de falsos positivos y en dificultad para determinar qué vulnerabilidades representan un riesgo real.
Además, el crecimiento reciente de aplicaciones que incorporan modelos de inteligencia artificial y APIs basadas en grandes modelos de lenguaje (LLMs) introduce nuevas superficies de ataque, como prompt injection y exposición inadvertida de datos sensibles. Aunque estas amenazas no sustituyen a las vulnerabilidades clásicas, amplían la necesidad de mecanismos de análisis integrados y orientados a evidencias (OWASP, 2023).
Ante este escenario, formulamos las siguientes preguntas de investigación:
RQ1: ¿Cómo modelar formalmente el riesgo de vulnerabilidades de aplicación considerando evidencias heterogéneas provenientes de múltiples fuentes de análisis?
RQ2: ¿Es posible reducir los falsos positivos y mejorar la priorización de vulnerabilidades sin comprometer la cobertura de detección?
RQ3: ¿Cuál es el impacto operacional de una orquestación continua basada en riesgo probabilístico en el pipeline DevSecOps?
Las contribuciones de este trabajo son tres.
Primero, definimos formalmente una función de riesgo condicional basada en inferencia bayesiana y métricas CVSS contextualizadas.
Segundo, proponemos la arquitectura EO‑AppSec, que integra resultados de SAST, DAST, SCA y telemetría operacional en un mecanismo de correlación probabilística.
Tercero, evaluamos empíricamente el sistema a escala industrial, demostrando mejoras cuantitativas significativas en la priorización de vulnerabilidades y en la eficiencia operacional de los procesos de remediación.
- Background and Related Work
2.1 Fundamentos Formales de Evaluación de Vulnerabilidades
Formalizamos una vulnerabilidad como una tupla:
$$ v = (c, s, e) $$
donde $c$ representa la categoría de vulnerabilidad (por ejemplo, una clasificación CWE), $s$ representa la severidad base según CVSS, y $e$ representa un conjunto de evidencias observables provenientes de herramientas de análisis o telemetría operacional.
El riesgo asociado a la vulnerabilidad puede modelarse como:
$$ R(v) = P(E \mid v) \cdot I(v) $$
donde $P(E \mid v)$ representa la probabilidad de explotación condicionada a las evidencias observadas e $I(v)$ representa el impacto potencial de la explotación.
Utilizando inferencia bayesiana, la probabilidad posterior de explotación puede actualizarse dinámicamente:
$$ P(v \mid E) = \frac{P(E \mid v) P(v)}{P(E)} $$
Este modelo permite combinar múltiples fuentes de evidencia, incluidos resultados de escáneres, datos de runtime e historial de explotación de vulnerabilidades.
2.2 Herramientas y Enfoques de Detección
Las técnicas de detección de vulnerabilidades pueden clasificarse en cuatro categorías principales.
| Enfoque | Características | Ejemplos de Herramientas |
|---|---|---|
| SAST | Análisis de código fuente sin ejecución | SonarQube, Coverity |
| DAST | Pruebas dinámicas en entorno de ejecución | OWASP ZAP, Burp Suite |
| SCA | Identificación de dependencias vulnerables | Snyk, Dependabot |
| Runtime/Observability | Telemetría de ejecución y comportamiento | eBPF observability, Falco |
Las herramientas SAST analizan flujos de datos y patrones de código potencialmente inseguros (CHESS; WEST, 2007). Las herramientas DAST ejecutan pruebas automatizadas contra aplicaciones en ejecución para identificar vulnerabilidades explotables (OWASP, 2021). Las herramientas SCA identifican bibliotecas vulnerables en cadenas de dependencia open‑source.
A pesar de la amplia adopción de estas tecnologías, estudios empíricos demuestran una variabilidad significativa en precisión y cobertura entre herramientas (ANTUNES; VIEIRA, 2010). Esta heterogeneidad refuerza la necesidad de mecanismos de correlación entre evidencias.
2.3 Seguridad en Entornos Cloud‑Native
Las arquitecturas cloud‑native introducen desafíos adicionales para AppSec. Las aplicaciones se despliegan con frecuencia en clusters Kubernetes, con dependencias dinámicas y escalado automático. Las plataformas modernas de seguridad en la nube, frecuentemente clasificadas como CNAPP (Cloud‑Native Application Protection Platform), buscan integrar seguridad de infraestructura, workloads y aplicaciones (SCARFONE; PADGETT, 2022).
Además, las tecnologías de observabilidad basadas en eBPF permiten recopilar telemetría de bajo nivel directamente desde el kernel Linux, posibilitando una detección comportamental más precisa de actividades anómalas (HÖGSTRÖM, 2023).
2.4 Limitaciones de los Enfoques Existentes
La literatura identifica tres limitaciones principales en los sistemas contemporáneos de AppSec.
Primero, la ausencia de modelos probabilísticos unificados para integrar evidencias provenientes de diferentes herramientas.
Segundo, la elevada tasa de falsos positivos, que puede superar el 60% en entornos industriales (JOHNSON et al., 2013).
Tercero, la falta de priorización basada en la probabilidad real de explotación, lo que con frecuencia resulta en una asignación ineficiente de recursos de remediación.
- Threat Model and Problem Formalization
Asumimos un adversario con las siguientes capacidades:
• explotación de vulnerabilidades públicamente conocidas (CVE)
• escaneo automatizado de aplicaciones expuestas
• explotación de servicios web y APIs públicas
• ejecución de técnicas catalogadas en la matriz ATT&CK, como T1190, T1059 y T1071
No asumimos compromiso inicial de usuarios internos ni acceso privilegiado previo.
Dado un conjunto de vulnerabilidades:
$$ V = {v_1, v_2, …, v_n} $$
nuestro objetivo es seleccionar un subconjunto óptimo $V^$ de vulnerabilidades a priorizar para corrección:
$$ V^ = \arg\max_{S \subseteq V} \sum_{v \in S} R(v) $$
sujeto a una restricción presupuestaria:
$$ C(S) \le B $$
donde $C(S)$ representa el costo de remediación de las vulnerabilidades seleccionadas y $B$ representa el presupuesto disponible.
Este problema es equivalente a una variante del problema clásico de optimización knapsack 0‑1.
Los criterios de seguridad incluyen:
• minimización del riesgo residual
• preservación de una cobertura mínima de detección $\gamma$
• maximización de la reducción de la superficie de ataque
- Proposed Methodology
4.1 Arquitectura EO‑AppSec
La arquitectura propuesta integra múltiples componentes.
| Componente | Función |
|---|---|
| Colector de Evidencias | Consolida resultados de escáneres y telemetría |
| Motor de Correlación | Normaliza y correlaciona evidencias |
| Módulo Bayesiano | Estima la probabilidad de explotación |
| Orquestador DevSecOps | Integra el análisis al pipeline CI/CD |
El flujo operativo comienza con la ejecución de herramientas de análisis durante el pipeline CI/CD. Los resultados son agregados por el colector de evidencias y normalizados en un esquema común basado en CVE y CWE. El módulo bayesiano entonces calcula probabilidades condicionales de explotación.
4.2 Algoritmo 1 — Agregación de Evidencias
Algorithm 1: EvidenceAggregation(V)
Input: conjunto de vulnerabilidades V
Output: vector de riesgo R
for each v in V do
E_v ← coletar_evidencias(v)
P_v ← inferencia_bayesiana(E_v)
R_v ← P_v impacto(v)
end for
return R
La complejidad computacional es aproximadamente $O(n \cdot m)$, donde $m$ representa el número medio de evidencias asociadas a cada vulnerabilidad.
4.3 Algoritmo 2 — Priorización Basada en Riesgo
Algorithm 2: RiskPrioritization(V, B)
ordenar V por R(v) / C(v)
for each v in V ordenado do
if custo_total + C(v) ≤ B then
seleccionar v
end if
end for
Aunque el problema es equivalente al knapsack 0‑1, la estrategia codiciosa ofrece una aproximación eficiente para entornos operativos.
- Implementation
El prototipo fue implementado en un entorno Kubernetes, utilizando una arquitectura basada en microservicios.
Principales componentes tecnológicos:
| Capa | Tecnología |
|---|---|
| SAST | SonarQube |
| DAST | OWASP ZAP |
| SCA | Snyk |
| Telemetría | Elastic Stack |
| Observabilidad | eBPF-based instrumentation |
| Base de datos | PostgreSQL |
| Motor probabilístico | Python |
El pipeline CI/CD se integró utilizando GitHub Actions y escáneres automatizados ejecutados en cada build.
La escalabilidad se validó con hasta 120 pipelines simultáneos, con una latencia adicional media de 3,4 minutos por ejecución de pipeline.
- Experimental Evaluation
6.1 Entorno Experimental
La evaluación experimental se llevó a cabo en un entorno corporativo que contenía:
• 47 aplicaciones
• aproximadamente 3,2 millones de líneas de código
• infraestructura con servidores de 64 vCPUs y 256 GB RAM
Se compararon tres configuraciones.
| Configuración | Descripción |
|---|---|
| Baseline 1 | SAST aislado |
| Baseline 2 | SAST + DAST sin correlación |
| EO‑AppSec | Correlación probabilística completa |
Las métricas analizadas incluyeron precisión, recall, tasa de falsos positivos (FPR) y tiempo medio de remediación (MTTR).
6.2 Resultados
| Métrica | Baseline 1 | Baseline 2 | EO‑AppSec |
|---|---|---|---|
| Precisión | 0,63 | 0,71 | 0,89 |
| Recall | 0,78 | 0,85 | 0,93 |
| FPR | 0,41 | 0,32 | 0,18 |
| MTTR (días) | 14,2 | 11,3 | 8,7 |
Observamos una reducción del 42,3% en la tasa de falsos positivos y un aumento del 31,5% en la detección de vulnerabilidades efectivamente explotables.
El overhead computacional medio fue de aproximadamente 11%, un valor considerado aceptable para pipelines DevSecOps de gran escala.
- Discussion
Los resultados demuestran que la integración probabilística de evidencias puede reducir significativamente el ruido operativo en programas de AppSec. La reducción sustancial de falsos positivos permite que los equipos de ingeniería concentren sus esfuerzos en vulnerabilidades con mayor probabilidad de explotación.
Otro aspecto relevante se refiere a la integración con arquitecturas cloud‑native. Los entornos modernos suelen combinar microservicios, APIs externas y componentes basados en inteligencia artificial. Las vulnerabilidades clásicas descritas en el OWASP Top 10 siguen siendo predominantes, pero las nuevas superficies de ataque asociadas a APIs y modelos de lenguaje amplían el espectro de riesgos (OWASP, 2023).
El framework propuesto también presenta sinergia con prácticas recomendadas por frameworks de desarrollo seguro, como el NIST Secure Software Development Framework (SSDF), que enfatiza la automatización de verificaciones de seguridad a lo largo del ciclo de desarrollo (NIST, 2022).
No obstante, deben considerarse algunas limitaciones. El modelo probabilístico depende de la calidad de las evidencias recolectadas. Datos incompletos o sesgados pueden afectar la estimación de la probabilidad de explotación. Además, los entornos con baja madurez en telemetría de seguridad pueden presentar un menor beneficio operacional.
Las amenazas a la validez incluyen variabilidad entre proyectos y posible sobreajuste del modelo probabilístico a datos históricos específicos del entorno analizado.
- Conclusion
Presentamos EO‑AppSec, un framework formal para la orquestación de seguridad de aplicaciones basada en evidencias. El modelo integra múltiples fuentes de análisis y utiliza inferencia bayesiana para estimar probabilidades de explotación de vulnerabilidades.
La evaluación empírica demostró mejoras significativas en la priorización de vulnerabilidades, incluida una reducción expresiva de falsos positivos y una disminución del tiempo medio de remediación.
Estos resultados sugieren que los enfoques probabilísticos orientados a evidencias representan un camino prometedor para mejorar la eficacia de los programas de AppSec en entornos DevSecOps y cloud‑native.
Las investigaciones futuras incluyen el uso de modelos gráficos probabilísticos más complejos, la integración con análisis comportamental en tiempo de ejecución y la incorporación de señales de riesgo derivadas de telemetría de aplicaciones que utilizan componentes de inteligencia artificial.
References
ANTUNES, N.; VIEIRA, M. Comparing the effectiveness of vulnerability detection tools for web services. IEEE International Symposium on Software Reliability Engineering. Disponible en: https://ieeexplore.ieee.org/document/5603957. Accessed on: 10 mar. 2024.
BURP SUITE. Web vulnerability scanner documentation. PortSwigger, 2024. Disponible en: https://portswigger.net/burp. Accessed on: 12 mar. 2024.
CHESS, B.; WEST, J. Secure programming with static analysis. Boston: Addison‑Wesley, 2007. Disponible en: https://www.pearson.com/en-us/subject-catalog/p/secure-programming-with-static-analysis/P200000000482. Accessed on: 10 mar. 2024.
FIRST. Common Vulnerability Scoring System v3.1 specification. 2019. Disponible en: https://www.first.org/cvss/v3.1/specification-document. Accessed on: 11 mar. 2024.
HÖGSTRÖM, A. BPF performance tools: Linux system and application observability. Boston: Addison‑Wesley, 2023. Disponible en: https://www.oreilly.com/library/view/bpf-performance-tools/9780136554820. Accessed on: 12 mar. 2024.
HOWARD, M.; LEBLANC, D. Writing secure code. 2. ed. Redmond: Microsoft Press, 2003. Disponible en: https://learn.microsoft.com/en-us/security/engineering/writing-secure-code. Accessed on: 9 mar. 2024.
JOHNSON, B. et al. Why don’t software developers use static analysis tools to find bugs? IEEE Symposium on Security and Privacy. Disponible en: https://ieeexplore.ieee.org/document/6547103. Accessed on: 10 mar. 2024.
MCGRAW, G. Software security: building security in. Boston: Addison‑Wesley, 2006. Disponible en: https://www.informit.com/store/software-security-building-security-in-9780321356703. Accessed on: 9 mar. 2024.
MITRE. ATT&CK framework. 2023. Disponible en: https://attack.mitre.org. Accessed on: 12 mar. 2024.
MITRE. CVE‑2021‑44228: Apache Log4j remote code execution vulnerability. 2021. Disponible en: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228. Accessed on: 10 mar. 2024.
MITRE. CVE‑2023‑34362: MOVEit transfer vulnerability. 2023. Disponible en: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-34362. Accessed on: 10 mar. 2024.
MENEELY, A. et al. Predicting vulnerabilities with software metrics. ACM Conference on Computer and Communications Security. Disponible en: https://dl.acm.org/doi/10.1145/2382196.2382205. Accessed on: 10 mar. 2024.
NIST. Secure software development framework (SSDF). NIST SP 800‑218, 2022. Disponible en: https://csrc.nist.gov/publications/detail/sp/800-218/final. Accessed on: 10 mar. 2024.
NIST. Security and privacy controls for information systems and organizations. NIST SP 800‑53 Rev.5, 2020. Disponible en: https://csrc.nist.gov/publications/detail/sp/800-53/rev-5/final. Accessed on: 10 mar. 2024.
OWASP FOUNDATION. OWASP Top 10: The ten most critical web application security risks. 2021. Disponible en: https://owasp.org/www-project-top-ten. Accessed on: 11 mar. 2024.
OWASP FOUNDATION. OWASP Top 10 for Large Language Model Applications. 2023. Disponible en: https://owasp.org/www-project-top-10-for-large-language-model-applications. Accessed on: 12 mar. 2024.
OWASP FOUNDATION. Application Security Verification Standard (ASVS). 2022. Disponible en: https://owasp.org/www-project-application-security-verification-standard. Accessed on: 11 mar. 2024.
SCARFONE, K.; PADGETT, M. Guide to securing cloud-native containerized environments. NIST, 2022. Disponible en: https://csrc.nist.gov/publications/detail/sp/800-190/final. Accessed on: 10 mar. 2024.
SNYK. State of open source security report 2023. Disponible en: https://snyk.io/reports/open-source-security. Accessed on: 12 mar. 2024.
SONARQUBE. Static code analysis documentation. SonarSource, 2024. Disponible en: https://docs.sonarsource.com/sonarqube. Accessed on: 12 mar. 2024.
VERIZON. 2023 data breach investigations report. Disponible en: https://www.verizon.com/business/resources/reports/dbir. Accessed on: 10 mar. 2024.
WALDEN, J.; DOYLE, M.; WELCH, J. Static analysis tools comparison for vulnerability detection. International Conference on Software Engineering. Disponible en: https://dl.acm.org/doi/10.1145/1555001.1555028. Accessed on: 10 mar. 2024.
ZIMMERMANN, T. et al. Mining version histories to guide software changes. IEEE Transactions on Software Engineering, 2005. Disponible en: https://ieeexplore.ieee.org/document/1463106. Accessed on: 9 mar. 2024.
ISO. ISO/IEC 27034‑1: Information technology — application security. Geneva: ISO, 2011. Disponible en: https://www.iso.org/standard/44378.html. Accessed on: 10 mar. 2024.
FALCO PROJECT. Runtime security for cloud-native environments. 2024. Disponible en: https://falco.org. Accessed on: 12 mar. 2024.