Recomendaciones para el análisis de amenazas

Se aplica a esta recomendación de lista de comprobación de seguridad de Azure Well-Architected Framework:

SE:02 Establezca una base de referencia de seguridad que esté alineada con los requisitos de cumplimiento, los estándares del sector y las recomendaciones de la plataforma. Mida regularmente la arquitectura y las operaciones de la carga de trabajo con respecto a la línea base para mantener o mejorar la posición de seguridad con el tiempo.

Guía relacionada: Recomendaciones para proteger un ciclo de vida de desarrollo

Un análisis completo para identificar amenazas, ataques, vulnerabilidades y medidas de contador es fundamental durante la fase de diseño de una carga de trabajo. El modelado de amenazas es un ejercicio de ingeniería que incluye la definición de requisitos de seguridad, la identificación y mitigación de amenazas y la validación de esas mitigaciones. Puede usar esta técnica en cualquier fase del desarrollo o producción de aplicaciones, pero es más eficaz durante las fases de diseño de la nueva funcionalidad.

En esta guía se describen las recomendaciones para realizar el modelado de amenazas para que pueda identificar brechas de seguridad rápidamente y diseñar las defensas de seguridad.

Definiciones 

Término Definición
Ciclo de vida de desarrollo de software (SDLC) Un proceso multistage, sistemático para desarrollar sistemas de software.
PASO Taxonomía definida por Microsoft para clasificar los tipos de amenazas.
Modelado de amenazas Proceso para identificar posibles vulnerabilidades de seguridad en la aplicación y el sistema, mitigar los riesgos y validar los controles de seguridad.

Estrategias de diseño principales

El modelado de amenazas es un proceso crucial que una organización debe integrar en su SDLC. El modelado de amenazas no es únicamente una tarea del desarrollador. Es una responsabilidad compartida entre:

  • El equipo de carga de trabajo, que es responsable de los aspectos técnicos del sistema.
  • Las partes interesadas empresariales, que comprenden los resultados empresariales y tienen un interés en la seguridad.

A menudo existe una desconexión entre la dirección de la organización y los equipos técnicos con respecto a los requisitos empresariales para las cargas de trabajo críticas. Esta desconexión puede provocar resultados no deseados, especialmente para las inversiones en seguridad.

Cuando el equipo de cargas de trabajo realiza un ejercicio de modelado de amenazas, debe tener en cuenta los requisitos empresariales y técnicos. El equipo de carga de trabajo y las partes interesadas empresariales deben acordar las necesidades específicas de seguridad de la carga de trabajo para que puedan realizar inversiones adecuadas en las contramedidas.

Los requisitos de seguridad sirven como guía para todo el proceso de modelado de amenazas. Para que sea un ejercicio eficaz, el equipo de carga de trabajo debe tener una mentalidad de seguridad y entrenarse en las herramientas de modelado de amenazas.

Descripción del ámbito del ejercicio

Una comprensión clara del ámbito es fundamental para el modelado de amenazas eficaz. Ayuda a centrar los esfuerzos y los recursos en las áreas más críticas. Esta estrategia implica definir los límites del sistema, realizar un inventario de los activos que deben protegerse y comprender el nivel de inversión necesario en los controles de seguridad.

Recopilación de información sobre cada componente

Un diagrama de arquitectura de carga de trabajo es un punto de partida para recopilar información porque proporciona una representación visual del sistema. En el diagrama se resaltan las dimensiones técnicas del sistema. Por ejemplo, muestra los flujos de usuario, cómo se mueven los datos a través de la red, los niveles de confidencialidad de los datos y los tipos de información, y las rutas de acceso a identidades.

Este análisis detallado a menudo puede proporcionar información sobre posibles vulnerabilidades en el diseño. Es importante comprender la funcionalidad de cada componente y sus dependencias.

Evaluación de las posibles amenazas

Analice cada componente desde una perspectiva externa. Por ejemplo, ¿con qué facilidad puede un atacante obtener acceso a datos confidenciales? Si los atacantes obtienen acceso al entorno, ¿pueden moverse lateralmente y potencialmente acceder o incluso manipular otros recursos? Estas preguntas le ayudan a comprender cómo un atacante podría aprovechar los recursos de carga de trabajo.

Clasificación de las amenazas mediante una metodología del sector

Una metodología para clasificar amenazas es STRIDE, que usa el ciclo de vida de desarrollo de seguridad de Microsoft. La clasificación de amenazas le ayuda a comprender la naturaleza de cada amenaza y a usar los controles de seguridad adecuados.

Mitigación de las amenazas

Documente todas las amenazas identificadas. Para cada amenaza, defina los controles de seguridad y la respuesta a un ataque si se produce un error en esos controles. Defina un proceso y una escala de tiempo que minimicen la exposición a las vulnerabilidades identificadas en la carga de trabajo, de modo que esas vulnerabilidades no se puedan dejar sin abordar.

Use el enfoque de asumir vulneración . Puede ayudar a identificar los controles necesarios en el diseño para mitigar el riesgo si se produce un error en un control de seguridad principal. Evalúe la probabilidad de que se produzca un error en el control principal. Si se produce un error, ¿cuál es la extensión del riesgo potencial de la organización? Además, ¿cuál es la eficacia del control de compensación? En función de la evaluación, aplique medidas de defensa en profundidad para abordar posibles errores de los controles de seguridad.

