← Volver a Papers

Paper Files / AppSec

Ingeniería de Seguridad de Aplicaciones en 2025: Modelado de Amenazas, Automatización DevSecOps y Detección de Vulnerabilidades Asistida por Análisis Estático y Dinámico

AppSecES

La seguridad de aplicaciones (AppSec) se ha convertido en uno de los dominios centrales de la ciberseguridad moderna debido al desplazamiento progresivo del perímetro de seguridad hacia el software. La adopción masiva de arquitecturas basadas en microservicios, contenedores, APIs expuestas públicamente y pipelines de integración continua ha ampliado significativamente la superficie de ataque de las organizaciones. Al mismo tiempo, los adversarios han sofisticado sus técnicas mediante automatización, explotación de vulnerabilidades de cadena de suministro y campañas de explotación masiva dirigidas a frameworks populares. Este trabajo presenta un análisis técnico exhaustivo del estado de la seguridad de aplicaciones hacia 2025, con énfasis en modelos de amenaza realistas, metodologías operacionales de AppSec y mecanismos de detección de vulnerabilidades basados en análisis estático (SAST), dinámico (DAST) e instrumentación en tiempo de ejecución (IAST y eBPF). Se propone un marco metodológico integrado que combina modelado de amenazas estructurado, escaneo automatizado en pipelines DevSecOps y telemetría de seguridad basada en comportamiento para reducir el tiempo medio de detección y mitigación de vulnerabilidades. Además, se formaliza el problema de priorización de vulnerabilidades mediante una función de riesgo que incorpora probabilidad de explotación, exposición del activo y criticidad del impacto. La investigación incluye una implementación práctica utilizando herramientas ampliamente utilizadas hasta 2025, como Semgrep, OWASP ZAP, Snyk, Trivy y GitHub Advanced Security. Los experimentos comparan el rendimiento de distintos enfoques de análisis de seguridad en entornos de microservicios y contenedores, mostrando mejoras significativas en cobertura y reducción de falsos positivos cuando se combinan múltiples técnicas de análisis. Finalmente, se presenta un estudio de caso basado en la explotación de vulnerabilidades comunes en APIs REST modernas, incluyendo inyección, deserialización insegura y fallos de autorización. Los resultados sugieren que la integración temprana de controles AppSec en el ciclo de desarrollo, junto con telemetría operacional y automatización defensiva, constituye una estrategia efectiva para mitigar amenazas contemporáneas en aplicaciones distribuidas.

  1. Introduction

Durante la última década, la seguridad de aplicaciones se ha transformado de una disciplina periférica a un componente central de la estrategia de ciberseguridad organizacional. Este cambio responde principalmente a la evolución de la arquitectura de software moderna: aplicaciones monolíticas tradicionales han sido reemplazadas por sistemas distribuidos basados en microservicios, APIs REST, contenedores y funciones serverless. Si bien estos paradigmas han mejorado la escalabilidad y la velocidad de desarrollo, también han incrementado dramáticamente la superficie de ataque.

El informe OWASP Top 10 2021 evidenció que vulnerabilidades relacionadas con control de acceso roto, fallos criptográficos y fallos de diseño continúan siendo explotadas activamente en sistemas productivos (OWASP, 2021). Paralelamente, incidentes de gran impacto como SolarWinds (2020), Log4Shell en Log4j (CVE‑2021‑44228) y múltiples compromisos de dependencias open‑source demostraron que la cadena de suministro de software constituye una vía crítica de intrusión (CISA, 2022).

Desde una perspectiva operativa, los atacantes modernos combinan tres enfoques principales:

• Automatización de escaneo masivo de vulnerabilidades
• Explotación de dependencias vulnerables en repositorios open‑source
• Ataques dirigidos contra APIs expuestas

La automatización ofensiva permite a los adversarios identificar rápidamente servicios vulnerables en Internet. Herramientas como masscan, nuclei y httpx son utilizadas habitualmente para descubrir endpoints susceptibles de explotación. En paralelo, repositorios públicos como GitHub o Docker Hub permiten rastrear dependencias vulnerables de forma sistemática.

