volvervolver
Inteligencia artificial en Ciberseguridad

POR:
Cybersecurity Engineering Team

COMPARTIR

Referencias

Despliegue Simplificado de OWASP WSTG

Mejorar la seguridad de las aplicaciones web es un aspecto importante de las operaciones del proceso de desarrollo de software. Para llevar adelante y mantener orden en las pruebas de seguridad, OWASP dispone de la Guía de Pruebas de Seguridad Web (WSTG). Allí se proporciona una guía completa para los profesionales de la seguridad y los desarrolladores.

Este post tiene como objetivo presentar una guía sencilla para desplegar y aprovechar las características de WSTG v4.2 en su organización.

Características principales

El enfoque del marco de prueba pretende transmitir de forma ordenada el Qué? Por qué? Cuando? Y Donde? De las pruebas de seguridad de aplicaciones web.

Dentro del Que, podemos encontrar sistemas y aplicaciones que serán comparadas con una serie de criterios mediante un procedimiento que permita asegurar confianza, en este enfoque encontramos la tríada de Personas, Procesos y Tecnología. El enfoque no es solo técnico, sino también sobre la gestión y la operación.

Dentro del Cuándo podemos alinearnos a nuestro ciclo de desarrollo de software (SDLC), sea cual sea la metodología que estemos adoptando, el objetivo es considerar momentos en donde mejorar la seguridad es más “barato” en términos de esfuerzo general.

Modelo genérico de SDLC


Además, la WSTG cuenta con características específicamente diseñadas, la última de sus actualizaciones incluye la introducción de nuevos escenarios de pruebas, incluyendo pruebas, por ejemplo, sobre API GraphQL. Esto sirve para ofrecer un enfoque de pruebas de seguridad más completo y que cubra las últimas tecnologías web.

Para permitir un proceso de pruebas más sistemático, también se han añadido objetivos a todos los escenarios. La importancia de estos objetivos es que proporcionan a al equipo de pruebas metas claras y resultados esperados para cada escenario de pruebas.

También se ha mejorado significativamente la experiencia de lectura estandarizando los formatos de los escenarios. Esto facilita a su equipo la comprensión y el seguimiento de la guía de pruebas.

Estructura del Framework de pruebas

El WSTG está estructurado en 5 fases marcadas por diferentes estadios típicos del ciclo de desarrollo de software:

Fase 1: Antes de que comience el desarrollo
La planificación de las pruebas incluye no solo alinearse al actual marco SDLC sino también la revisión de políticas y estándares que son aplicables a la aplicación a evaluar, su documentación existente y la definición de métricas o elementos a medir para poder evaluar el cumplimiento de las pruebas.

Fase 2 durante la definición y el diseño
En esta fase se definen los objetivos y requisitos de seguridad a evaluar, incluyendo mecanismos de seguridad actuales como: Gestión de usuarios, Autenticación, Confidencialidad de datos, Seguridad de las comunicaciones, Integridad, entre otros

Se evalúan además diseños y arquitectura de la aplicación en contraste de modelos de amenazas, con el objetivo de encontrar brechas en etapas iniciales y fundamentales del desarrollo.

Fase 3 durante el desarrollo
Se realizan revisiones rápidas del código en un formato de “tutorial” para comprender la estructura general para luego profundizar con revisiones específicas en donde se crea necesario (es recién aquí donde OWASP Top 10 entra en acción!)

Fase 4 durante la implementación
En esta etapa ya disponemos de alguna pieza funcional de la aplicación sobre la cual realizar pruebas “dinámicas”. Ponemos a prueba el diseño a través de pruebas de penetración o pruebas funcionales de distinto tipo.

Fase 5 durante el mantenimiento y las operaciones
Esta fase suele es la más complicada de sostener o garantizar, contempla todo lo que sucede después de haber realizado el despliegue de la aplicación, como se realizan evaluaciones periódicas para garantizar el mantenimiento del nivel de seguridad obtenido durante las pruebas.

Implementación de WSTG

Para desplegar WSTG en una organización, de forma simplificada y general, proponemos los siguientes pasos:

