Conecta con nosotros

A Fondo

10 medidas para asegurar el software de código abierto

Publicado

el

software de código abierto

El software de código abierto ofrece beneficios prácticos para un desarrollador, profesional o empresa por su acceso al código fuente y la posibilidad de usarlo y modificarlo sin restricciones de licencias. Más allá de las cuestiones éticas o de libertad que le suelen acompañar, el Open Source es hoy una gigantesca incubadora de innovación, acelera el desarrollo de industrias enteras y crea estándares de facto en la tecnología mundial. Pero como el resto de modelos de creación de software necesita mejorar la seguridad en todos sus extremos.

El año pasado, la administración del presidente Biden emitió una orden ejecutiva para mejorar la ciberseguridad de la cadena de suministro de software. Fue la respuesta ante incidentes como el de SolarWinds (calificada como la violación más grave del siglo) o el ataque de ransomware a la infraestructura de Colonial Pipeline que obligó a cerrar la distribución de gas y petróleo en una parte de Estados Unidos.

Recogiendo el testigo de la orden del ejecutivo, The Open Source Security Foundation (OpenSSF) y la Linux Foundation aceptaron el desafío de mejorar la seguridad del software de código abierto en toda la cadena de suministro y para ello solicitaron 150 millones de dólares en financiación durante dos años.

Algunas de las grandes tecnológicas que forman parte de esas organizaciones (Amazon, Ericsson, Google, Intel, Microsoft y VMWare) ya han comprometido fondos para este programa y otros como AWS han prometido financiación adicional.

Seguridad del software de código abierto: 10 objetivos

El director general de OpenSSF, Brian Behlendorf, ha pasado por la Casa Blanca para asegurarse el apoyo del ejecutivo a un plan donde la industria del código abierto se compromete a cumplir los siguiente objetivos que describen en ZDNet:

  1. Educación en seguridad: educación y certificación básica sobre desarrollo de software seguro para todos.
  2. Evaluación de riesgos: establecer un panel de evaluación de riesgos públicos, independiente del proveedor y basado en métricas objetivas para los más de 10.000 componentes principales del software open source (OSS).
  3. Firmas digitales para acelerar la adopción de firmas digitales en todas las versiones de software.
  4. Seguridad de la memoria: eliminación de las causas raíz de muchas vulnerabilidades mediante el reemplazo de lenguajes que no son seguros en el uso de la memoria.
  5. Respuesta a incidentes: establecer el equipo de respuesta a incidentes de seguridad de código abierto de OpenSSF, expertos en seguridad que podrán intervenir para ayudar a los proyectos de código abierto durante momentos críticos y como respuesta a una vulnerabilidad.
  6. Mejor escaneo, acelerando el descubrimiento de nuevas vulnerabilidades por parte de los mantenedores a través de herramientas de seguridad avanzadas y orientación de expertos.
  7. Auditorías de código. Realizar revisiones de código de terceros (y cualquier trabajo de corrección necesario) de hasta 200 de los componentes de OSS más críticos una vez al año.
  8. Intercambio de datos. Coordinación del intercambio de datos en toda la industria para mejorar la investigación que ayude a determinar los componentes de OSS más críticos.
  9. Lista de materiales de software (SBOM). Mejorar las herramientas y la capacitación de SBOM para impulsar su adopción.
  10. Cadena de suministro. Mejorando los 10 sistemas de compilación críticos de software de código abierto, administradores de paquetes y sistemas de distribución más importantes con mejores prácticas y mejores herramientas de seguridad en toda la cadena de suministro.

software de código abierto

Objetivos ambiciosos

El programa descrito es tan ambicioso como complejo y necesitará mucha inversión, tiempo y trabajo de las partes involucradas, en especial de las grandes compañías que la aprovechan (y ganan dinero con ello) tareas avanzadas como el despliegue de aplicaciones, el análisis de datos o la comunicación distribuida cuyo alcance sería hoy imposible a base de software propietario.

En ZDNet ponen el ejemplo de Linux, el más importante de todos los proyectos de código abierto, como muestra de complejidad. El lenguaje C usado para el kernel de Linux tiene vulnerabilidades en su interior y si bien apartados como la memoria se manejan con el más seguro Rust harían faltan años o décadas para cambiar sus casis 28 millones de líneas de código.

Otros componentes sí se están reemplazando con éxito como el Sigstore propuesto por Chainguard. Es un proyecto de la Fundación Linux respaldado por Google y Red Hat que permite a los desarrolladores firmar de forma segura su software, como archivos de lanzamiento, imágenes de contenedores, binarios, manifiestos de listas de materiales y otros.

El sistema de código libre para la automatización del despliegue, ajuste de escala y manejo de aplicaciones en contenedores, Kubernetes, ya lo usa para simplificar la adopción de una firma digital segura para su código.

Pero queda muchísimo por hacer. «Si bien el código abierto siempre se ha visto como una semilla para la modernización, el reciente aumento de los ataques a la cadena de suministro de software ha demostrado que necesitamos un proceso más reforzado para validar el código y repositorios de origen», explican.

Y como dijo el responsable del OpenSSF, siempre habrá errores que descubrir y arreglar: «El software nunca será perfecto. El único software que no tiene errores es el software sin usuarios». Al menos la industria del software de código abierto tiene un plan para mejorar su entrega en toda la cadena de suministro.

Y es importante. El valor del Open Source es simplemente incalculable y la industria tecnológica no podría funcionar sin sus valores de revisión entre desarrolladores, transparencia, confiabilidad, flexibilidad, menores costes, colaboración abierta y sin la dependencia de un solo proveedor.

Lo más leído