Introducción al desarrollo y la operación de seguridad de Microsoft Online Services
El ciclo de vida de desarrollo de seguridad (SDL) de Microsoft es un proceso de garantía de seguridad centrado en el desarrollo y el funcionamiento de software seguro. El SDL proporciona requisitos de seguridad detallados y medibles para que los desarrolladores e ingenieros de Microsoft reduzcan el número y la gravedad de las vulnerabilidades en nuestros productos y servicios. Todos los servicios en línea de Microsoft deben cumplir los requisitos de SDL y actualizamos continuamente el SDL para reflejar el panorama cambiante de amenazas, los procedimientos recomendados del sector y los estándares normativos para el cumplimiento.
Fases del SDL de Microsoft
Microsoft ha integrado las prácticas de SDL en el modelo de DevOps para garantizar que la seguridad y la privacidad siguen siendo un enfoque fundamental de nuestros productos y servicios. Para proteger a los clientes y los datos de Microsoft Online Services, todo el desarrollo en Microsoft tiene lugar en entornos de desarrollo completamente separados de los entornos de producción sin acceso a los inquilinos del cliente. Además, el acceso a los entornos de producción se limita a los ingenieros que operan los servicios, y estos entornos se separan de la red corporativa de Microsoft.
El proceso de SDL en Microsoft se puede considerar en términos de cinco fases de desarrollo:
- Requisitos: se definen los requisitos de seguridad, privacidad y funcionalidad, que sirven como base sobre la que está diseñado el servicio.
- Diseño: la arquitectura del servicio está diseñada para cumplir los requisitos definidos y se crean modelos de amenazas para ayudar a identificar, clasificar y evaluar posibles amenazas.
- Implementación: el código se escribe siguiendo las especificaciones de diseño definidas mediante herramientas de desarrollo seguras aprobadas.
- Verificación: el código de servicio se revisa de forma automática y manual para asegurarse de que cumple los requisitos definidos y está libre de errores de codificación y errores de seguridad.
- Versión: la compilación aprobada se implementa gradualmente mediante un proceso de implementación seguro, empezando por entornos de prueba internos y terminando con el ámbito de producción completo.
Además de las cinco fases de desarrollo principales descritas anteriormente, hay dos actividades de seguridad relacionadas que admiten el SDL. El personal de Microsoft que desarrolla nuestros productos y servicios debe completar una formación orientada a la seguridad para comprender el SDL y cultivar una mentalidad defensiva. Después del lanzamiento, los nuevos servicios de producción se supervisan a través de los procesos de administración de vulnerabilidades y supervisión de seguridad de Microsoft para garantizar que se mantiene su posición de seguridad y que Microsoft puede responder a posibles amenazas a lo largo de su ciclo de vida.
En las unidades siguientes, exploraremos cómo Microsoft implementa los requisitos del SDL mediante:
- Requerir aprendizaje para el reconocimiento de la seguridad y las prácticas de desarrollo seguro.
- Definir los requisitos de seguridad y privacidad, mantener modelos de amenazas actualizados y requerir una revisión manual del código.
- Ejecutar herramientas del SDL automáticamente para detectar problemas de seguridad en el código como parte del proceso de compilación.
- Aplicación y prueba de los requisitos de seguridad operativos para mantener los procedimientos recomendados de seguridad.
- Realizar revisiones de seguridad y privacidad antes del lanzamiento.
- Uso de la gobernanza de componentes (CG) para administrar el software de código abierto.