Los cinco imprescindibles para implementar DevSecOps con éxito

  • Actualidad

Implantar con éxito una estrategia DevSecOps no es posible sin las tecnologías adecuadas para integrar la seguridad en todo el ciclo de vida del software. Repasamos las premisas fundamentales para incluir la seguridad en cualquier iniciativa de desarrollo de las operaciones.

Recomendados: 

WEBINAR >> Teletrabajo: productividad, flexibilidad y seguridad a pleno rendimiento Registro 

WEBINAR >> Autenticación y gestión de identidades, el nuevo perímetro de seguridad Registro

El objetivo de la seguridad en el desarrollo de operaciones (conocido como DevSecOps) es construir un puente entre la rapidez y la seguridad en la creación de software. Veracode, especialista en seguridad del software, considera clave cinco aspectos a la hora implementar una estrategia de DevSecOps exitosa que puede ayudar a transformar la cultura, los procesos y la tecnología para incluir la seguridad en iniciativas DevOps.

Por un lado, automatizar la seguridad. La capacidad de automatizar las pruebas de seguridad a través de secuencias de comandos, análisis estáticos y dinámicos, análisis de librerías de código abierto (“Software Composition Analysis” o SCA, en inglés) e integración de pruebas dentro de las herramientas y procesos existentes contribuye en gran medida a identificar fallos al inicio del ciclo de vida del código y a acelerar una entrega segura del mismo.

Por otro, detectar vulnerabilidades de forma temprana. DevSecOps parte de la premisa de que es aconsejable que los fallos se produzcan en el ordenador del desarrollador cuando está creando el software antes que en el dispositivo del cliente. La búsqueda temprana de vulnerabilidades en el código requiere el uso complementos en el entorno de desarrollo integrado (IDE) que brinden información instantánea y sirvan de guía según se detecten las brechas, cambiando la seguridad para responder pronto en el ciclo de vida del desarrollo.

El tercer imprescindible es no aceptar altas tasas de falsos positivos. Lograr el enfoque anterior requiere del uso de tecnología que pueda proporcionar resultados válidos a través de informes y dashboards, creando así visibilidad operativa para los equipos de desarrollo y de seguridad. Mantener los falsos positivos bajos permite que dichos equipos confíen en que las herramientas de seguridad empleadas no suponen un trabajo extra para ellos, eliminando la “fatiga de alerta” y mejorando la eficiencia y los tiempos de respuesta ante incidentes.

El cuarto es emplear software de análisis de composición. Las herramientas de SCA pueden escanear aplicaciones completas y componentes de código abierto para garantizar que los equipos de desarrollo no incluyan involuntariamente código con vulnerabilidades conocidas. Además, el análisis de composición permite crear un inventario de los componentes que se están utilizando, por lo que es más fácil localizarlos y actualizarlos cuando se revela una vulnerabilidad.

En agosto de 2019, se descubrió una vulnerabilidad en el proxy web de Squid que permitía a los hackers enviar una solicitud diseñada al servidor de destino, lo que resultó en la ejecución del código en el contexto del proceso de Squid. Según los investigadores, una explotación exitosa podría haber dado como resultado que el atacante pudiera ejecutar código arbitrario con los privilegios del proceso del servidor, mientras que un ataque fallido podría haber provocado que el proceso del servidor terminara de manera anormal.

Finalmente, hay que tener en cuenta las necesidades de los desarrolladores. Algunos olvidan que solo el equipo de desarrollo puede solucionar las brechas de seguridad. Sin embargo, muchos equipos de seguridad no tienen banda ancha para autorizar a los desarrolladores, por lo que no pueden reducir el riesgo o la deuda de seguridad con facilidad, igual que tampoco pueden minimizar la acumulación de fallos sin resolver que perduran en el tiempo. Los mejores programas AppSec permiten a los desarrolladores: realizar feedback de seguridad en el IDE en segundos; proporcionar recomendaciones sobre cómo solucionar fallos al mismo tiempo que los encuentran; dar asesoramiento automatizado; hacer revisiones del código con expertos en codificación segura; capacitar a los desarrolladores en seguridad; y crear programas de campeones de seguridad (security champions program, en inglés).