Por motivos laborales he estado estos últimos meses sumida
en investigación/aprendizaje de los ciclos de desarrollo de software seguro.
Es un tema
extremadamente interesante pero que abarca tantas ramas, que son necesarias
muchas horas de estudio para ir entendiendo todos los pasos y lo que implica
este cambio en las filosofías empresariales de desarrollo de software. No es
solo introducir nuevos hitos en el ciclo de desarrollo sino, a mi modo de ver,
es cambiar la filosofía completa de la empresa.
En algunos países nos llevan una gran ventaja en este tema,
las grandes empresas ya tienen implementados estos ciclos en un estado avanzado
de madurez. Mientras que por aquí el mercado empieza a buscar expertos en
desarrollo seguro cosa que está muy compleja de encontrar.
Estos días os traeré una serie de libros que recomiendo leer
para ir entendiendo las bases de un desarrollo de software seguro.
Para ir abriendo boca
hoy os traigo “Software Security. Building Security In” tras pasarme unas
cuantas horas entre sus páginas lo he considerado como uno de los libros precursores
(o el abuelo) de las metodologías que están surgiendo hoy. Todo un ejercicio y
compendio de teorías, ideas y buenas prácticas para poder ir adoptando un
modelo de desarrollo en las empresas.
Aquí el autor ya establece tres pilares fundamentales de la
seguridad en el software:
- Administración de riesgos (Risk Management).
- Hitos dela seguridad en el software (Software Security Touchpoints).
- Conocimiento (Knowledge).
Administración de riesgos, se compone de las siguientes
actividades fundamentales:
- Entender el contexto de negocio.
- Entender los riesgos de negocio y técnicos.
- Sintetizar y priorizar los riesgos, crear un ranking.
- Definir la estrategia de mitigación.
- Realizar las correcciones necesarias y validar que son correctas.
Por otro lado establece diferentes hitos durante el ciclo de
desarrollo:
- Revisión de código.
- Análisis de riesgos arquitecturales.
- Test de penetración.
- Test de seguridades basados en riesgos.
- Casos de abuso.
- Requerimientos de seguridad.
- Operaciones de seguridad.
Y por último el conocimiento lo divide en diferentes
entregables:
- Herramientas.
- Procesos
- Criterios de decisión
- Patrones
- Ejemplos
- Mejores prácticas
- Guías
- Métricas
- Reglas
Todo esto se puede ver de forma gráfica en el diagrama que,
a más de uno os sonará y sino, seguro que sale en varios post en adelante:
En resumen, este libro sienta las bases y te acomoda a
entender los diferentes hitos que necesita un desarrollo seguro. Se adentra en
cada uno de los pasos explicando con detalle lo que se ha de sacar de cada uno
de ellos.
Los contras que puedo decir, he echado en falta ejemplos más visuales pero la
documentación de métricas más modernas si disponen de ellos, por lo que a
nivel teórico es un libro estupendo.
La gran frase de este libro:
Software
security is not security software.
No hay comentarios:
Publicar un comentario
Esperando tu comentario...