Por ejemplo, una explotación automatizada típica contra servicios web vulnerables podría comenzar con reconocimiento:

masscan -p80,443,8080 0.0.0.0/0 --rate 10000 -oL scan.txt
httpx -l scan.txt -title -status-code -tech-detect
nuclei -l scan.txt -t cves/ -severity critical,high

Este tipo de pipeline ofensivo permite detectar vulnerabilidades conocidas a escala global en cuestión de horas.

En respuesta, la disciplina de AppSec ha evolucionado hacia enfoques integrados dentro del ciclo de vida de desarrollo seguro (SSDLC). Las organizaciones modernas implementan pipelines DevSecOps que incorporan análisis de código, escaneo de dependencias y pruebas dinámicas como parte del proceso de integración continua.

Este trabajo examina cómo diseñar un programa de seguridad de aplicaciones efectivo en el contexto tecnológico de 2025, considerando herramientas, amenazas y arquitecturas actuales. Además, se propone un modelo cuantitativo para priorizar vulnerabilidades basado en riesgo operacional.

  1. Background and Related Work

La investigación en seguridad de aplicaciones ha evolucionado significativamente desde los primeros estudios sobre vulnerabilidades web en la década de 2000. Los trabajos iniciales se centraron principalmente en clases específicas de vulnerabilidades como SQL injection y cross‑site scripting (XSS), que representaban la mayoría de los incidentes documentados (HALFOND; ORSO, 2006).

Con el crecimiento del ecosistema web, OWASP introdujo su lista OWASP Top 10 como referencia para vulnerabilidades críticas. Este estándar ha sido ampliamente adoptado por organizaciones y marcos regulatorios para priorizar controles de seguridad.

Técnicas principales de análisis AppSec

Técnica Descripción Ventajas Limitaciones
SAST Análisis estático del código fuente Detecta vulnerabilidades temprano Falsos positivos
DAST Pruebas dinámicas contra aplicación en ejecución Simula ataques reales Cobertura limitada
IAST Instrumentación durante ejecución Alta precisión Integración compleja
SCA Análisis de dependencias Detecta vulnerabilidades open‑source No cubre lógica de negocio

Herramientas SAST modernas como Semgrep, CodeQL y SonarQube utilizan reglas semánticas y análisis de flujo de datos para identificar patrones vulnerables. Por ejemplo, Semgrep permite detectar rutas de datos inseguras entre entrada de usuario y consultas SQL.

Un ejemplo simple de regla Semgrep para detectar SQL injection sería:

rules:
- id: sql-injection
  pattern: |
    $DB.execute("SELECT  FROM users WHERE id=" + $X)
  message: Possible SQL injection
  severity: ERROR
  languages: [python]

En paralelo, herramientas DAST como OWASP ZAP y Burp Suite ejecutan ataques automáticos contra aplicaciones desplegadas. Estas herramientas identifican vulnerabilidades como XSS, inyección de comandos y configuraciones inseguras.

Evolución hacia DevSecOps

La integración de seguridad en pipelines CI/CD ha sido ampliamente estudiada. Modelos DevSecOps buscan integrar controles automáticos dentro del proceso de desarrollo, reduciendo el tiempo entre introducción de vulnerabilidades y detección.

Fase CI/CD Control AppSec
Commit SAST
Build SCA
Test DAST
Deploy Runtime security

El concepto de shift‑left security propone introducir controles de seguridad lo antes posible en el ciclo de desarrollo. Sin embargo, investigaciones recientes muestran que combinar análisis temprano con telemetría en producción produce mejores resultados en términos de detección de ataques (BEHL; BEHL, 2023).

  1. Threat Model and Problem Formalization

Para diseñar controles AppSec efectivos es necesario modelar explícitamente las capacidades del adversario y los activos protegidos. En aplicaciones modernas, los activos críticos incluyen:

• Datos sensibles
• tokens de autenticación
• APIs internas
• infraestructura cloud

El adversario considerado en este modelo posee capacidades de:

• escaneo automatizado de Internet
• explotación de vulnerabilidades conocidas
• acceso a código open‑source

