Revista Informática

Claves Para Un Futuro Resiliente Del Código Abierto

Publicado el 24 septiembre 2024 por Lauratuero @incubaweb

En el mundo actual, el software libre y de código abierto es un componente crucial en casi todas las soluciones de software. Las investigaciones muestran que el 70% del software moderno depende de componentes de código abierto, y más del 97% de las aplicaciones utilizan código abierto. No es sorprendente que el 90% de las empresas lo estén usando o aplicando de alguna forma.

Estas estadísticas subrayan la importancia del software de código abierto en la tecnología y el desarrollo de software modernos. Al mismo tiempo, demuestran que a medida que crece su relevancia, también lo hacen los desafíos asociados con mantener su seguridad. En el Open Source Summit EU, se discutieron estos desafíos y cómo podría mejorarse la seguridad del código abierto. Comencemos desglosando el panorama del código abierto.

El ecosistema de código abierto está fragmentado, con diversos lenguajes, sistemas de construcción y tuberías de prueba, lo que dificulta mantener estándares de seguridad consistentes. Esta fragmentación obliga a los desarrolladores a desempeñar múltiples roles, como gestionar vulnerabilidades de seguridad, a menudo sin herramientas adecuadas y apoyo. Como resultado, surgen inconsistencias y brechas de seguridad, dejando vulnerables los proyectos de código abierto a los ataques. Crear prácticas de seguridad consistentes es clave para abordar estas vulnerabilidades, y la estandarización ayuda a minimizarlas mientras se agiliza el proceso de desarrollo.

El marco SLSA (Supply Chain Levels for Software Artifacts) de Google y los esquemas OSV (Open Source Vulnerabilities) son ejemplos destacados de cómo la estandarización de facto puede transformar la seguridad del código abierto. SLSA ha unido a varias empresas para crear un estándar que permite a los desarrolladores mejorar su postura de seguridad en la cadena de suministro, ayudando a prevenir ataques como los experimentados por SolarWinds y Codecov.

El esquema OSV también ha tenido éxito, con más de 20 ecosistemas de lenguajes adoptándolo. Este esquema permite que las vulnerabilidades se exporten en un formato preciso y legible por máquina, facilitando su gestión y solución. Gracias a su formato estandarizado, más de 150,000 vulnerabilidades en el software de código abierto han sido agregadas y están accesibles para todo el mundo a través de una única llamada API.

Sin embargo, muchas tareas siguen siendo manuales, lo que las hace consumir mucho tiempo y ser más propensas a errores humanos. Los desarrolladores deben integrar múltiples herramientas en diferentes etapas del ciclo de desarrollo de software. El futuro de la seguridad del código abierto radica en crear una plataforma completamente integrada: un conjunto de herramientas que integra las mejores soluciones de la industria y proporciona ganchos simples para la operación continua en el sistema CI/CD. La automatización es crucial.

La clave para revolucionar la seguridad del código abierto es la inteligencia artificial (IA), ya que puede automatizar tareas manuales y propensas a errores, reduciendo la carga sobre los desarrolladores. Google ya ha comenzado a aprovechar la IA en la seguridad del código abierto, usándola con éxito para escribir y mejorar pruebas unitarias de fuzzer. OSS-Fuzz de Google ha sido un cambio de juego con un aumento del 40% en la cobertura de código para más de 160 proyectos. Desde su creación, ha identificado más de 12,000 vulnerabilidades con una tasa de solución del 90%. Su efectividad se debe a su estrecha integración con el flujo de trabajo del desarrollador, probando los últimos commits y ayudando a solucionar las regresiones rápidamente.

Aunque la IA sigue siendo un área de investigación activa y aún no ha resuelto todos los desafíos de seguridad, Google está ansioso por colaborar con la comunidad para ampliar los límites de lo que la IA puede lograr en la seguridad del código abierto.

El enfoque de Google en la seguridad del código abierto ahora está centrado en el pensamiento a largo plazo y soluciones escalables. Para hacer una diferencia significativa a gran escala, se enfoca en tres aspectos clave:

  1. Simplificación y aplicación consistente de las mejores prácticas de seguridad: Estándares comunes y utilizables son clave para reducir vulnerabilidades y mantener un ecosistema seguro.
  2. Desarrollo de una plataforma inteligente e integrada: Una plataforma sin fisuras, integrada que automatiza tareas de seguridad y se integra naturalmente en el flujo de trabajo del desarrollador.
  3. Aprovechar la IA para acelerar y mejorar la seguridad: Reducir la carga de trabajo en los desarrolladores y detectar vulnerabilidades que podrían pasar desapercibidas.

Al mantener este enfoque y continuar colaborando con la comunidad, Google y el ecosistema de código abierto pueden asegurar que el software libre y de código abierto siga siendo una base segura y confiable para las soluciones de software del mañana.

Por Abhishek Arya – Ingeniero Principal, Seguridad de Código Abierto y de la Cadena de Suministro.

vía: Google Blog Open Source


Volver a la Portada de Logo Paperblog