Introducción a Threat Modeling Tool

Microsoft Threat Modeling Tool 2018 2018 se lanzó para que tuviese disponibilidad general en septiembre de 2018, como una opción gratuita de hacer clic para descargar . El cambio en el mecanismo de entrega nos permite insertar las mejoras y correcciones de errores más recientes para los clientes cada vez que abran la herramienta, facilitando el mantenimiento y el uso. Este artículo le guía por el proceso de empezar a usar la solución de modelado de amenazas SDL de Microsoft y le muestra cómo utilizar la herramienta para desarrollar modelos de amenazas excepcionales como columna vertebral del proceso de seguridad.

Este artículo se basa en los conocimientos actuales de la solución de modelado de amenazas SDL. Para una revisión rápida, consulte Aplicaciones web de modelado de amenazas y una versión archivada del artículo de MSDN sobre el descubrimiento de defectos de seguridad con el enfoque STRIDE publicado en 2006.

En resumen, la solución implica la creación de un diagrama, la identificación de las amenazas, su mitigación y la validación de cada una. Este es un diagrama que esquematiza este proceso:

SDL Process

Inicio del proceso de modelado de amenazas

Cuando inicie Threat Modeling Tool, observará algunas cosas, como se muestra en la imagen:

Blank Start Page

Sección del modelo de amenaza

Componente Detalles
Botón de comentarios, sugerencias y problemas Le lleva al Foro de MSDN para todo lo relacionado con SDL. Proporciona una oportunidad para leer lo que otros usuarios hacen, junto con soluciones alternativas y recomendaciones. Si sigue sin encontrar lo que está buscando, envíe un mensaje de correo electrónico a tmtextsupport@microsoft.com para que nuestro equipo de soporte técnico le ayude
Creación de un modelo Abre un lienzo en blanco para que dibuje el diagrama. Asegúrese de seleccionar qué plantilla le gustaría usar para el modelo
Plantilla para los modelos nuevos Debe seleccionar qué plantilla utilizar antes de crear un modelo. La plantilla principal es la del modelo de amenaza de Azure, que contiene galerías de símbolos específicas de Azure, amenazas y las formas de mitigarlas. Si desea obtener modelos genéricos, seleccione la base de conocimiento de modelos de amenazas SDL en el menú desplegable. ¿Desea crear su propia plantilla o enviar una nueva para todos los usuarios? Visite nuestra página de GitHub de repositorio de plantillas para obtener más información
Abrir un modelo

Se abren los modelos de amenazas guardados previamente. La característica Recently Opened Models (modelos abiertos recientemente) es útil si tiene que abrir los archivos más recientes. Cuando mantenga el mouse sobre la selección, encontrará dos formas de abrir los modelos:

  • Abrir desde este equipo: modo clásico de abrir un archivo usando el almacenamiento local
  • Abrir desde OneDrive: los equipos pueden usar las carpetas de OneDrive para guardar y compartir todos sus modelos de amenaza en una única ubicación para ayudar a aumentar la productividad y la colaboración

Guía de introducción Abre la página principal de Microsoft Threat Modeling Tool

Sección de plantilla

Componente Detalles
Crear nueva plantilla Se abre una plantilla en blanco para que la cree. A menos que tenga muchos conocimientos sobre la creación de plantillas desde el principio, le recomendamos que empiece a partir de las existentes
Abrir plantilla Abre una plantilla para que pueda realizar cambios en ella

El equipo de Threat Modeling Tool trabaja constantemente para mejorar la funcionalidad y la experiencia de la herramienta. Pueden producirse algunos cambios poco importantes a lo largo del año, pero todos los principales requieren escribir de nuevo en la guía. Remítase a ella con frecuencia para garantizar que conoce los anuncios más recientes.

Generación de un modelo

En esta sección, seguimos a:

  • Cristina (programadora)
  • Ricardo (administrador de programas) y
  • Ashish (evaluador)

Van a realizar el proceso de desarrollo de su primer modelo de amenaza.

Ricardo: Hola Cristina, trabajé en el diagrama del modelo de amenaza y quería asegurarme de que los detalles son correctos. ¿Podrías ayudarme a comprobarlo? Cristina: Totalmente. Vamos a echar un vistazo. Ricardo abre la herramienta y comparte la pantalla con Cristina.

Basic Threat Model

Cristina: Bien, parece sencillo, pero ¿puedes guiarme para comprobarlo? Ricardo: Por supuesto. Este es el análisis:

  • El usuario se dibuja como una entidad externa: un cuadrado
  • Van a enviar comandos a nuestro servidor web: el círculo
  • El servidor web va a consultar una base de datos: dos líneas paralelas

Lo que Ricardo ha mostrado a Cristina es un DFD, abreviatura de diagrama de flujo de datos . Threat Modeling Tool permite a los usuarios especificar los límites de confianza, indicados por las líneas de puntos rojos, que muestran dónde están las distintas entidades en el control. Por ejemplo, los administradores de TI requieren un sistema de Active Directory para la autenticación, por lo que Active Directory está fuera de su control.

Cristina: Me parece correcto. ¿Qué ocurre con las amenazas? Ricardo: Permíteme que te lo muestre.

Análisis de las amenazas

Una vez que el usuario hace clic en la vista de análisis desde la selección del menú de icono (el archivo con la lupa), se le muestra una lista de amenazas generadas que Threat Modeling Tool encontró en función de la plantilla predeterminada, que usa el método SDL denominado STRIDE (suplantación de identidad, manipulación, revelación de información, rechazo, denegación de servicio y elevación de privilegios). La idea es que el software viene con un conjunto predecible de amenazas, que se puede encontrar usando estas seis categorías.

