Diagrama de flujo de datos: ¿hasta qué punto debo profundizar?

6

Estoy intentando crear un DFD para un ejercicio de modelado de amenazas. ¿En cuántos detalles debo entrar?

  1. Las pautas de SDL Threat Modeling establecen que sé que mi DFD necesita más detalles cuando todavía hay un límite de confianza en el DFD. Supongamos que hay un límite de confianza entre el almacén de datos A y el proceso B. Como hay un límite de confianza, sé que el DFD no es lo suficientemente detallado. ¿Cómo puedo profundizar, lo suficientemente profundo para que no quede ningún límite de confianza? Si profundizo en el proceso B y lo descompongo en partes más pequeñas, ¿siempre será posible eliminar el límite de confianza?

  2. Tengo CRUD Operations en una base de datos en mi diagrama de flujo de datos, ¿necesito crear 4 flujos de datos distintos para satisfacer las necesidades o puedo marcar el flujo de datos con "Operación CRUD"?

    
pregunta theXs 15.04.2013 - 14:10
fuente

2 respuestas

3

1) Recomiendo comenzar con el diagrama que tienes y expandirlo solo cuando encuentres una ambigüedad, un lugar donde haya un límite adicional, donde tengas que preguntar "cómo funciona esto" para entender un ataque o defensa, etc.

No sé a qué se refiere esto: "Las pautas de Modelado de amenazas de SDL dicen que sé que mi DFD necesita más detalles cuando todavía hay un límite de confianza en el DFD". Fui propietario de esas pautas durante varios años, y no creo que dijeran eso (aunque yo era el responsable). ¿Podría agregar un enlace?

2) ¿Los permisos en cada operación CRUD son siempre los mismos? Si tiene que ampliarlos para comunicar claramente cómo funciona el software, entonces un diagrama que muestra las operaciones separadas es una herramienta de comunicación útil.

Fundamentalmente, el trabajo que realiza debe ayudarlo a comprender, comunicarse y analizar de manera efectiva. Si hay trabajo que alguien ("las pautas de SDL TM") le está diciendo que haga, y no cree que deba hacerlo, quizás haga un pequeño experimento. Entonces, o te sorprenderás o descubrirás que, en ese caso, no necesitas ir a un nivel más profundo.

    
respondido por el Adam Shostack 19.03.2016 - 17:17
fuente
1

Déjame tratar de explicarte el DFD desde una perspectiva diferente; árboles de ataque es una forma estándar y común de describir una amenaza. El árbol ; describe las diferentes etapas que requiere para que la amenaza se realice, desde la relevancia de la programación funciona como una estructura de datos de árbol con nodos principales, nodos secundarios todos vinculados en un contexto determinado, el contexto de una instancia de ataque. Hay muchos ejemplos de árbol de ataque en Internet, dependiendo de la amenaza particular que desee analizar.

Sin embargo, ahora para la pregunta de qué tan lejos? Digo que es necesario realizar todas las etapas que van en el ataque. Veo que para cualquier DFD siempre habrá un conjunto de entradas limitadas y un conjunto de estados de transacciones a los que puede ir; cuando los haya mapeado a todos, después de eso, solo tendrá que organizar a sus actores y confiar en el límite correspondiente.

Para, por ejemplo, para el análisis de amenazas de espionaje, dos actores deben actuar; a) escuchando en la red b) comprendiendo nodos finales para lograr cierto escenario de amenaza de rastreo.

Ahora, en DFD puede profundizar más en cada uno de estos casos como escenarios de interacción de usuario / sistema separados. Aquí puede escribir escenarios de uso indebido como se explica en OWASP testing guide v3.0

Espero que ayude.

    
respondido por el Saladin 15.04.2013 - 18:37
fuente

Lea otras preguntas en las etiquetas