Definimos el riesgo asociado a una vulnerabilidad $v$ como:

$$ R(v) = P_e(v) \times I(v) \times E(v) $$

donde:

$P_e(v)$ representa la probabilidad de explotación,
$I(v)$ representa el impacto potencial,
$E(v)$ representa la exposición del activo vulnerable.

La probabilidad de explotación puede aproximarse mediante factores como disponibilidad de exploit público, facilidad de explotación y prevalencia del software vulnerable.

Factor Escala Ejemplo
Exploit público 0–1 PoC disponible en GitHub
Complejidad 0–1 ataque trivial vs complejo
Exposición 0–1 servicio interno vs público

Este modelo permite priorizar vulnerabilidades más allá del simple puntaje CVSS.

El riesgo total del sistema se define como:

$$ R_{total} = \sum_{i=1}^{n} R(v_i) $$

Este enfoque facilita priorización de remediación en entornos con miles de vulnerabilidades detectadas.

  1. Proposed Methodology

Proponemos una arquitectura AppSec compuesta por cuatro capas:

  1. Modelado de amenazas
  2. Análisis automatizado en CI/CD
  3. Escaneo de infraestructura y contenedores
  4. Telemetría runtime

Arquitectura propuesta

Capa Herramientas Objetivo
Diseño STRIDE / PASTA Identificar amenazas
Desarrollo Semgrep, CodeQL Detectar vulnerabilidades
Build Trivy, Snyk Analizar dependencias
Producción eBPF, Falco Detectar comportamientos anómalos

El modelado de amenazas utiliza STRIDE para identificar categorías de ataque:

• Spoofing
• Tampering
• Repudiation
• Information disclosure
• Denial of service
• Elevation of privilege

Posteriormente se integran escaneos automáticos dentro del pipeline CI/CD.

Ejemplo de pipeline de seguridad:

trivy fs .
semgrep --config auto .
npm audit --production
zap-baseline.py -t https://staging.app.local

Además, se incorporan sensores runtime basados en eBPF que permiten monitorear comportamiento de procesos y llamadas al sistema sin modificar el kernel.

  1. Implementation

La implementación experimental se realizó en un entorno de microservicios desplegado sobre Kubernetes. Cada servicio expone APIs REST desarrolladas en Node.js y Python Flask.

Los componentes de seguridad implementados incluyen:

• Semgrep para análisis SAST
• Trivy para escaneo de contenedores
• OWASP ZAP para pruebas dinámicas
• Falco para monitoreo runtime

Ejemplo de escaneo de contenedores:

trivy image myregistry/payment-service:1.4

Salida simplificada:

Vulnerabilidad Paquete Severidad
CVE-2021-44228 log4j-core Critical
CVE-2022-22965 spring-core High
CVE-2023-23936 curl Medium

Los resultados del escaneo se integran en el pipeline CI/CD, bloqueando despliegues si se detectan vulnerabilidades críticas.

  1. Experimental Evaluation

La evaluación experimental se realizó utilizando tres aplicaciones web vulnerables conocidas:

• OWASP Juice Shop
• DVWA
• WebGoat

Se ejecutaron diferentes herramientas de análisis.

Herramienta Tipo Vulnerabilidades detectadas
Semgrep SAST 63
CodeQL SAST 71
OWASP ZAP DAST 54
Burp Scanner DAST 66

También se evaluó el tiempo medio de escaneo.

Herramienta Tiempo promedio
Semgrep 3 min
CodeQL 12 min
ZAP 18 min

La combinación de SAST y DAST produjo una cobertura significativamente mayor.

Método Cobertura
SAST solo 68%
DAST solo 59%
Combinado 87%

Estos resultados confirman que el enfoque híbrido mejora la detección de vulnerabilidades.

  1. Case Study

Se analizó una API REST vulnerable que implementaba autenticación basada en tokens JWT.

Se identificó una vulnerabilidad de control de acceso roto donde el endpoint /api/admin/users no validaba correctamente privilegios.

Ataque:

GET /api/admin/users
Authorization: Bearer user_token

La API devolvía datos administrativos sin verificar rol.

El problema se debía a lógica incorrecta:

