Análisis de amenazas para las aplicaciones
Realice un análisis exhaustivo para identificar amenazas, ataques, vulnerabilidades y contramedidas. Disponer de esta información puede proteger la aplicación frente a las amenazas que puede suponer al sistema. Comience con preguntas sencillas para obtener información sobre los posibles riesgos. Después, pase a técnicas avanzadas mediante el modelado de amenazas.
1- Recopilación de información acerca de los controles de seguridad básicos
Una herramienta de modelado de amenazas generará un informe con todas las amenazas identificadas. Este informe normalmente se carga en una herramienta de seguimiento o se convierte en elementos de trabajo que los desarrolladores pueden validar y solucionar. A medida que se agreguen nuevas características a la solución, se debe actualizar el modelo de amenazas e integrarse en el proceso de administración del código. Si se encuentra un problema de seguridad, debe haber un proceso para evaluar la gravedad del problema y determinar cuándo y cómo corregirlo (por ejemplo, en el siguiente ciclo de lanzamiento o en un lanzamiento más rápido).
Empiece por recopilar información acerca de cada componente de la aplicación. Las respuestas a estas preguntas permitirán identificar brechas en la protección básica y aclarar los vectores de ataque.
| Formule esta pregunta... | Para determinar los controles que... |
|---|---|
¿Se están autenticando conexiones mediante Azure AD, TLS (con autenticación mutua) u otro protocolo de seguridad moderno aprobado por el equipo de seguridad?
|
Impiden el acceso no autorizado a los componentes y datos de la aplicación. |
| ¿Limita el acceso solo a aquellas cuentas que tienen que 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 la Administración de eventos e información de seguridad (SIEM) mediante Azure Monitor o una solución similar? | Detecten e investiguen los ataques con rapidez. |
| ¿Están protegidos los datos críticos con cifrado aprobado por el equipo de seguridad? | Impiden copias no autorizadas de datos en reposo. |
| ¿Se cifra el tráfico de red entrante y saliente mediante TLS? | Impiden copias no autorizadas de datos en tránsito. |
| ¿Está protegida la aplicación frente a ataques por denegación de servicio distribuido (DDoS) mediante 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 las 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? | Protegen los datos privados del usuario y evitan las multas por el no cumplimiento. |
Acciones sugeridas
Asigne tareas a las personas individuales responsables de un riesgo determinado identificado durante el modelado de amenazas.
Más información
2- Evaluación progresiva del diseño de la aplicación
Analice los componentes y conexiones de la aplicación y sus relaciones. El modelado de amenazas es un ejercicio de ingeniería fundamental que incluye la definición de los requisitos de seguridad, la identificación y la mitigación de amenazas y la validación de esas mitigaciones. Esta técnica se puede utilizar en cualquier fase de desarrollo o producción de aplicaciones, pero es más eficaz durante las fases de diseño de una nueva funcionalidad.
Entre las metodologías más populares se incluyen:
- STRIDE:
- Suplantación de identidad
- Alteración
- Rechazo
- Divulgación de información
- Denegación de servicio
- Elevación de privilegios
Ciclo de vida de desarrollo de seguridad de Microsoft usa STRIDE y proporciona una herramienta para ayudar con este proceso. Esta herramienta está disponible sin costo adicional. Para más información, consulte Microsoft Threat Modeling Tool.
- Proyecto abierto de seguridad de aplicaciones web (OWASP) ha documentado un enfoque de modelado de amenazas para las aplicaciones.
Integre el modelado de amenazas mediante la automatización con operaciones seguras. Estos son algunos recursos:
- Kit de herramientas para proteger DevOps en Azure.
- Instrucciones sobre la seguridad de la canalización de DevOps de OWASP.
3- Mitigación de las amenazas identificadas
Threat Modeling Tool genera un informe de todas las amenazas identificadas. Después de identificar una amenaza potencial, determine cómo se puede detectar y responder a ese ataque. Defina un proceso y una escala de tiempo que minimicen la exposición a los puntos vulnerables identificados en la carga de trabajo, de modo que esos puntos no se puedan dejar sin corregir.
Use el enfoque de defensa en profundidad. Este 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, ¿cuál es el alcance del posible riesgo para la organización? Y también, ¿cuál es la eficacia del control adicional (especialmente en los casos en los que se produzca un error en el control principal)? En función de la evaluación, aplique medidas de defensa en profundidad para afrontar posibles errores de los controles de seguridad.
El principio de privilegios mínimos es una manera de implementar la defensa en profundidad. Limita los daños que puede realizar una sola cuenta. Conceda el número mínimo de privilegios a las cuentas que les permita cumplir con los permisos necesarios durante un período de tiempo. Esto ayuda a mitigar el daño de un atacante que accede a la cuenta y pone en peligro las garantías de 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. Esto puede crear resultados no deseados y es especialmente delicado cuando se trata de seguridad de la información. La revisión de forma rutinaria de los requisitos de carga de trabajo críticos para la empresa con patrocinadores ejecutivos a fin de definir los requisitos ofrece una oportunidad para ajustar las expectativas y garantizar la asignación de recursos operativos a la iniciativa.
¿Cómo se abordan las amenazas una vez detectadas?
Estos son algunos procedimientos recomendados:
- Asegúrese de que los resultados se comunican a los equipos interesados.
- Priorice los puntos vulnerables y corrija los más importantes en el momento oportuno.
- Cargue el informe de modelado de amenazas en una herramienta de seguimiento. Cree elementos de trabajo que los desarrolladores puedan validar y resolver. Los equipos de ciberseguridad también pueden usar el informe para determinar los vectores de ataque durante una prueba de penetración.
- A medida que se agreguen nuevas características a la aplicación, actualice el informe del modelo de amenazas e intégrelo en el proceso de administración de código. Evalúe la prioridad de los problemas de seguridad en el siguiente ciclo de versiones o en una versión más rápida según la gravedad.
Para obtener información sobre las estrategias de mitigación, consulte RapidAttack.
¿Cuánto tiempo tarda normalmente en implementar una corrección de seguridad en producción?
Si se detecta una vulnerabilidad de seguridad, actualice el software con la corrección lo antes posible. Disponga de procesos, herramientas y aprobaciones para implementar la corrección rápidamente.