Análisis de modelo de amenazas

El análisis de modelo de amenazas (TMA) es un análisis que ayuda a determinar los riesgos de seguridad que pueden acaecer en un producto, aplicación, red o entorno, así como la forma en la que se aparecen los ataques. El objetivo consiste en determinar cuáles son las amenazas que requieren mitigación y los modos de hacerlo.

Esta sección proporciona información de alto nivel acerca del proceso TMA. Para obtener más información, vea el capítulo 4 de Escritura de código seguro, segunda edición, de Michael Howard y David LeBlanc.

Algunas de las ventajas de un TMA son:

  • Facilita la comprensión de la aplicación.

  • Ayuda a detectar errores

  • Puede ayudar a los miembros del nuevo equipo a entender la aplicación con mayor profundidad.

  • Contiene información importante para otros equipos que trabajan en su aplicación.

  • Resulta de utilidad para los evaluadores.

    Los pasos de nivel alto para llevar a cabo un TMA son los siguientes:

  • Paso 1. Recopilar información en segundo plano

  • Paso 2. Creación y análisis del modelo de amenazas

  • Paso 3. Revisar amenazas

  • Paso 4. Identificar técnicas y tecnologías de mitigación

  • Paso 5. Consideraciones sobre el modelo de seguridad y la implementación de documentos

  • Paso 6. Implementación y prueba de mitigaciones

  • Paso 7. Mantener el modelo de amenazas sincronizado con el diseño

Paso 1. Recopilar información en segundo plano

Para preparar un TMA correcto, debe recopilar información básica. Resulta de utilidad analizar el entorno de destino (una aplicación, un programa o la infraestructura completa) de la manera siguiente:

  • Identificar escenarios de casos de uso. En cada escenario de caso de uso de su entorno de destino, identifique cómo espera que su empresa utilice el entorno de destino, así como las limitaciones y restricciones del entorno de destino. Esta información ayuda a definir el ámbito de discusión del modelo de amenazas, y proporciona los indicadores a los activos (cualquier elemento de valor de la empresa, como, por ejemplo, la información y los equipos) y los puntos de entrada.

  • Crear un diagrama de flujo de datos (DFD) para cada escenario. Asegúrese de que profundiza lo suficiente para entender las amenazas.

  • Determinar los límites y el ámbito del entorno de destino.

  • Comprender los límites entre los componentes que son de confianza y los que no lo son.

  • Comprender el modelo de administración y configuración de cada componente.

  • Crear una lista de dependencias externas.

  • Crear una lista de supuestos acerca de los componentes de los que depende cada componente. Esto ayuda a validar los elementos de seguimiento, los elementos de acción y los supuestos derivados de varios componentes con otros equipos.

Paso 2. Creación y análisis del modelo de amenazas

Después de recopilar la información básica, debe concertar una o varias reuniones sobre el modelo de amenazas. Asegúrese de que a dicha reunión asiste, al menos, un miembro de cada disciplina de desarrollo, como, por ejemplo, los administradores de programa, programadores y evaluadores. Procure también recordar a los asistentes que el objetivo de la reunión se encuentra en detectar amenazas, no en solucionarlas. Durante la reunión sobre el modelo de amenazas, lleve a cabo las siguientes acciones:

  • Examine el DFD en cada caso de uso. En cada uno de estos casos, identifique los elementos siguientes:

    • Puntos de entrada

    • Límites de confianza

    • Flujo de datos desde el punto de entrada hasta su última ubicación (y al contrario)

  • Anote los activos implicados.

  • Analice cada DFD y busque amenazas en las siguientes categorías para todas las entradas del DFD: Spoofing identify, Tampering with data, Repudiation, Information disclosure, Denial of service y Elevation of privileges.

  • Cree una lista de amenazas identificadas. Se recomienda que esta lista incluya lo siguiente: título, breve descripción (incluidos árboles de amenazas), recurso (recurso), impactos, técnicas de mitigación, estado de mitigación y un número de error.

    Nota

    Puede agregar las categorías de riesgo, técnicas de mitigación y estado de mitigación al revisar las amenazas. No invierta demasiado tiempo en estas áreas durante la reunión sobre el modelo de amenazas.

Paso 3. Revisar amenazas

Una vez identificadas las amenazas del entorno, debe valorar el riesgo de cada una de ellas y determinar cómo va a actuar ante ellas. Para ello puede convocar nuevas reuniones o utilizar el correo electrónico. Puede usar las siguientes categorías de efectos para calcular la exposición al riesgo: Damage potential, Reproducibility, Exploability, Affected users, and Discoverability.

Cuando disponga de una lista de las amenazas que ponen en peligro su entorno de destino en función del riesgo, debe determinar cómo actuará ante cada una. Su respuesta puede ser no hacer nada (aunque ésta no suele ser una buena opción), advertir a los usuarios del posible problema o eliminar el problema o solucionarlo.

Paso 4. Identificar técnicas y tecnologías de mitigación

Después de identificar las amenazas que se van a solucionar, debe determinar las técnicas de mitigación disponibles para cada amenaza, así como la tecnología más adecuada para reducir su efecto.

Por ejemplo, en función de los detalles del entorno de destino, es posible reducir el efecto de las amenazas de alteración de datos con técnicas de autorización. A continuación, debe determinar la tecnología de autorización más adecuada, como, por ejemplo, las listas de control de acceso discrecional (DACL), los permisos o las restricciones IP.

Importante

Al evaluar las tecnologías y técnicas de mitigación que se van a utilizar, debe tener en cuenta los fundamentos de la empresa y aquellas directivas propias que pueden afectar la elección de técnicas de mitigación determinadas.

Una vez que ha completado el TMA, realice las siguientes opciones:

  • Documentar el modelo de seguridad y las consideraciones de implementación

  • Implementar y probar las mitigaciones

  • Mantener el modelo de amenazas sincronizado con el diseño

Paso 5. Consideraciones sobre el modelo de seguridad y la implementación de documentos

Resulta de gran valor documentar todo aquello que se descubre durante el TMA y la forma en que se decide reducir el efecto de las amenazas de su entorno de destino. Esta documentación puede ser de gran ayuda en los controles de calidad (QA), pruebas y soportes, así como para el personal de operaciones. Incluya información sobre las aplicaciones que interactúan o funcionan con el entorno de destino, así como los requisitos y recomendaciones de topologías y servidores de seguridad.

Paso 6. Implementación y prueba de mitigaciones

Cuando el equipo está preparado para solucionar las amenazas que se han identificado durante el TMA, asegúrese de que utiliza listas de comprobación de implementación y desarrollo. Gracias a ellas podrá seguir las normativas de implementación y código seguro que le ayudarán a minimizar la entrada de nuevas amenazas.

Tras implementar una mitigación, pruébela para asegurarse de que proporciona el nivel de protección adecuado para la amenaza.

Paso 7. Mantener el modelo de amenazas sincronizado con el diseño

A medida que agrega aplicaciones nuevas, servidores y otros elementos a su entorno, asegúrese de que revisa los hallazgos del análisis de modelo de amenazas y de que realiza otros análisis para obtener nuevas funciones.

Consulte también

Casos prácticos de seguridad para pequeñas y medianas empresas
Escenarios de ejemplo para el análisis del modelo de amenazas