Metodologías para desarrollar software seguro
La seguridad en el software ha paso de ser un requisito adicional a convertirse en una necesidad esencial dentro de los procesos de desarrollo. Ya que los ciberataques van creciendo constantemente, lo cual hace que se requiere una metodología específica que nos ayuden a integrar la seguridad desde las primeras fases del desarrollo y no solo al final del proyecto.
Metodologías principales.
Correctness by Construction.
• Desarrollada por la empresa Praxis en 2001.
• Busca producir software correcto desde el inicio, reduciendo al mínimo los defectos.
• Combina métodos formales (matemáticos) con desarrollo ágil.
• Sus principios clave son:
- Hacer difícil la introducción de errores.
- Detectar y eliminar errores tan pronto aparezcan.
• Utiliza el lenguaje SPARK, ideal para sistemas críticos (aeronáutica, medicina, energía).
• Se enfoca en requerimientos rigurosos de seguridad, diseño verificable y pruebas orientadas al sistema.
• Ha demostrado tener muy baja tasa de defectos.
Security Development Lifecycle (SDL).
• Propuesta por Microsoft en 2004.
• Consta de 16 actividades enfocadas en fortalecer la seguridad a lo largo del ciclo de vida del software.
• Incluye fases como:
- Entrenamiento: todo el equipo recibe formación en seguridad.
- Requerimientos: se identifican objetivos y riesgos de seguridad.
- Diseño: se modelan amenazas y se define una arquitectura segura.
- Implementación: codificación con estándares seguros y análisis de vulnerabilidades.
- Verificación: pruebas exhaustivas de seguridad.
- Lanzamiento: revisión final de seguridad antes de liberar el software.
- Respuesta: plan de acción ante incidentes y vulnerabilidades post-lanzamiento.
• Aplicada en productos como Windows Vista y Office 2007, redujo las vulnerabilidades en más del 50%.
Comentarios
Publicar un comentario