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 | Mantenga un ciclo de vida de desarrollo seguro mediante una cadena de suministro de software protegida, principalmente automatizada y auditable. Incorpore un diseño seguro mediante el modelado de amenazas para proteger contra implementaciones de derrota de seguridad. |
---|
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 las 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. |
STRIDE | Taxonomía definida por Microsoft para clasificar tipos de amenazas. |
Modelado de amenazas | Un 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 fundamental 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 cargas de trabajo, que es responsable de los aspectos técnicos del sistema.
- Las partes interesadas de la empresa, 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 cargas de trabajo y las partes interesadas de la empresa deben aceptar 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 cargas 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 eficaz de amenazas. Ayuda a centrar los esfuerzos y 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 de identidad.
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 ayudarán 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 tratar.
Use el enfoque de presuponer 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? ¿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:
Formule esta pregunta | Para determinar los controles que... |
---|---|
Son las conexiones autenticadas a través de Microsoft Entra ID, 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 cuentas que necesitan escribir o modificar datos en la aplicación? | Impiden la alteración o modificación no autorizada de los datos. |
¿Se registra la actividad de la aplicación 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 contra 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 de inicio de sesión o claves 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 las 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).
Revisión periódica de los requisitos de carga de trabajo críticos para la empresa
Cumpla con regularidad 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ía 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 distintos escenarios de TI.
Roles de 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.
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.
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.
Recopilación de registros. Los registros de recursos de Azure y algunos componentes locales se pueden enviar a Azure Log Analytics para que pueda comprender el comportamiento de la solución desarrollada e intentar capturar vulnerabilidades iniciales.
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.
Microsoft Defender for Cloud puede realizar algunas recomendaciones de seguridad para mejorar la posición de seguridad.
Vínculos relacionados
Vínculos de la comunidad
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.