Desarrollo Seguro de Software: Integración de Seguridad en el Ciclo de Vida

Clase 13 de 19Curso de Estrategia de Seguridad Informática para Empresas

Resumen

¿Qué es el ciclo de vida del desarrollo de software seguro?

El ciclo de vida del desarrollo seguro es un componente esencial dentro del ámbito de la seguridad de la información. Muchas veces nos preguntamos si este ciclo puede aplicarse a la adquisición de software. Antes de responder, es importante conocer el marco de trabajo y las recomendaciones normativas vigentes, como la ISO 27002, que enfatiza la importancia del desarrollo seguro. Este concepto no solo abarca la construcción de aplicaciones seguras, sino también la codificación, la gestión de cambios y, en última instancia, la protección del negocio frente a interrupciones.

¿Qué normas influyen en el desarrollo seguro?

Las normativas internacionales como la ISO 27002 exigen el desarrollo seguro integrando medidas como:

  • Requisitos de seguridad en aplicaciones
  • Codificación segura
  • Gestión de cambios eficaz

Por otro lado, el estándar NIST 800-53B ofrece una serie de controles relacionados al desarrollo seguro de sistemas, destacando la obligación de desarrollar, adquirir y gestionar software seguro conforme a las definiciones organizativas específicas. Esto incluye pautas como el uso de datos reales en entornos de desarrollo y la separación adecuada de los distintos ambientes de trabajo.

¿Qué es un enfoque de software seguro?

Al considerar un enfoque de software seguro, miramos más allá de la simple seguridad de las aplicaciones ya creadas. Se trata de incorporar la seguridad desde el comienzo del proceso de desarrollo, diseñando con requisitos de seguridad alineados con los funcionales. Este enfoque proactivo se diferencia del tratamiento reactivo que se da cuando se implementan medidas de seguridad después de construir una aplicación.

Características claves del enfoque de software seguro:

  • Proactividad: Incorpora la seguridad desde los requisitos iniciales.
  • Causa raíz: Se enfoca en prevenir problemas en lugar de solo tratar síntomas.
  • Modelado de amenazas: Considera potenciales amenazas antes de construir el software.
  • Gestión de riesgos: Prioriza la identificación y gestión de riesgos desde el diseño.

¿Cómo diferenciar el software seguro de la seguridad en las aplicaciones?

La principal diferencia radica en el momento y enfoque en el que se aplica la seguridad:

  • Software seguro: Desde el inicio es diseñado con medidas de seguridad incorporadas, asegurando una arquitectura robusta que aborda las amenazas desde su raíz.
  • Seguridad en las aplicaciones: Implementada después de que el software ha sido desarrollado, mediante controles adicionales para proteger vulnerabilidades descubiertas.

Este enfoque implica que la seguridad no sea solo una responsabilidad del equipo especializado, sino que todos los implicados en el desarrollo deben ser partícipes de esta cultura de seguridad.

¿Cómo implementar la seguridad desde el inicio?

Para lograr un software seguro desde el inicio, es fundamental crear una cultura de seguridad dentro de la organización. Esto significa hacer de la seguridad una responsabilidad compartida por todos los desarrolladores, no solo del equipo de seguridad de TI. A través de la incorporación sistemática de prácticas seguras desde la etapa de requerimientos funcionales, reforzamos la arquitectura y la resiliencia del software. Un enfoque pragmático que propicie la maduración de estas prácticas ayudará a minimizar riesgos y maximizar la eficiencia del desarrollo seguro.