# data[].attributes.body
El modelo de amenazas STRIDE es una metodología que permite identificar y clasificar vulnerabilidades de seguridad en la etapa de diseño de una aplicación o sistema. Este enfoque de seguridad ayuda a los equipos desarrolladores a pensar como atacantes para anticiparse a los modelos de ataques que pueden llegar a comprometer la seguridad de la aplicación y el fallo de la misma.

El acrónimo STRIDE representa seis categorías de amenazas comunes:

S – Spoofing (Suplantación de identidad=

T – Tampering (Manipulación de datos)

R – Repudiation (Repudio de acciones)

I - Information Disclosure (Divulgación de información)

D - Denial of Service (DoS) (Denegación de servicio)

E - Elevation of Privilege (Elevación de privilegios)

En el video Understanding STRIDE: An Easy Guide to Threat Modeling se ofrece una descripción del modelo STRIDE y cuáles son sus formas de prevenir los ataques que puede presentar nuestra aplicación, ayudando a fortalecer el entendimiento del modelo.

# data[].attributes.attachment_link.title
Understanding STRIDE: An Easy Guide to Threat Modeling

# data[].attributes.headline
Introducción: ¿Por qué desarrollar software seguro?

# data[].attributes.subject
Introducción: ¿Por qué desarrollar software seguro?

# data[].attributes.body
El desarrollo de software seguro es una parte fundamental para garantizar la protección de nuestra aplicación y la información confidencial que esta contiene. Un software inseguro puede comprometer la reputación de la organización, afectando la confianza de los usuarios e incumpliendo normativas de protección de la información.

Es por esto que es primordial la implementación de prácticas de seguridad durante todas las fases del ciclo de vida del proyecto, ayudando a la identificación y prevención de amenazas que puedan llegar a comprometer nuestro sistema.

En el siguiente mural evidenciaremos como se puede implementar un software seguro aplicando el modelo STRIDE junto con técnicas de validación y cifrado de la información.

Como caso de ejemplo se desarrollará una aplicación de agendas de notas, aplicando el modelo de amenazas STRIDE y las formas de prevención y mitigación para cada una de estas amenazas.

# data[].attributes.body
Hace referencia a que el atacante se hace pasar por otro usuario, sistema o entidad para obtener acceso no autorizado. Los ataques de suplantación comprometen los mecanismos de autenticación, permitiendo a los atacantes hacerse pasar por otros usuarios.

Ejemplo: Un atacante obtiene acceso al sistema utilizando credenciales robadas a otro usuario.

Métodos de mitigación: Autenticación fuerte (Contraseñas robustas, autenticación multifactor), certificaciones digitales.

# data[].attributes.body
Hace referencia a la manipulación no autorizada de los datos o las configuraciones del sistema, lo que incluye el cambio de archivos, la modificación del código del software o la interferencia de los datos en transito (Purestorage, 2025).

Ejemplo: Alguien intercepta la comunicación entre el navegador y el servidor, cambiando el precio de un producto de $70.000 a $10.000 pesos antes de enviarlo al servidor.

Métodos de mitigación: Uso de cifrado en tránsito (HTTPS/ TLS), firmas digitales, validaciones del lado del servidor.

# data[].attributes.body
Hace referencia a la capacidad que tiene un usuario de negar que realizo una acción en el sistema, a menudo debido a la falta de pruebas o mecanismos para comprobar que el usuario realizo la acción.

Ejemplo: Un usuario realiza diferentes transacciones desde la cuenta bancaria, pero debido a la falta de pruebas y registro, el usuario indica que el no realizo estas transacciones.

Métodos de mitigación: Implementación de log’s seguros, registro de direcciones IP, auditorías inmutables.

# data[].attributes.headline
🔓  Divulgación de la información (Information disclosure) 

# data[].attributes.subject
🔓  Divulgación de la información (Information disclosure) 

# data[].attributes.body
Hace referencia al acceso o exposición de información confidencial de los usuarios a personas no autorizadas, suponiendo una amenaza grave que puede acarrear a infracciones de normativa de privacidad. (DataSunrise, 2024) (Purestorage, 2025).

Ejemplo: Un sitio web muestra los datos de la tarjeta de crédito de un cliente en la pantalla de otro usuario.

Métodos de mitigación: Implementación de controles de acceso, cifrado de datos sensibles en reposo y en tránsito, masking de datos.

# data[].attributes.headline
⛔ Denegación de servicio (Denial of Service DoS)

# data[].attributes.subject
⛔ Denegación de servicio (Denial of Service DoS)

# data[].attributes.body
Hace referencia a un ataque dirigido a nuestro servidor con el fin de interrumpir el funcionamiento normal del sistema, impidiendo que los usuarios puedan acceder al. Esto lo logra al saturando al servidor con un nivel elevado de solicitudes o al aprovechando sus vulnerabilidades para provocar fallos y dejarlo fuera de servicio. (America's Cyber Defense Agency, 2021).

Ejemplo: Durante el black Friday, un grupo de atacantes lanza un ataque DoS contra una página de ventas en línea, inundando la página con millones de solicitudes hasta obligarla a fallar.

Métodos de mitigación: Implementación de rate limiting, balanceadores de carga, monitoreo de actividad anormal, firewalls de aplicación AWF.

# data[].attributes.headline
📈 Elevación de privilegios (Elevation of privilege)

# data[].attributes.subject
📈 Elevación de privilegios (Elevation of privilege)

# data[].attributes.body
Hace referencia cuando un usuario obtiene más privilegios o permisos de los que debería.

Ejemplo: Un usuario común logra tener acceso como administrador del sistema.

Métodos de mitigación: Seguir el principio de menor privilegio, revisar regularmente los permisos de los usuarios, validación en backend, parches de seguridad.

# data[].attributes.headline
Enfoque práctico desarrollo de software seguro

# data[].attributes.subject
Enfoque práctico desarrollo de software seguro

# data[].attributes.body
Con el fin de lograr evidenciar la implementación de las medidas de prevención para cada una de las amenazas del modelo STRIDE, se desarrolló una aplicación de una agenda de notas con autenticación en Node.js y Express como caso práctico.

# data[].attributes.body
Amenaza: Suplantación de identidad para obtener acceso no autorizado.

Medidas aplicadas:

Se implementó la autenticación de usuario y contraseña cifrado con el uso de bcrypt.

Se verifica las credenciales en cada inicio de sesión previo a la generación de un token JWT.

Se utiliza el token para la creación y visualización de notas.

# data[].attributes.body
Amenaza: Alteración de los datos o configuraciones del sistema.

Medidas aplicadas:

Se almacenan las contraseñas en forma hash seguro.

Se hace uso de helmet para agregar cabeceras de HTTP para la prevención de inyecciones y modificaciones no autorizadas.

Se implementa Token JWT firmado digitalmente para evitar que pueda manipularse la información.

# data[].attributes.body
Amenaza: Negación de acciones del usuario sin la capacidad de demostrar lo contrario.

Medidas aplicadas:

El token JWT actua como prueba para la vinculación de acciones a un usuario especifico.

Se registra en consola cada vez que el usuario cree una nota, incluyendo su nombre de usuario

# data[].attributes.body
Amenaza: Exposición de la información sensible sin autorización.

Medidas aplicadas:

La ruta de las API requiere autenticación, con lo que se evita que terceros obtengan autorización.

La filtración de notas evita que los usuarios puedan visualizar notas de otros usuarios.

# data[].attributes.body
Amenaza: Saturar el sistema impidiendo la disponibilidad del mismo.

Medidas aplicadas:

Se limita el rate limit para un máximo de 10 solicitudes por minuto.

Se incorpora el módulo helmet que actúa como un middleware, añadiendo protección contra ciertos patrones DoS en HTTP. (Garcia, 2024).

# data[].attributes.body
Amenaza: Acceso sin autorización a funciones y privilegios más allá de los de su rol.

Medidas aplicadas:

El middleware de autenticación revisa cada uno de los tokens antes de permitir acciones

Solo el usuario puede crear y ver sus propias notas.

Se restringe la visualización de las notas de otros usuarios incluso con un token valido.

# data[].attributes.body
Aplicación de medidas de prevención para el caso de ejemplo de agenda de notas

# data[].attributes.body
La aplicación de agenda de notas es una clara evidencia que es posible desarrollar software seguro tanto en aplicaciones de gran magnitud como en aplicaciones sencillas como la desarrollada.

El modelo STRIDE permite identificar de manera clara los tipos de amenazas que pueden llegar a presentarse en nuestras aplicaciones como lo son Spoofing, Tampering, Repudiation, Information disclosure, Denial of Service y Elevation of privilege, lo que facilita la implementación de medidas de prevención y mitigación en nuestra aplicación.

La seguridad en el desarrollo de software es un aspecto fundamental en toda aplicación. Un software inseguro puede comprometer la información confidencial de nuestros usuarios y la estabilidad de nuestros servicios, lo que puede acarrear a incumplimiento legales, pérdidas económicas y daños en la reputación de la organización. Es por ello que incorporar la seguridad desde la fase inicial y durante todo el desarrollo del software es parte crucial de toda aplicación, aumentando la confianza en nuestros usuarios, garantizando el cumplimiento normativo, y asegurando la disponibilidad de nuestros servicios.

# data[].attributes.body
America's Cyber Defense Agency. (01 de Febrero de 2021). Understanding Denial-of-Service Attacks. Obtenido de America's Cyber Defense Agency: https://www.cisa.gov/news-events/news/understanding-denial-service-attacks

Cloudfare. (20 de Junio de 2023). ¿Qué es el modelado de amenazas? Obtenido de Cloudfare: https://www.cloudflare.com/es-es/learning/security/glossary/what-is-threat-modeling/

DataSunrise. (2 de Noviembre de 2024). Modelo de Amenazas STRIDE. Obtenido de DataSunrise: https://www.datasunrise.com/es/centro-de-conocimiento/modelo-de-amenazas-stride/

Garcia, J. (23 de Septiembre de 2024). Cómo proteger tu aplicación web con Helmet.js. Obtenido de LocalHorse: https://localhorse.net/article/como-proteger-tu-aplicacion-web-con-helmetjs

Purestorage. (10 de Enero de 2025). ¿Qué es el modelo de amenaza STRIDE? Obtenido de Purestorage: https://www.purestorage.com/es/knowledge/stride-threat-model.html