Este enfoque es como proteger su casa asegurándose de que cada puerta y cada ventana disponen de un mecanismo de bloqueo antes de agregar un sistema de alarma o de perseguir al ladrón.

Basic Threats

Ricardo comienza seleccionando el primer elemento de la lista. Esto es lo que sucede:

En primer lugar, se ha mejorado la interacción entre las dos galerías de símbolos

Screenshot shows two stencils and the curved arrow connecting them in a heavier weight of line.

En segundo lugar, aparece información adicional sobre la amenaza en la ventana Threat Properties (Propiedades de amenaza)

Screenshot shows the Threat Properties window, which contains Title, Category, Description, Interaction, and Priority.

La amenaza generada le ayuda a comprender los posibles errores de diseño. La categorización STRIDE le da una idea de los posibles vectores de ataque, mientras que la descripción adicional le indica exactamente cuál es el problema, junto con las formas posibles de mitigarlo. Puede utilizar los campos modificables para escribir notas en los detalles de justificación o cambiar las clasificaciones de prioridad según la barra de error de su organización.

Las plantillas de Azure tienen detalles adicionales para ayudar a los usuarios a entender no solo cuál es el problema, sino también cómo corregirlo agregando descripciones, ejemplos e hipervínculos a la documentación específica de Azure.

La descripción le hizo darse cuenta de la importancia de agregar un mecanismo de autenticación para impedir que los usuarios sean suplantados, revelando la primera amenaza en la que se trabajará. Solo algunos minutos de conversación con Cristina bastaron para entender la importancia de implementar el control de acceso y los roles. Ricardo escribió algunas notas rápidas para asegurarse de que se implementaban.

A medida que Ricardo se ocupaba de las amenazas relativas a la divulgación de información, se dio cuenta de que el plan de control de acceso requería algunas cuentas de solo lectura para la auditoría y la generación de informes. Se preguntó si debería tratarse como una nueva amenaza, aunque las mitigaciones fueran las mismas, por lo que anotó la amenaza como correspondía. También pensó más sobre la divulgación de información y se percató de que las cintas de copia de seguridad iban a necesitar cifrado, una tarea para el equipo de operaciones.

Las amenazas no aplicables al diseño debido a las mitigaciones existentes o a garantías de seguridad pueden cambiarse a "No aplicables" en la lista desplegable del estado. Hay otras tres opciones: No iniciado, la selección predeterminada; Necesita investigación, que se usa para hacer un seguimiento de los elementos; y Mitigado, que indica que está en pleno funcionamiento.

Informes y uso compartido

Una vez que Ricardo examina la lista con Cristina y agrega algunas notas importantes, mitigaciones o justificaciones, los cambios de estado y prioridad, selecciona Informes ->Crear informe completo -> Guardar informe, con lo que se imprime un informe muy útil para repasarlo con sus compañeros y asegurarse de implementar el trabajo de seguridad apropiado.

Screenshot shows a representative Threat Modeling Report.

Si Ricardo desea compartir el archivo en su lugar, puede hacerlo fácilmente guardándolo en la cuenta de OneDrive de su organización. Cuando lo haga, podrá copiar el vínculo de documento y compartirlo con sus compañeros.

Herramienta de modelado de amenazas

Cuando Ricardo envió su modelo de amenazas a su compañero con OneDrive, Ashish, el evaluador, no se dejó impresionar. Parecía que Ricardo y Cristina habían olvidado algunos casos importantes más complejos, que podían verse comprometidos fácilmente. Su escepticismo es un complemento de los modelos de amenaza.

En este escenario, una vez que Ashish se encargó del modelo de amenaza, convocó dos reuniones: una para sincronizar el proceso y examinar los diagramas y, a continuación, otra para revisar las amenazas y concluir el proceso.

En la primera reunión, Ashish empleó diez minutos en mostrar a los demás el proceso de modelado de amenazas SDL. A continuación, se detuvo en el diagrama del modelo de amenazas y comenzó a explicarlo en detalle. Tras cinco minutos, se había identificado un importante componente que faltaba.

Unos minutos después, Ashish y Ricardo comenzaron una larga discusión sobre cómo se había creado el servidor web. No era la forma ideal de proceder en una reunión, pero todos los usuarios acordaron finalmente que detectar la discrepancia al principio iba a ahorrarles tiempo en el futuro.

En la segunda reunión, el equipo examinó las amenazas, debatieron algunas maneras de abordarlas y concluyó el modelo de amenazas. Registraron el documento en el control de origen y continuaron con el desarrollo.

Evaluación de los recursos

Algunos lectores que hayan modelado una amenaza pueden darse cuenta de que no hablaron sobre todos los recursos. Hemos descubierto que muchos ingenieros de software conocen mejor su software de lo que entiendan el concepto de proceso y de en qué procesos podría estar interesado un atacante.

Si va a modelar las amenazas de una casa, puede comenzar por pensar en la familia, en las fotos que son irreemplazables o en las obras de arte valiosas. Quizás pueda comenzar por pensar quién podría entrar en la casa y en el sistema de seguridad actual. O bien podría empezar teniendo en cuenta las características físicas, como la piscina o el porche delantero. Esto es igual que pensar en los recursos, los atacantes o el diseño del software. Cualquiera de estos tres enfoques funcionan.

El enfoque del modelado de amenazas que hemos presentado en esta guía es mucho más sencillo de lo que Microsoft hacía antes. Encontramos que el enfoque de diseño de software funciona bien para muchos equipos. Esperamos que sea el caso del suyo.

Pasos siguientes

Envíe sus preguntas, comentarios y preocupaciones a tmtextsupport@microsoft.com. Descargue Threat Modeling Tool para empezar.