Preparación:

 • Conoce tus objetivos: Entiende qué quieres lograr con las pruebas de seguridad. Esto podría incluir identificar vulnerabilidades, cumplir con regulaciones específicas, o simplemente mejorar la seguridad general de tu aplicación web. Puedes darle un marco a la planificación mediante un modelado de amenazas y la definición de algunas métricas que consideres relevantes para tu negocio.

 • Reúne información: Recopila información sobre la aplicación que vas a probar. Esto incluye URLs, tecnologías usadas (por ejemplo, frameworks, bases de datos), y cualquier otra información relevante.

 • Obtén permiso: Asegúrate de tener permiso explícito para realizar pruebas de seguridad en la aplicación web. Realizar pruebas sin consentimiento puede estar fuera del marco legal o ser éticamente incorrecto.

Configuración del entorno de pruebas:

 • Herramientas: Instala las herramientas necesarias para realizar las pruebas, como escáneres de vulnerabilidades, proxies de interceptación (por ejemplo, OWASP ZAP, Burp Suite), y herramientas de análisis de código estático o dinámico (OWASP tiene listado de opciones para cada caso)

 • Entorno de pruebas: Cuando sea posible, configura un entorno de pruebas que sea una réplica exacta del entorno de producción o representativo del mismo. Esto te permite realizar pruebas sin riesgo de afectar los datos o la disponibilidad del sistema en producción.

Realización de las pruebas:

 • Pruebas de reconocimiento: Comienza con pruebas de reconocimiento para recopilar más información sobre la aplicación, como identificar puntos de entrada, servicios expuestos y versiones de software. Dentro de estas pruebas puedes realizar una revisión del código fuente directamente, lo que te permitirá tener una mirada más detallada de la aplicación o pieza de código evaluada.

 • Pruebas de vulnerabilidades: Utiliza la Guía de Pruebas de OWASP WSTG como referencia para realizar pruebas específicas, como inyección SQL, cross-site scripting (XSS), autenticación y manejo de sesiones inseguras, configuración incorrecta de seguridad, y exposición de datos sensibles, entre otros. Cada una de estas pruebas contendrá una mirada desde el punto de vista de la amenaza y un conjunto de posibles mitigaciones aplicadas en algún punto del ciclo de desarrollo.

Casos de uso, amenazas y mitigación


 • Automatización y pruebas manuales: Combina el uso de herramientas automatizadas con pruebas manuales para una cobertura de pruebas más completa. Las herramientas pueden ayudarte a identificar vulnerabilidades conocidas, mientras que las pruebas manuales son cruciales para identificar problemas de lógica y otros aspectos que las herramientas no pueden detectar. Dentro de los enfoques de las pruebas podemos encontrar:

 • Identidad, autenticación y control de acceso

 • Validación de entrada

 • Encriptación

 • Gestión de usuarios y sesiones

 • Manejo de errores y excepciones

 • Logs y auditoria

Reporte y corrección de vulnerabilidades:

 • Documenta tus hallazgos: Crea un informe detallado de las vulnerabilidades encontradas, incluyendo la severidad, la descripción del problema, y recomendaciones para su corrección.

 • Comunica los resultados: Presenta los resultados a los equipos relevantes (desarrollo, seguridad, operaciones) y discute las medidas correctivas.

 • Corrección de vulnerabilidades: Trabaja con el equipo de desarrollo para corregir las vulnerabilidades identificadas. Esto puede incluir modificar el código, cambiar configuraciones, o aplicar parches a componentes de terceros.

Verificación y monitoreo:

 • Verificación de las correcciones: Una vez que se hayan aplicado las correcciones, realiza pruebas de seguimiento para verificar que las vulnerabilidades se hayan resuelto efectivamente.

Conclusión

La guía WSTG v4.2 es un recurso valioso para mejorar la seguridad de las aplicaciones web de su organización. Su metodología simplificada y su alcance la hacen aplicable a organizaciones de todos los tamaños. Recuerde que la seguridad de las aplicaciones web no es un hecho aislado, sino un proceso continuo.

Manténgase actualizado y seguro.