Metodologías para desarrollar software seguro

 la evolución de las metodologías de desarrollo de software desde enfoques tradicionales, como "code and fix" y el Proceso Unificado (RUP), hacia métodos más formales que priorizan la planificación detallada, documentación y requisitos. Se destaca que las metodologías tradicionales se centran en mejorar la calidad y cumplir con la funcionalidad, pero no necesariamente en la seguridad. Se enfatiza la importancia actual de no solo ofrecer calidad, sino también garantizar la seguridad del software. Se mencionan enfoques más recientes, como Correctness by Construction (CbyC) y Security Development Lifecycle (SDL), que incorporan actividades específicas para mejorar la seguridad del software.

  • Correctness by Construction (CbyC): Es un método efectivo que busca desarrollar software con un nivel crítico de seguridad y demostrabilidad. Utiliza métodos formales combinados con enfoques ágiles, incorporando notaciones precisas y desarrollo incremental. Las fases incluyen Requerimientos, Diseño de Alto Nivel, Especificación del Software, Diseño Detallado, Especificación de los Módulos, Codificación, Especificaciones de las Pruebas, y Construcción del Software. CbyC se centra en minimizar defectos y ser resistente a cambios.
  • Security Development Lifecycle (SDL): Propuesto por Microsoft, el SDL tiene como objetivo mejorar la seguridad del software. Ofrece dos versiones: una rígida y otra orientada al desarrollo ágil. Las fases abarcan Entrenamiento, Requerimientos, Diseño, Implementación, Verificación, Lanzamiento y Respuesta. SDL se destaca por actividades como el modelado de amenazas, revisión exhaustiva del código, y pruebas específicas. Microsoft ha aplicado SDL con éxito en productos como Windows Vista y Office 2007, reduciendo significativamente las vulnerabilidades.

Comentarios

Entradas populares de este blog

Aplicación para la capa de Transporte