Blog B-SECURE

¿Por qué la seguridad de DevOps debe estar en la lista de prioridades de seguridad?

En el apuro por implementar DevOps, la seguridad a menudo se pasa por alto. Pero DevSecOps es esencial en estos días llenos de hackeos. Aprenda a agregar seguridad al desarrollo de software.

Las organizaciones que implementan herramientas y metodologías DevOps pueden entregar código más rápido y alinearlo de manera más efectiva con los objetivos comerciales. Un estudio reciente de Nemertes Research encontró que el 75% de las empresas que tuvieron éxito en la implementación de sus iniciativas de transformación digital estaban implementando DevOps. (El estudio incluyó varias medidas objetivas de "éxito", incluido el presupuesto, la contratación de personal y la efectividad empresarial de la transformación digital). En pocas palabras, DevOps es una herramienta fundamental para las organizaciones que buscan transformarse digitalmente.

Pero, con frecuencia, las organizaciones que cuentan con un equipo de desarrollo de aplicaciones eficaz y una sólida organización de seguridad de la información no invierten en el área en la que ambas se superponen: la seguridad de la aplicación.

Tener un equipo de seguridad de aplicaciones que este comprometido con las estrategias de seguridad y DevOps es el primer paso para habilitar la seguridad de DevOps, es decir, el desarrollo de código que es tan seguro como ágil. Crear un equipo de seguridad de aplicaciones significa contratar y capacitar a desarrolladores que entienden de seguridad y expertos en seguridad que pueden escribir código.

devopsEste equipo de seguridad de aplicaciones debe financiarse con el presupuesto del área de seguridad; según mediciones cuantitativas y el rendimiento operacional de seguridad, la financiación del presupuesto por parte de seguridad versus aplicaciones se correlacionó con un mayor éxito en la seguridad.

Y el equipo de seguridad de aplicaciones debe estar familiarizado con las suites de herramientas DevOps. Las herramientas automatizadas diseñadas para acelerar el desarrollo del código y simplificar el soporte también pueden hacer que el código sea más seguro si se implementa correctamente. La gente de seguridad de aplicaciones también necesita tener fluidez en los procesos de DevOps, incluidos los conceptos de sprints, scrums y epics.

La seguridad de DevOps necesita conocimientos de programación

Finalmente, todos los desarrolladores de DevSecOps necesitan una comprensión práctica de algunos de los principales errores de programación que pueden introducir vulnerabilidades de seguridad de DevOps. Esos errores incluyen lo siguiente:

  • Consumir recursos no autenticados, es decir, escribir código que acceda a servicios y microservicios que no han sido autenticados y puedan contener malware. La mejor solución para esto es implementar un mecanismo de autenticación, como la firma web de notación de objetos JavaScript, o RFC7797, para requerir que todos los servicios y microservicios usen el mecanismo y para automatizar el cumplimiento.
  • Dejar que el malware entre en la memoria, es decir, escribir código que deposite datos en ubicaciones predecibles en la memoria a las que puede acceder el malware, como exploits de malware de desbordamiento de búfer. La mejor prevención aquí es desarrollar en lenguajes y marcos que prohíban asignaciones de memoria aleatorias y el despliegue de pruebas de seguridad automatizadas.
  • Usar generadores de números pseudoaleatorios, por ejemplo, simulaciones de Monte Carlo, en lugar de generadores de números aleatorios verdaderos (TRNGs). Esto lleva a inyectar inadvertidamente predictibilidad en los mecanismos de cifrado y otras aplicaciones que requieren una verdadera aleatoriedad para ser efectivas. La solución aquí, por supuesto, es implementar TRNG para todas las aplicaciones de seguridad que requieren la generación de números aleatorios.
  • Hacer cambios de código no documentados, que pueden inyectar vulnerabilidades. Afortunadamente, las suites de DevOps incluyen herramientas de administración de código que cuentan con auditoría y registro, asegurando automáticamente que cada cambio esté documentado. Exigir la separación de tareas para realizar cambios, de manera que ningún desarrollador pueda aprobar sus propios cambios, también puede garantizar que todos los cambios se revisen correctamente.
  • Ignorando la seguridad de la infraestructura, el hecho de que el código sea seguro no significa que la infraestructura en la que se ejecuta también lo sea. La contenedorización, es decir, el uso de herramientas como Docker, Rocket, Amazon y similares, puede aumentar tanto la confiabilidad del código como la seguridad; los equipos de seguridad de aplicaciones deben asegurarse de que el grupo de seguridad despliegue defensa en profundidad para proteger tanto la infraestructura como las aplicaciones.

Proceso SecDevOps

En pocas palabras, pasar de DevOps a DevSecOps no es tan difícil como parece. El primer paso hacia la seguridad de DevOps es implementar un equipo de seguridad de aplicaciones que comprenda tanto la codificación como la seguridad y que ponga al equipo al tanto de las metodologías de DevOps. Ese proceso debería ayudar a proteger la iniciativa DevOps de algunos de los errores de codificación más comunes que pueden reducir la seguridad, permitiéndole avanzar a toda velocidad y habilitar la transformación digital.

Conozca más sobre pruebas de seguridad de aplicaciones

 

Información tomada de:

TechTarget: Why DevOps security must be on infosecs' priority list. https://searchsecurity.techtarget.com/tip/Why-DevOps-security-must-be-on-infosecs-priority-list