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
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.
- 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.
- 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).
- 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.
- Proposed Methodology
Proponemos una arquitectura AppSec compuesta por cuatro capas:
- Modelado de amenazas
- Análisis automatizado en CI/CD
- Escaneo de infraestructura y contenedores
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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