Este es un ejemplo:

Formulación de esta pregunta Para determinar los controles que...
Las conexiones se autentican a través de Microsoft Entra identificador, seguridad de la capa de transporte (TLS) con autenticación mutua u otro protocolo de seguridad moderno que el equipo de seguridad aprobó:

- ¿Entre los usuarios y la aplicación?

- ¿Entre los componentes de la aplicación y los servicios?
Impedir el acceso no autorizado a los componentes y datos de la aplicación.
¿Limita el acceso solo a las cuentas que necesitan escribir o modificar datos en la aplicación? Impiden la alteración o modificación no autorizada de los datos.
¿La actividad de la aplicación se registra y se introduce en un sistema de administración de eventos e información de seguridad (SIEM) a través de Azure Monitor o una solución similar? Detecten e investiguen los ataques con rapidez.
¿Los datos críticos están protegidos con el cifrado aprobado por el equipo de seguridad? Impiden copias no autorizadas de datos en reposo.
¿El tráfico de red entrante y saliente se cifra mediante TLS? Impiden copias no autorizadas de datos en tránsito.
¿La aplicación está protegida frente a ataques de denegación de servicio distribuido (DDoS) a través de servicios como Azure DDoS Protection? Detectan ataques diseñados para sobrecargar la aplicación a fin de que no se pueda usar.
¿Almacena la aplicación credenciales o claves de inicio de sesión para acceder a otras aplicaciones, bases de datos o servicios? Identifiquen si un ataque puede usar la aplicación para atacar a otros sistemas.
¿Los controles de aplicación permiten cumplir los requisitos normativos? Proteja los datos privados de los usuarios y evite multas de cumplimiento.

Seguimiento de los resultados del modelado de amenazas

Se recomienda encarecidamente usar una herramienta de modelado de amenazas. Las herramientas pueden automatizar el proceso de identificación de amenazas y generar un informe completo de todas las amenazas identificadas. Asegúrese de comunicar los resultados a todos los equipos interesados.

Realice un seguimiento de los resultados como parte del trabajo pendiente del equipo de carga de trabajo para permitir la responsabilidad de forma oportuna. Asigne tareas a las personas responsables de mitigar un riesgo determinado de que se identifique el modelado de amenazas.

A medida que agrega nuevas características a la solución, actualice el modelo de amenazas e intégrelo en el proceso de administración de código. Si encuentra un problema de seguridad, asegúrese de que hay un proceso para evaluar el problema en función de la gravedad. El proceso debe ayudarle a determinar cuándo y cómo corregir el problema (por ejemplo, en el siguiente ciclo de versión o en una versión más rápida).

Revise periódicamente los requisitos de carga de trabajo críticos para la empresa.

Cumpla regularmente con los patrocinadores ejecutivos para definir los requisitos. Estas revisiones proporcionan una oportunidad para alinear las expectativas y garantizar la asignación de recursos operativos a la iniciativa.

Facilitación de Azure

El ciclo de vida de desarrollo de seguridad de Microsoft proporciona una herramienta de modelado de amenazas para ayudar con el proceso de modelado de amenazas. Esta herramienta está disponible sin costo adicional. Para obtener más información, consulte la página Modelado de amenazas.

Ejemplo

Este ejemplo se basa en el entorno de tecnologías de la información (TI) establecido en la línea base de seguridad (SE:01). Este enfoque proporciona una amplia comprensión del panorama de amenazas en diferentes escenarios de TI.

Diagrama que muestra un ejemplo de la línea de base de seguridad de una organización con el panorama de amenazas.

  1. Roles del ciclo de vida de desarrollo. Hay muchos roles implicados en un ciclo de vida de desarrollo, incluidos desarrolladores, evaluadores, usuarios finales y administradores. Todos ellos pueden estar en peligro y poner en riesgo su entorno a través de vulnerabilidades o amenazas creadas intencionadamente.

  2. Posibles atacantes. Los atacantes consideran una amplia gama de herramientas disponibles fácilmente para usarse en cualquier momento para explorar sus vulnerabilidades e iniciar un ataque.

  3. Controles de seguridad. Como parte del análisis de amenazas, identifique los servicios de seguridad de Azure que se usarán para proteger la solución y la eficacia de esas soluciones.

  4. Recopilación de registros. Los registros de los recursos de Azure y algunos componentes locales se pueden enviar a Azure Log Analytics para que comprenda el comportamiento de la solución desarrollada e intente capturar vulnerabilidades iniciales.

  5. Solución de administración de eventos de información de seguridad (SIEM). Microsoft Sentinel se puede agregar incluso en una fase temprana de la solución para que pueda crear algunas consultas de análisis para mitigar amenazas y vulnerabilidades, anticipando el entorno de seguridad cuando esté en producción.

  6. Microsoft Defender for Cloud puede realizar algunas recomendaciones de seguridad para mejorar la posición de seguridad.

Proyecto abierto de seguridad de aplicaciones web (OWASP) ha documentado un enfoque de modelado de amenazas para las aplicaciones.

Lista de comprobación de seguridad

Consulte el conjunto completo de recomendaciones.