DevSecOps

DevSecOps, la evolución de la seguridad en los proyectos

Anteriormente, hablábamos de cómo la cultura DevOps se consolidó para revolucionar los departamentos de desarrollo y operaciones. Esto hizo que ambos fueran de la mano y aprendieran juntos para mejorar los procesos de negocio. Pues bien, hay un tercer integrante que, hoy en día, es indispensable en esta ecuación: la seguridad de la TI. Esto se conoce como DevSecOps (abreviatura de desarrollo, seguridad y operaciones).

En el pasado, la seguridad jugaba un papel aislado y secundario. No era hasta el final de la etapa del desarrollo de un producto o servicio cuando ésta se implementaba. Con la evolución de la metodología DevOps (donde los ciclos de desarrollo se comenzaron a volver más ágiles) se empezó a valorar la incorporación prematura de la seguridad. Se observó que, muchas veces, al implementarla al final, había errores que formaban cuellos de botella e, incluso, revertían la eficiencia de las iniciativas DevOps.

Por tanto, en la actualidad, muchas empresas saben que, para un óptimo funcionamiento, tanto el departamento de desarrollo como el de sistemas, deben colaborar, también, con el de seguridad.

¿Qué es DevSecOps?

“DevSecOps es la filosofía de trabajo que automatiza la integración de la seguridad en cada fase del ciclo de vida del desarrollo de software, desde el diseño inicial hasta la integración, las pruebas, la implementación y la entrega de software. Representa una evolución natural y necesaria en la forma en que las organizaciones de desarrollo abordan la seguridad.”

IBM

¿Cuál es la diferencia con DevOps?

La principal diferencia, como es lógico, es la inclusión de la seguridad desde la primera fase de todo el proceso DevOps. Es decir, todas las fases de planificación, programación, pruebas, empaquetamiento, etc., llevan implícitas un proceso de revisión o aplicación de seguridad. De esta forma, los programadores estarán en contacto con los equipos de seguridad y operaciones para trabajar juntos y conseguir un código y aplicación más segura.

¿Por qué es tan importante?

Si desde la primera fase de planificación (en este caso el modelado de amenazas) comenzamos a aplicar la seguridad, lo que hacemos es evitar y controlar la aparición de problemas de seguridad en el código de nuestra aplicación desde el mismo instante de su creación. En definitiva, la estamos programando y desplegando de forma segura.

Además, el trabajo conjunto de estas tres áreas desde el primer minuto evita posteriores problemas de comunicación o despliegue, que pueden afectar a plazos de entrega o fallos de funcionamiento.

Beneficios del DevSecOps

  • Entrega de software de manera rápida y rentable.
  • Seguridad proactiva mejorada (mayor velocidad y agilidad en la aplicación de la seguridad).
  • Temprana identificación de vulnerabilidades en el código.
  • Parcheo acelerado de vulnerabilidades de seguridad.
  • Mayor y mejor colaboración y comunicación entre equipos.
  • Habilidad para responder a los cambios y requisitos en menor tiempo.
  • Automatización compatible con el desarrollo moderno.
  • Un proceso repetible y adaptativo.
  • Concienciación y aprendizaje sobre la seguridad entre los miembros de los equipos.
  • Los de seguridad se ven liberados y pueden dedicarse a tareas que aporten mayor valor de negocio.

Introducción al enfoque

La filosofía DevSecOps ayuda a las empresas a abordar las amenazas de seguridad de manera más eficaz y en tiempo real. Es importante recalcar que hemos de ver a los equipos de seguridad como un activo valioso que ayuda a prevenir ralentizaciones, y no como un obstáculo para la agilidad.

A modo de aproximación, conozcamos seis componentes importantes de un enfoque para la aplicación de DevSecOps:

  1. Análisis de código: entrega el código en pequeños fragmentos para que las vulnerabilidades se puedan identificar rápidamente.
  2. Gestión de cambios: aumenta la velocidad y la eficiencia. Permite que cualquier persona envíe cambios y luego determine si el cambio es bueno o malo.
  3. Monitoreo de cumplimiento: estate listo para una auditoría en cualquier momento. Lo que significa estar en un estado constante de cumplimiento, incluida la recopilación de pruebas del cumplimiento de GDPR, etc.
  4. Investigación de amenazas: identifica las posibles amenazas emergentes con cada actualización de código y sé capaz de responder rápidamente.
  5. Evaluación de vulnerabilidades: localiza nuevas vulnerabilidades con análisis de código y luego analice la rapidez con la que se responden y se reparan.
  6. Capacitación en seguridad: capacita a personal de software y de TI con pautas para rutinas establecidas.

Conclusión

Es esencial que todas las compañías que tengan (o vayan a tener) departamentos de desarrollo, apliquen la seguridad desde el instante en que se comienza un proyecto. Este enfoque es tan importante, que Gartner ha compartido una serie de recomendaciones para afrontar con éxito el DevSecOps. Entre ellas:

  • Adaptar herramientas y procesos a los desarrolladores, y no al revés.
  • No hay que intentar eliminar todas las vulnerabilidades durante el ciclo de desarrollo.
  • Identificar y eliminar primero las vulnerabilidades de código abierto conocidas.
  • Capacitar a los desarrolladores, pero sin esperar que se conviertan en expertos en seguridad.
  • Adoptar un modelo de “Security Champions” (un grupo de especialistas de seguridad distribuidos por el resto de departamentos) e implementar una herramienta sencilla para la recogida de requisitos de seguridad.

_________________

¿Necesitas integrar la seguridad en tus procesos de desarrollo y operaciones? Ponte en contacto con nosotros para más información.

© Correcta - Todos los derechos reservados.