Seguridad Briefs

Introducción A las amenazas SDL modelado herramientas

Adam Shostack

Contenido

Las amenazas modelado el proceso de inicio
Analizar las amenazas
Pantalla de entorno
Mantener el control con informes
Menú de acciones
Las reuniones de definición de modelos de amenazas
Pensar en los activos

fig01.gif

Figura 1 el proceso de modelado de amenazas

En noviembre de 2008, Microsoft anunció la disponibilidad general de la Amenaza de seguridad del ciclo de vida del desarrollo (SDL) herramienta de modelado como una descarga gratuita desde MSDN. Esta columna sigue a un equipo a través del proceso de introducción a la enfoque de modelado de amenazas SDL y muestra cómo utilizar la herramienta nueva para desarrollar los modelos de amenazas grandes como una red troncal de su proceso de seguridad.

Esta columna no es un hicieron en la definición de modelos de amenazas SDL. Para ello, vea el artículo que coautor en el número de noviembre de 2006 de MSDN Magazine en uso el enfoque STRIDE " Modelos de amenazas: revelar defectos de diseño de seguridad con el enfoque STRIDE ." La figura 1 proporciona una breve descripción general del proceso.

Las amenazas modelado el proceso de inicio

Cuando se inicia la amenaza SDL herramienta de modelado, verá que la esquina inferior izquierda parece bastante Microsoft Office Outlook con pantallas cuatro: diagrama, analizar, entorno y los informes (consulte la figura 2 para obtener detalles). Tenga en cuenta que estas pantallas son ligeramente diferentes desde el esquema que se muestra en la figura 1 porque tiene mucho sentido tener en cuenta las amenazas y mitigaciones juntas ya que están estrechamente relacionadas.

En esta sección, se seguir deuda (un desarrollador), Paul (administrador de programas) y Tim (un personal de pruebas) a través del proceso de desarrollar su primera modelo de amenaza y también HABLARÉ sobre cada pantalla de la herramienta.

fig02.gif

" Hola deuda, se ha trabajando en ese diagrama de modelo de amenazas, y desea recorrer con usted para asegurarse de que se han llegado los detalles de derecha. "

"Lo que, Paul! Se engloban en."

Paul aporta fuera una impresión de fuera de un diagrama que él ya realizado de "diagramas sólo" informe la herramienta de modelo de amenaza, que se muestra en La figura 3 .

"Paul, que no ha visto estos diagramas antes. Parece bastante sencilla, pero puede recorra me significan de las formas distintas?"

" El modo de este funcionamiento Carl, nuestro rol de cliente normal, se dibuja como una entidad fuera, un rectángulo. Él del envío de comandos a nuestro servidor Web, el círculo es cualquier código que se está ejecutando y la flecha nos ofrece la dirección de comunicación. El servidor Web es consultar una base de datos, que, igual que con cualquier sitio almacenar datos, es dos líneas paralelas. El sistema se llama a un diagrama de flujo de datos (DFD). Hay un buen artículo de wikipedia en DFD . El bit sólo que no se trata hay estas líneas de puntos de límite de confianza entre dónde se están distintas personas en control. Por ejemplo, se sabe que los profesionales de TI requieren que usamos su sistema de Active Directory para la información de inicio de sesión y, por lo que se muestra el Active Directory como fuera de nuestro control."

fig03.gif

La figura 3 DFD diagrama ’s Paul

Cuando se inicia la herramienta, se muestra la pantalla de diagrama. Esto es donde Paul usar las herramientas de Visio y la galería de símbolos proporcionada para dibujar su DFD (consulte la figura 4 ). Aunque esto era su primera vez, se cómodo porque el control de validación de la izquierda le proporcionaba comentarios, según su experiencia en el uso como parte de la SDL de modelado de amenazas. Como que encuentra su dibujo más complejidad a la propia, agrega detalles adicionales haciendo clic en la carpeta de contexto en la parte superior derecha y podía crear un diagrama por niveles y complejo.

fig04.gif

La figura 4 la pantalla de diagramas

Analizar las amenazas

Paul estaba un poco dudas cuando abierto la pantalla de análisis (consulte la figura 5 ). ¿Se ha producido una larga lista de amenazas no existe, donde todos ellos proceden? La herramienta tenía construyó, mediante el método SDL denominado "STRIDE por elemento". La idea es que generalmente incluye el software en un conjunto predecible de amenazas (las que se muestra en la figura 5 ). Algunos expertos en seguridad desea realiza un seguimiento después el intruso en primer lugar porque el chase sí puede ser divertido. CREO que tiene sentido iniciar protección de su casa asegurándose de que cada puertas y ventanas tiene algún tipo de bloqueo y sólo entonces preguntándose un sistema de alarma. Por lo que iniciar con STRIDE por elemento haciendo clic en cualquiera de las líneas de la pantalla de análisis.

fig05.gif

La figura 5 la pantalla de análisis

Paul iniciada fuera por seleccionando el data­base en la lista de elementos. De él lectura en la parte superior de la pantalla que "base de datos" es un almacén de datos, por lo tanto sujetos a alteraciones, revelación de información y denegación de servicio de amenazas. Como que se lee hacia abajo, ayudó a las preguntas le pensar en cómo podrían alterar las personas con los datos y di cuenta de que nadie había especificadas que se pueda conectarse a la base de datos. Un diagrama de pizarra y algunas reglas sencillas revela la amenaza primera. Puntuación uno para los modelos de amenazas.

Unos minutos de discusión se llevó a una realización necesarias a pensar en control de acceso y funciones. Paul rellena algunas notas rápidas en dos amenazas. La primera nota dice "no plano de control de acceso." También archivar un elemento de trabajo en su base de datos de Team Foundation Server (TFS). La segunda nota que dice que "plan de control de acceso requiere una lista de funciones". A continuación, Paul fue en TFS y crea un segundo error que depende de la primera.

Como Paul fue en revelación de información, dimos cuenta de que su plan de control de acceso necesario algunas cuentas de sólo lectura para generar de auditoría y el informe. Preguntado si esto fue una nueva amenaza, decidió no era ya que es la reducción de la misma y editado el error en TFS. , A continuación, optó certificar la amenaza como mitigado en otro lugar y escribió "trata en TFS error #235". No era muy seguro si eso fue ACEPTAR, pero eso es lo que la característica de certificación es para (vea la figura 6 ).

fig06.gif

Figura 6 certificar que Don’t aplicar las amenazas

También pensamos revelación de información un poco más y producidas que las cintas de copia de seguridad iba a necesitar cifrado, pero eso es un trabajo de operaciones. (Abordaré cómo supervisan que en sólo un minuto, después de cobertura uno relacionados con características: la casilla de verificación "Auto­ de generar las amenazas para este elemento" en la parte superior.)

La característica de generación automática está diseñada para equipos grandes que tienen una gran cantidad de los modelos de amenazas y que también tienen una forma de asegurarse de que los evaluadores y administradores de programas se todos hablando Novedades en los modelos de amenazas. Por lo tanto, para esta situación, Paul es posible que diga que Phil es responsable de varios elementos que desea mostrar para contexto y cómo interactúan con sus características. La casilla auto­-generate está activada de forma predeterminada, pero puede desactivarlas y estado que piensa que ésta es característica de Phil Paul.

Pantalla de entorno

Preocupado de las operaciones de cifrado de las cintas de copia de seguridad, Paul abre la pantalla de entorno y haber visto una sección de notas de seguridad externo (consulte la figura 7 ). Realiza una nota que las operaciones se iba a tiene que ocuparse de copia de seguridad en cinta. Tiene que asegurarse de que las operaciones tenían una copia de la herramienta.

fig07.gif

La figura 7 notas de seguridad externo

Mientras que estaba, preguntado qué fue la sección de encabezado del documento y fue libres comprobar que se ha producido más guiándole texto hasta allí, que explica que se identificado que pertenece el modelo de amenazas, lo que era y así sucesivamente. Rellena y ha deseado que puede incluir el proyecto de Contoso, Número de seguimiento.

Mover sistemáticamente a través de los elementos del árbol, Paul señalan que se produjeron las dependencias en SQL Server y la biblioteca de widget Fabrikam Foxy Web widgets 2.3. Paul agregó una nota que Tim investigar, asegúrate de que estaban actualizadas, y que estaban obtener las notificaciones de seguridad de fabrikam.

Mantener el control con informes

Existen cinco informes de modelado de amenazas:

Informe de análisis Este informe está diseñado para que un Asesor de seguridad o consultor para revisar un modelo de amenazas, aunque cualquier persona puede utilizar para ver qué problemas de validación de diagrama están abiertos, lo que amenazas vacías aún no ha rellenado, qué amenazas no tienen mitigaciones, ¿qué amenazas ha ha certificado o marcado como no se generan las amenazas.

Informe de modelo de amenaza Este informe contiene la información introducida en el modelo de amenazas, presentado en una vista única página.

sólo los diagramas Este informe está diseñado para facilitar imprimir diagramas. Algunas personas similar a trabajar en papel, pero no es necesario imprimir informes completos cuando todo lo que desean es el diagrama.

Informe de errores Este informe muestra los errores que se han archivado de este modelo de amenazas y su estado

exploración de vulnerabilidades de informe El informe fuzzing usa la información de arquitectura proporcionada en el paso de creación de diagramas para ofrecer una lista con prioridades de objetivos de exploración de vulnerabilidades. Exploración de vulnerabilidades es una técnica de prueba que implica generar entrada aleatorio de un programa. Resulta sorprendente cómo buena exploración de vulnerabilidades pueden al realizar el bloqueo de las cosas, y muchos de los bloqueos son explotables. (Consulte Crear un proveedor de interfaz de prueba personalizada para Team System o Aproximación a prueba de Microsoft y el proceso de triage Para obtener más de aproximación prueba.)

Menú de acciones