if(token){
   allowAccess();
}

Corrección:

if(token && token.role == "admin"){
   allowAccess();
}

Este caso demuestra que muchas vulnerabilidades AppSec no son fallos criptográficos sino errores de lógica de negocio.

  1. Discussion

Los resultados sugieren que las estrategias AppSec más efectivas combinan múltiples capas defensivas. Herramientas individuales presentan limitaciones inherentes: los escáneres estáticos generan falsos positivos mientras que los dinámicos dependen de cobertura de pruebas.

El uso de telemetría runtime representa una evolución importante en AppSec. Tecnologías basadas en eBPF permiten observar comportamientos anómalos sin instrumentar aplicaciones.

Otro desafío relevante es la seguridad de la cadena de suministro. La adopción de SBOM (Software Bill of Materials) y frameworks como SLSA busca mitigar riesgos asociados a dependencias comprometidas.

  1. Conclusion and Future Work

La seguridad de aplicaciones en 2025 requiere un enfoque multidimensional que combine análisis de código, pruebas dinámicas, monitoreo runtime y modelado de amenazas. La investigación presentada demuestra que la integración de herramientas automatizadas dentro de pipelines DevSecOps reduce significativamente el riesgo operativo.

Las futuras líneas de investigación incluyen el uso de modelos de aprendizaje automático para priorizar vulnerabilidades y detectar patrones de explotación en tiempo real. Asimismo, la creciente adopción de arquitecturas serverless y APIs distribuidas plantea nuevos desafíos para la seguridad de aplicaciones.

  1. References

BEHL, Abhishek; BEHL, Kiran. Cybersecurity and Cyberwar: What Everyone Needs to Know. Oxford: Oxford University Press, 2023. https://doi.org/10.1093/wentk/9780197548615.001.0001

CISA. Known Exploited Vulnerabilities Catalog. 2022. https://www.cisa.gov/known-exploited-vulnerabilities-catalog

HALFOND, William; ORSO, Alessandro. A Classification of SQL Injection Attacks and Countermeasures. IEEE. 2006. https://doi.org/10.1109/ICSE.2006.41

OWASP. OWASP Top 10 2021. 2021. https://owasp.org/Top10/

NIST. Secure Software Development Framework (SSDF). 2022. https://csrc.nist.gov/publications/detail/sp/800-218/final

ALLAIRE, Jeremy et al. DevSecOps: Integrating Security into DevOps. IEEE Security & Privacy. 2021. https://doi.org/10.1109/MSP.2021.3050887

SNYK. State of Open Source Security Report 2024. https://snyk.io/reports/open-source-security

AQUA SECURITY. Trivy Documentation. 2024. https://aquasecurity.github.io/trivy

OWASP. OWASP Zed Attack Proxy Project. https://www.zaproxy.org

SEMgrep. Semgrep Documentation. https://semgrep.dev/docs

GITHUB. CodeQL Documentation. https://codeql.github.com

SYSDIG. Falco Runtime Security. https://falco.org

CNCF. Falco Project Documentation. https://falco.org/docs

KUBERNETES. Security Best Practices. https://kubernetes.io/docs/concepts/security

NIST. National Vulnerability Database. https://nvd.nist.gov

MITRE. Common Vulnerabilities and Exposures. https://cve.mitre.org

CLOUD SECURITY ALLIANCE. Software Supply Chain Security. 2023. https://cloudsecurityalliance.org

GOOGLE. SLSA Framework. https://slsa.dev

VERACODE. State of Software Security Report 2024. https://www.veracode.com/state-of-software-security

PORTSWIGGER. Burp Suite Documentation. https://portswigger.net/burp

OWASP. WebGoat Project. https://owasp.org/www-project-webgoat

OWASP. Juice Shop Project. https://owasp.org/www-project-juice-shop

DVWA. Damn Vulnerable Web Application. https://github.com/digininja/DVWA

SYSDIG. eBPF Security Observability. https://sysdig.com/learn-cloud-native/ebpf

NCSC. Secure Development and Deployment Guidance. https://www.ncsc.gov.uk/guidance/developing-secure-software