Hay términos que están ganando rápidamente popularidad en la comunidad informática. Una de ellos es, sin duda, DevSecOps. Sin embargo, como todas las pequeñas “revoluciones” en este mundo, la lógica de los procesos de desarrollo basados en la integración del análisis de la ciberseguridad requiere un periodo de “digestión” antes de ser asumida como un proceso indispensable. Comprender su lógica es el primer paso para asimilar sus características.
El significado de DevSecOps
El sentido de la definición de DevSecOps radica en la integración de la seguridad de las aplicaciones y de la infraestructura, desde el principio del ciclo de desarrollo e incluso en la automatización de las actividades de control de la seguridad en sí mismas, con el objetivo de facilitar el flujo de trabajo de DevOps.
La seguridad como valor
El término DevSecOps es una evolución del DevOps original, es decir, la fusión de desarrollo y operaciones. El neologismo indica la necesidad de unificar el proceso de desarrollo y de operaciones para garantizar la máxima eficacia y el mejor resultado. En el nuevo significado, en la práctica, se añade “Sec” (seguridad) al proceso.
La razón es doble: si, por un lado, la seguridad de las aplicaciones se considera ahora un valor intrínseco, por otro, la asimilación del tema de la seguridad dentro del proceso permite agilizar los tiempos de verificación, a nivel de ciberseguridad, ya que su ausencia en el proceso principal puede provocar un verdadero “ping pong” entre desarrolladores y analistas que se traduce en un retraso de los procesos y una fragmentación de la actividad que, además, tiene efectos muy negativos en la calidad de las aplicaciones.
La colaboración como proceso
Uno de los ejes de la lógica de DevSecOps es la colaboración entre quienes gestionan los distintos aspectos en el proceso de desarrollo. Cada paso, desde la fase de diseño y planificación, implica a los tres componentes.
Esta filosofía es especialmente importante en el desarrollo de aplicaciones basadas en la nube, donde los elementos de seguridad, como las funcionalidades de recuperación de desastres, deben cumplir los requisitos de compatibilidad y permitir su implementación dentro de la arquitectura en la que se encuentran.
No solo eso, en la lógica de la nube, donde la flexibilidad de la virtualización se combina con el uso de sistemas modulares basados en contenedores, un enfoque tradicional que verifique la seguridad a posteriori es totalmente inadecuado. La lógica de la “seguridad por diseño”, inherente a DevSecOps, es el único enfoque que puede garantizar un nivel de control adecuado.
La automatización como herramienta
Entre los factores que permiten gestionar el desarrollo desde una perspectiva DevSecOps se encuentran las herramientas de automatización basadas en la inteligencia artificial (IA) que se utilizan para las operaciones de análisis de seguridad.
En la jerga, se habla de AST (Application Security Testing) en una serie de variantes que evalúan el nivel de seguridad estática, dinámica y de interacción, incluso en diferentes plataformas como la móvil.
La adopción de sistemas de análisis automatizados ofrece dos ventajas: la primera es la de una mayor velocidad de las operaciones, haciendo que el proceso de desarrollo y la verificación de la seguridad en cada paso sean más fluidos y eficaces. La segunda se refiere a la fiabilidad del propio análisis, que evita (o al menos mitiga) los errores humanos.
La integración como perspectiva
La eficacia de las DevSecOps también se desarrolla con vistas al futuro. Una vez definidos un proceso y una metodología, las aplicaciones desarrolladas tendrán de hecho características homogéneas. Una ventaja que se traduce en más eficacia de las aplicaciones, pero también (y sobre todo) de la seguridad.
Desde la perspectiva de la ciberseguridad orientada a la detección y la respuesta, de hecho, uno de los requisitos más importantes es lograr un nivel absoluto de transparencia y la posibilidad de supervisar constantemente las actividades dentro de la red.
La inclusión de estas características ya en el nivel de desarrollo supone, en la práctica, una reducción drástica de los niveles de complejidad (y de los costos) para la implementación de las herramientas de control.
En resumen: con DevSecOps, no solo se consiguen procesos de desarrollo más eficientes, sino una mejora general del nivel de seguridad del ecosistema corporativo.