¿Qué significa el ciclo de vida de desarrollo de seguridad de Microsoft?
El ciclo de vida de desarrollo de seguridad de Microsoft (Microsoft SDL) es un proceso de desarrollo de software basado en el modelo en espiral, que ha sido propuesto por Microsoft para ayudar a los desarrolladores a crear aplicaciones o software reduciendo al mismo tiempo los problemas de seguridad, resolviendo las vulnerabilidades de seguridad e incluso reduciendo los costes de desarrollo y mantenimiento.
El proceso se divide en siete fases: formación, requisitos, diseño, implementación, verificación, liberación y respuesta.
Definición del ciclo de vida de desarrollo de seguridad de Microsoft
La fase de formación es esencial porque la práctica se considera un requisito para la implantación del SDL. Los conceptos que se encuentran en esta fase incluyen el diseño seguro, el modelado de amenazas, la codificación segura, las pruebas de seguridad y las prácticas relativas a la privacidad.
La fase de requisitos, por su parte, incluye el establecimiento de la seguridad y la privacidad que requieren los usuarios finales. La creación de puertas/barreras de seguridad de buena calidad y la realización de evaluaciones de los riesgos para la seguridad y la privacidad forman parte de la segunda fase.
La tercera fase, el diseño, tiene en cuenta las preocupaciones en materia de seguridad y privacidad, lo que ayuda a disminuir el riesgo de repercusiones por parte del público. El análisis o la reducción de la superficie de ataque y el uso de modelos de amenazas ayudarán a aplicar un enfoque organizado para hacer frente a los escenarios de amenazas durante la fase de diseño.
La implementación del diseño debe emplear herramientas aprobadas e incluir el análisis del rendimiento dinámico en tiempo de ejecución para comprobar las limitaciones funcionales de una aplicación.
La fase de lanzamiento incluye la revisión final de todas las actividades de seguridad que ayudarán a garantizar la capacidad de seguridad del software.
Después de la fase de lanzamiento viene la fase de respuesta para aplicar el plan de respuesta a incidentes que se preparó durante la fase de lanzamiento. Esto es crucial porque protege a los usuarios finales de las vulnerabilidades del software que pueden surgir y dañar el software y/o al usuario.