El uso de software de código abierto ofrece múltiples beneficios a organizaciones de todos los tamaños, pero la seguridad de código abierto a menudo no se administra adecuadamente.
Las organizaciones que utilizan software de código abierto no necesariamente se exponen a un mayor riesgo de seguridad, pero la clave para una implementación exitosa y segura del software de código abierto es una estrategia de administración completa.
El software de código abierto constituye la mayoría de las aplicaciones empresariales de la empresa y, para la mayoría de las organizaciones, es mucho más seguro usar un módulo de código abierto que haya sido examinado por una comunidad más grande que desarrollar una funcionalidad similar internamente.
Las vulnerabilidades de código abierto reciben una merecida atención cuando ocurren, pero el riesgo más común es que el código abierto se configura o usa de manera insegura. “OpenSSL de código abierto es una de las herramientas de encriptación más utilizadas y confiables del mundo, pero su seguridad no significa nada si los desarrolladores dejan sus claves privadas en el repositorio”, dice Casey Bisson, jefe de producto de BluBracket.
Código abierto y aceleración de la productividad
Explica que, en general, hay menos riesgos con el código abierto administrado correctamente y que para los desarrolladores que son recompensados por "trabajar de manera más inteligente, no más difícil", el código abierto es la mejor manera de acelerar la productividad.
“Una estrategia exitosa de administración de seguridad de software de código abierto reconoce que el código abierto es un factor impulsor y fundamental para la velocidad del equipo”, dice Bisson. "También es fundamental comprender que es poco probable que los enfoques humanos de la seguridad estén a la altura del desafío y utilizar la automatización para complementar en consecuencia".
Lo que es más importante, una estrategia de gestión de la seguridad del software de código abierto debe respaldar la velocidad del desarrollador y, al mismo tiempo, mejorar la seguridad mediante la integración de la seguridad en los procesos de CI/CD automatizados en lugar de tratar de adaptar los procesos del desarrollador a la seguridad.
Bisson explica que las ganancias de productividad del código abierto pueden engañar a las empresas para que cuenten con recursos insuficientes para su proceso de desarrollo de software más amplio.
Desde su perspectiva, el CI/CD automatizado, con escaneo de código automatizado, es más importante que nunca. El monitoreo y la aplicación de permisos automatizados también pueden ayudar. “Lo último que quiere un desarrollador es encontrar riesgos de seguridad en su trabajo después de construirlo”, dice. “La incorporación de revisiones de seguridad automatizadas antes en el flujo de trabajo brinda a los desarrolladores una retroalimentación más rápida para que puedan realizar correcciones antes de que algo se convierta en un problema de seguridad”.
Importancia de las dependencias transitivas
Miclain Keffeler, consultor de seguridad de aplicaciones en nVisium, señala que un elemento crucial de cualquier estrategia de administración de seguridad de software de código abierto son las dependencias transitivas.
Muchos equipos de desarrollo tienen una lista detallada de software de código abierto que usarán porque lo han examinado, pero a menudo se pasan por alto las dependencias que usan esas dependencias. Más allá de esto, cuando surgen vulnerabilidades de seguridad en estas dependencias transitivas, deben actualizarse para corregirlas, pero luego también deben actualizarse las dependencias que las utilizan.
“Esto crea un problema en la cadena de suministro, donde a menudo esas correcciones pueden tardar más en llegar a un público más amplio, dependiendo de la rapidez con la que se realicen los cambios”, dice. “Esos pueden llevar mucho tiempo si el software no está bien administrado”.
Keffeler apunta a otra herramienta común para la gestión de seguridad de código abierto llamada Renovate Bot. Abre automáticamente solicitudes de incorporación de cambios para realizar actualizaciones en el proyecto o la biblioteca con la que está conectado, de modo que pueda permanecer en la última versión segura de esa dependencia.
Además, herramientas simples como OWASP Dependency Track ayudan a identificar y reducir el riesgo en la cadena de suministro de software, lo que hace que los equipos estén al tanto de todas las dependencias transitivas en uso y cómo pueden mitigar este riesgo en el futuro.
Las herramientas de análisis de composición de software también pueden ayudar a proteger contra los riesgos en los componentes de código abierto entrantes, pero la seguridad de la cadena de suministro es más que solo qué componentes de software se utilizan.
Bisson de BluBracket explica que incluye asegurar el flujo de trabajo para evitar la manipulación accidental o intencional.
Seguridad de la cadena de suministro
La aplicación automatizada de las mejores prácticas de acceso y configuración de git, como las reglas de protección de sucursales y el requisito de compromisos firmados, son fundamentales para la seguridad de la cadena de suministro.
“En última instancia, la cadena de suministro no termina hasta que el código está en producción, por lo que el acceso al código fuente es otro vector de ataque”, dice. "Es fundamental asegurarse de que los desarrolladores tengan acceso a todos los repositorios que necesitan, pero demasiadas empresas no logran cancelar el acceso cuando las personas abandonan la empresa o cambian de equipo".
Keffeler se hace eco de los comentarios de Bisson de que la seguridad de la cadena de suministro juega un papel esencial en la gestión del software de código abierto. “El software de código abierto ya es crítico en muchas empresas”, dice. “Este aumento de los ataques a la cadena de suministro es el resultado directo de que las empresas ignoren esta pieza porque no es su responsabilidad”.
Agrega que cuando se trata de software de código abierto, existe una responsabilidad colectiva que debe compartirse. “Si todos lo usamos, debemos asumir cierta propiedad para garantizar su seguridad”, dice. “La naturaleza del código abierto nos dice que cualquiera puede administrarlo. Si podemos abordar cómo hacer que eso funcione, todos podemos reducir el riesgo que representan estos ataques”.
Fuente: informationweek | somoslibres