Hay un par de funciones útiles guarda inmediatamente en el menú Acción: vista en miniatura, configuración de seguimiento de error y el equipo responsable de modo. Vista en miniatura proporciona fácil acceso a los diagramas cuando estás en otras pantallas. Esto es útil cuando tiene un diagrama de complejo y le gustaría que en la pantalla al analizar el modelo. Cambia automáticamente el tamaño la miniatura para ocupar la mayor parte de la ventana, mantener el diagrama completo en la vista como cambiar el tamaño.

Si intenta un error de archivo sin escribir ninguna información de error, el diálogo de seguimiento de errores se vienen hacia arriba para que le pregunte, pero puede llevar se copia en cualquier momento mediante el menú Acciones. Hay un archivo XML muy simple que puede utilizar para definir los campos que se va a rellenar en o sólo se pueden modificar los campos (suponiendo que la casilla "plantilla use" no está activada). Los errores automáticamente obtener un título de " TM: [amenaza] afecta a [elemento] " y contenido es pre-filled de la información de amenaza y mitigación. Los campos se pueden eliminar seleccionándolos y presionar la tecla SUPR.

Equipo responsable de modo muestra una nueva sección en la pantalla de entorno describe, denominada configuración de plantilla. Esto permite que un responsable de equipo cambiar las preguntas de guía y establecer una ubicación predeterminada para guardar los modelos de amenazas. El responsable de equipo también puede modificar los campos de información de encabezado del documento, agregando y quitando aspectos que debe ajustarse el entorno.

Medida que había deseaba hacer antes, Paul agregan el proyecto de Contoso número como un nuevo campo de seguimiento. Cualquier modelo de amenazas guardado desde el modo de jefe de equipo puede funcionar como una plantilla. (En realidad, cualquier modelo de amenazas en absoluto puede funcionar como una plantilla para el trabajo adicional.)

Cambiar las preguntas guía implica modificar un archivo XML que se inicia en la definición de la SDL modelos de amenazas carpeta \Datos de la herramienta. El formato es bastante fácil de seguir.

Las reuniones de definición de modelos de amenazas

Cuando Paul envía su modelo de amenazas alrededor, Tim, el ingeniero de pruebas, se underwhelmed bastante. Todo tipo de cosas extrae fuera en él, y se pide Paul: "se programa administradores suponga siempre que todo lo que se va a trabajar, ¿verdad?"

Puede sorprenderle saber que los evaluadores y sus escépticas pueden funcionar como un complemento excelente para los modelos de amenazas. Como resultado, muchos equipos pida su personal de pruebas para provocar el proceso de definición de modelos de amenazas. En este escenario, después Tim tardó sobre el modelo de amenazas, llama para reuniones de modelado de amenazas dos: una reunión para sincronizar en el proceso y recorra los diagramas y, a continuación, una reunión segunda para amenaza revisar y inicio de sesión fuera.

En la primera reunión, Tim dedica análisis todo el mundo a través de los modelos de amenazas SDL de 10 minutos. A continuación, extrae hasta el diagrama de modelo de amenazas y inicia se explica en detalle. En cinco minutos, tenía ha identificado un importante componente que falta.

Unos minutos posterior, Tim y Paul obtuvo en una discusión extendida de cómo realmente se ha generado el servidor Web. No era la forma ideal para una reunión continuar, pero todo el mundo finalmente acordados que descubrir la discrepancia pronto iba a guardarlos en una gran cantidad de tiempo más adelante.

En la reunión de la segunda, el equipo salirnos a través de las amenazas, describe algunas formas de ocuparse de ellos y firmado desactivar en el modelo de amenazas. Comprueba el documento en el control de código fuente y continúa con el desarrollo.

Pensar en los activos

Algunos lectores que dispongan de modelado de amenazas pueden observar que hemos no ha hablado activos en absoluto. Ha descubrimos que los ingenieros de software muchos conocer mejor de que comprendan el concepto de activos y los activos de un atacante puede estar interesado en su software.

Si se va a modelo de amenazas una casa, es posible que comienza por pensar en sus familiares o fotos irreemplazable o ilustraciones valiosa. Quizás se podría empieza por pensar que podría interrumpir en y el sistema de seguridad actual. O es posible que se inicie por considerar las características físicas, como el grupo o el porch solicitudes de cliente. Estos son análogos a pensar acerca de los activos, los intrusos o diseño de software. Cualquiera de estos tres enfoques funcionará.

El enfoque que nos ha presentado aquí de modelado de amenazas es considerablemente más sencillo que lo que Microsoft ha realizado en el pasado. El equipo Microsoft SDL ha detectado que el enfoque de diseño de software funciona muy bien para una gran cantidad de equipos. Esperamos que incluyen suyo.

Envíe sus preguntas y comentarios a Briefs@Microsoft.com .

ADAM Shostack es un administrador de programas en el equipo del ciclo de vida del desarrollo de seguridad (SDL) de Microsoft. Es responsable de la componente de la SDL de modelado de amenazas.