Modelado de amenazas basado en DFD | conjunto 2

Requisito previo: modelado de amenazas , modelado de amenazas basado en DFD | Conjunto 1  
Representación visual usando DFD: 
DFD es de naturaleza iterativa. Por lo tanto, modelar un sistema implica la construcción de diferentes niveles de DFD. Esto significa que para reflejar con precisión el sistema, el DFD debe organizarse de forma jerárquica. Siguiendo las diversas formas que se utilizan en un DFD: 
 

1 Proceso: 
cada proceso en un DFD recibe un número único donde el subproceso tendrá un número con el prefijo del número del proceso principal. Proceso significa una entidad que realiza una tarea específica en un dato dado. La siguiente es la forma de un proceso: 

2 Proceso múltiple: 
esto significa que el proceso tiene un subproceso y el número del subproceso tiene como prefijo el número del proceso principal. Por ejemplo, el número de proceso principal es 1. Luego, el subproceso tendrá el número 1.1 y el subproceso tendrá el número 1.1.1 y así sucesivamente. La forma para el proceso múltiple es la siguiente: 

3 Entidad externa: 
solo puede interactuar en el punto de entrada o en el punto de salida y se encuentra fuera del sistema. Solo puede interactuar con el proceso o múltiples procesos. Puede ser una fuente de datos o un destino de datos. A continuación se muestra la forma de una entidad externa utilizada en DFD: 

4 Almacén de datos: 
es el lugar donde se almacenan los datos o desde donde se recuperan los datos. Solo puede interactuar con procesos o múltiples procesos. La forma del almacén de datos es la siguiente: 

5 Flujo de datos: 
se utiliza para mostrar el movimiento de datos entre los elementos. A continuación se muestra la forma para el flujo de datos: 

6 Límite de confianza: 
es un límite entre niveles de confianza o privilegios. La siguiente es la forma del límite de confianza: 

DFD comienza con un diagrama de nivel de contexto general que representa todo el sistema como un solo proceso múltiple. Cada Node es entonces un DFD más detallado que representa otros procesos. 

Determinación de amenazas: 
este es el último paso en el modelado de amenazas de un sistema. Después de crear un DFD, el siguiente paso es identificar los objetivos que el adversario podría tener en el sistema. Estos objetivos se utilizan luego para determinar las rutas de amenazas, ubicar los puntos de entrada/salida y seguir los datos a través del sistema para comprender qué datos se suministran a qué Node. 

Antes de seguir adelante, primero entenderemos qué es una ruta de amenaza. Una ruta de amenaza es una secuencia de Nodes de proceso que realizan algún tipo de operación crítica para la seguridad y, por lo tanto, son vulnerables a un ataque. Todos los Nodes de proceso donde hay un cambio o acción por parte de los datos son susceptibles a amenazas. 

A continuación se presenta la serie de pasos realizados en esta fase. 

Perfil de amenazas: 
esta es la especificación de diseño de seguridad que describe las dos cosas siguientes: primero, los posibles objetivos de un adversario en el sistema y, en segundo lugar y más importante, las vulnerabilidades que existen debido a estos objetivos. 

Cada amenaza identificada debe prevenirse o mitigarse. Los perfiles de amenazas abarcan las siguientes áreas clave: 
 

  1. Identifique las amenazas: la 
    identificación de amenazas es un paso muy importante para construir un sistema seguro. La identificación de amenazas es un proceso de 3 pasos donde el primer paso implica analizar cada punto de entrada/salida, el segundo paso implica identificar la naturaleza y el tipo de procesamiento crítico que ocurre en los puntos de entrada/salida y el tercer y último paso implica pensar y describir cómo la entrada /punto de salida podría ser atacado. Identificar amenazas no es un proceso fácil de hacer. Implica hacer preguntas como: 

    ¿Es posible que un adversario obtenga acceso a los activos sin ser auditado o saltándose los controles de acceso o actuando como otro usuario? 

    Cómo un adversario puede usar o manipular datos para recuperar información del sistema o editar información en el sistema o modificar/controlar el sistema u obtener privilegios adicionales o hacer que el sistema falle o quede inutilizable. 

    Estas son solo las preguntas básicas. Se requiere mucha lluvia de ideas por parte del equipo de seguridad para identificar tantas amenazas posibles. 
    El siguiente paso en la identificación de amenazas es la clasificación de amenazas. STRIDE es uno de los métodos que utilizamos junto con DFD para la clasificación de amenazas. Hemos discutido STRIDE en el artículo anterior. 
     

  2. Investigue y analice las amenazas: 
    después de identificar las amenazas, el siguiente paso es realizar un análisis en profundidad de las amenazas identificadas para determinar las áreas vulnerables y las rutas de ataque válidas. 

    Los árboles de amenazas se utilizan para este propósito. Hay dos formas de expresar un árbol de amenazas: una es la forma gráfica, otra es usando la representación textual. 
    La estructura básica de un árbol de amenazas consiste en un Node raíz y Nodes secundarios. Cada Node secundario representa una condición necesaria para que el adversario encuentre e identifique las amenazas. El procedimiento para identificar las vulnerabilidades implica comenzar en un Node sin hijos y luego atravesarlo de abajo hacia arriba hasta la raíz. 

    Otro paso en el análisis de amenazas consiste en determinar el riesgo de amenazas y las condiciones de amenaza. Esto se hace usando el modelo DREAD. Hemos hablado de este modelo en el artículo anterior. 
     

  3. Mitigar las vulnerabilidades causadas por las amenazas: 
    hasta este punto, todas las amenazas han sido identificadas y resueltas. Si alguna amenaza sigue sin resolverse, dará lugar a una vulnerabilidad. Una vez completado el árbol de amenazas, se identifican las rutas de ataque. Si alguna ruta de ataque no se mitiga, resultará en Vulnerabilidad. Un documento de modelado de amenazas que consta de amenazas, árboles de amenazas, vulnerabilidades y mitigaciones. Este documento de amenazas se utilizará en la fase de diseño como un documento de especificación de seguridad y en la fase de prueba como base para identificar las áreas vulnerables del sistema. 
     

Publicación traducida automáticamente

Artículo escrito por rashi_garg y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *