integración devops innovacion

Aquellas organizaciones que buscan alcanzar un mayor ritmo de innovación han de ir más allá de los recursos tradicionales, que limitan la colaboración interdepartamental y la automatización; coordinar sus procesos de seguridad y DevOps brinda una ocasión excepcional para potenciarla.

Los procesos que detectan y resuelven las vulnerabilidades de seguridad deben ir de la mano de los ágiles procesos DevOps que crean y producen el software. Contar con un proceso de seguridad de aplicaciones que funcione correctamente en un entorno DevOps resulta complicado si ambos procesos y recursos no están coordinados.

Las funciones DevOps se han centrado sobre todo en la automatización para generar flujos de trabajo continuos que mejoren la unidad de innovación de las empresas o la dinámica de las productoras de software. Como consecuencia de ello, son muchas las start-ups y proveedores consolidados que han sacado nuevos productos para dar respuesta a esta necesidad. El problema es que estas nuevas herramientas se centran en segmentos concretos del flujo de trabajo, como el registro de incidencias, el seguimiento o la integración continua. Por su parte, esta fragmentación requiere a su vez una gran cantidad de API e interfaces que conecten los diversos segmentos en una cadena de herramientas DevOps que sirva al ciclo vital de desarrollo de software (SDLC) de extremo a extremo.

Integración DevOps

La integración de estas nuevas herramientas de seguridad en una cadena de herramientas DevOps, ya compleja en sí misma, conlleva una maraña de interfaces de usuario y núcleos de flujo de trabajo, además de la desconexión de los datos. Por otro lado, el planteamiento comercial de las empresas de seguridad ha exagerado la cuestión de la complejidad y muchas han creado su cartera mediante adquisiciones y siguen vendiendo estas nuevas tecnologías de manera individual o como productos de panel. El resultado es una cantidad ingente de productos de seguridad distintos que todavía no ha alcanzado su potencial para mejorar la eficacia de los programas de seguridad DevOps.

La integración de estas nuevas herramientas de seguridad en una cadena de herramientas DevOps conlleva una maraña de interfaces de usuario y núcleos de flujo de trabajo

Los clientes que están sometidos a una gran presión para ofrecer innovación a mayor velocidad precisan una alternativa práctica a la gestión de una web de seguridad y herramientas DevOps. Sin embargo, ¿está la disciplina de seguridad en condiciones de adoptar de manera realista un enfoque iterativo similar al proceso de desarrollo?

Esta alineación exige la realización de pruebas de seguridad de aplicaciones, bautizadas como DevSecOps, que se pueden incorporar al proceso de trabajo de los desarrolladores y en la integración continua. Con este planteamiento, los análisis de seguridad se automatizan con cada remisión de código, lo que permite evaluar todos y cada uno de los cambios en el código para comprobar que no presenten vulnerabilidades. Se evalúa cada cambio individualmente y se ofrecen los resultados al desarrollador dentro de los flujos de trabajo existentes, en lugar de esperar a una prueba de seguridad conjunta al final. Esto permite a los desarrolladores ver los efectos de sus modificaciones sin verse obstaculizados por las vulnerabilidades introducidas por otros colegas.

Este análisis de seguridad, claro e iterativo, propicia además un mejor uso de los recursos de equipo. El desarrollador puede resolver rápidamente muchas vulnerabilidades, mientras que el equipo de seguridad puede centrarse en las excepciones que no tienen una solución sencilla. Es posible que los profesionales de seguridad para aplicaciones no vean nunca muchas vulnerabilidades, o que tengan que dar prioridad a unas sobre otras porque es el desarrollador el encargado de detectarlas y resolverlas.

Al descomponer los «núcleos» de recursos, se da lugar a una colaboración interdepartamental entre las divisiones de desarrollo y seguridad en la que cada una de ellas estudia los datos en el contexto adecuado. Las correcciones de seguridad y de errores alcanzan la paridad, puesto que ya no se ven dificultadas por la fragmentación de los sistemas.

Las ventajas de este planteamiento son trascendentales:

  • El análisis de seguridad de aplicaciones se vuelve iterativo, paralelo al desarrollo
  • Las vulnerabilidades quedan claras en el momento de su introducción.
  • La responsabilidad también es clara: quién creó la vulnerabilidad y dónde, así como la causa y el efecto
  • Los desarrolladores pueden resolver las vulnerabilidades con menos reelaboración y sin cambiar de contexto
  • La automatización puede resolver los errores sustituyendo las bibliotecas de código con parches más seguros mientras el desarrollador todavía tiene el código en su poder.
  • Reducción del seguimiento y selección, con una mejora de la productividad tanto para los desarrolladores como para la seguridad.

Mejorar la eficiencia es una forma extraordinariamente eficaz de que un programa de seguridad de aplicaciones crezca y evalúe más aplicaciones en la cartera DevOps. Para lograr estos cambios es necesario que el equipo de desarrolladores cuente con las personas y los procesos adecuados, mientras que una herramienta que permite nuevos procesos de seguridad constituye un punto de partida muy práctico.

Una aplicación única para todo el ciclo vital DevOps es una manera de ofrecer pruebas de seguridad para aplicaciones incorporadas al proceso de integración continua. Con este nuevo enfoque, los programas de pruebas de seguridad de aplicaciones solucionan las vulnerabilidades durante el desarrollo, en vez de detectar todas las vulnerabilidades antes de la producción. Los procesos de análisis que son capaces de detectar cualquier problema pueden descubrir miles de vulnerabilidades, lo que puede dar lugar a cuestiones como que el equipo de seguridad tenga que decidir qué resolver primero, o la desmotivación del equipo de desarrollo al constatar todo el trabajo que tendrá que volver a realizar.

Las empresas pueden coordinar sus procesos de seguridad y DevOps, así como potenciar su capacidad de innovación, si van más allá de la red de complejas herramientas que siguen limitando la colaboración interdepartamental, la automatización y la comprensión.

 Cindy Blake, CISSP, evangelista de seguridad en GitLab

>