jueves, 15 de enero de 2015

Libros sobre ciclos de desarrollo seguro. Parte 1



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...