DevSecOps, el enfoque para desarrollos más ágiles
La aparición de nuevas tecnologías y formas de trabajo propicia, irremediablemente, la creación de nuevos perfiles profesionales. Así, si la aparición de contenedores de software está directamente relacionada con la metodología DevOps, al añadirle el componente de seguridad obtenemos la del DevSecOps.
DevSecOps, ¿qué es?
No hace falta ir muy atrás para comprobar que las figuras del desarrollador, administrador de sistemas y experto en seguridad tenían tareas muy diferenciadas y que cada uno de estos perfiles entraba en escena en una fase concreta del ciclo de desarrollo de un proyecto. Aunque esto se consideraba algo normal, lo cierto es que cuanta más interacción haya entre estos perfiles profesionales mejor será el resultado, es decir, el proyecto.
Siguiendo el ciclo habitual de desarrollo, sistemas y, finalmente, seguridad es posible que al llegar a la última fase haya partes del desarrollo que no cumplan con las mejores prácticas en materia de seguridad. Esto obligaría a volver a iniciar el proceso hasta que todo cumpliera con los requisitos necesarios. Integrando DeSecOps, o SecDevOps para algunos, las fases de un proyecto avanzan en paralelo; de forma que el desarrollo cumpla en todo momento con los requisitos necesarios de sistemas y seguridad. En caso de que se produjera algún cambio en cuanto a seguridad, por ejemplo, estos se aplicarían al momento al desarrollo del proyecto.
Con DevSecOps la seguridad pasa a ser un factor más durante el proceso de desarrollo, un componente más en las iniciativas DevOps. Una seguridad preventiva que permite anticipar los posibles problemas de seguridad antes de que el proyecto eche a andar; evitando así consecuencias más graves que puedan derivar en exposición de los datos, por ejemplo.
¿Qué ventajas aporta esta metodología?
A la hora de realizar cualquier proyecto es tan importante que no se demore en el tiempo como las tecnologías utilizadas en el mismo. De esta forma, el planteamiento DevSecOps no solo permite anticiparse a los problemas, sino que apenas interfiere en la duración del proceso de desarrollo.
Además, la filosofía DevSecOps hace que todos los miembros del equipo, independientemente de que la seguridad no sea su especialidad, sean conscientes de la necesidad de aplicar las mejores prácticas en esta materia. Todo ello contribuirá a aportar valor añadido a los proyectos ejecutados; ya que no solo se busca que sean funcionales y fáciles de usar, sino que se tiene en cuenta la seguridad como un elemento más del proceso de desarrollo para crear código seguro. Esto permitirá detectar las vulnerabilidades más rápido y mejora la capacidad de respuesta y parcheado ante cualquier amenaza de seguridad.
¿Por qué apostar por DevSecOps?
Principalmente, porque este enfoque descentraliza la seguridad, convirtiéndola en un elemento más del flujo de trabajo; en lugar de algo exclusivo del departamento de seguridad. De esta forma no solamente se desarrollan proyectos más seguros, sino que mediante la metodología DevSecOps la seguridad termina por ser un elemento más de la cultura de la empresa. Algo que según la última encuesta de GitLab parece que va por buen camino: un 28% afirman ser parte de un equipo enfocado en la seguridad de las aplicaciones que desarrollan, aunque un 45% de los desarrolladores aún considera que las pruebas de seguridad se llevan a cabo en una fase demasiado tardía del ciclo de vida.
Cambiar la idea de arreglar el código roto por crearlo directamente pensando en la seguridad es la mejor manera de crear desarrollos verdaderamente ágiles. Porque para desarrollar aplicaciones ágiles, primero deberemos empezar por hacer de la agilidad nuestra manera de trabajo. Y es evidente que ‘rehacer’ una aplicación cada vez que se detecta un fallo de seguridad no es el modo más ágil de trabajar.