Todos los días se encuentran paquetes de software malicioso en repositorios de software públicos como GitHub, PyPI y registros npm.
Los atacantes utilizan una variedad de trucos para engañar a los desarrolladores y sistemas para que descarguen paquetes, o para comprometer las cuentas de los desarrolladores de paquetes y actualizar los paquetes con malware.
Por lo tanto, las características de seguridad de los repositorios públicos de paquetes de software son un elemento clave para garantizar la seguridad de las cadenas de suministro de software de código abierto.
Esfuerzos para mejorar la seguridad del software de código abierto con OpenSSF
Desde 2020, la Open Source Security Foundation (OpenSSF) ha emprendido una serie de iniciativas para avanzar en la agenda de seguridad del software de código abierto.
La Iniciativa de Seguridad del Software de Código Abierto ayuda a impulsar esfuerzos sistemáticos para mejorar la seguridad del OSS. El Proyecto Alpha Omega tiene como objetivo descubrir vulnerabilidades en el código fuente abierto y trabajar con los mantenedores del proyecto para solucionarlas. OpenSSF Scorecard es un proyecto que evalúa los riesgos de seguridad de proyectos de código abierto mediante comprobaciones automatizadas. Create Malicious Package Repository es una base de datos completa de paquetes maliciosos publicados en repositorios de paquetes de código abierto.
Más recientemente, la Fundación se asoció con la Agencia de Seguridad de Infraestructura y Ciberseguridad (CISA) para crear un marco que describa los pasos para mejorar el nivel de madurez de seguridad de los repositorios de paquetes.
Proteger repositorios de software
Los Principios de seguridad del repositorio de paquetes desarrollados por el Grupo de trabajo de seguridad del repositorio de software de OpenSSF definen cuatro niveles de madurez de seguridad:
Los repositorios que alcancen el Nivel 3, el nivel más alto, deben:
Exigir MFA para todos los mantenedores y exigir MFA resistente al phishing para los paquetes considerados críticos. Admite autenticación sin contraseña. Proporcione tokens API de corta duración (en lugar de claves API de larga duración) a través del intercambio de tokens OpenID Connect (OIDC). Verifique que el token API de su repositorio de paquetes esté integrado con programas populares de escaneo de secretos de terceros. Admite proporcionar procedencia de compilación para paquetes. Realice revisiones de seguridad periódicas de la infraestructura de su repositorio de paquetes. Exponga registros de transparencia de eventos para ayudar a detectar comportamientos anómalos. Publique avisos sobre paquetes maliciosos utilizando un formato estandarizado legible por máquina. Una herramienta CLI que puede generar una lista de materiales de software (SBOM), corregir automáticamente las vulnerabilidades conocidas en las dependencias (actualizándolas) y reducir los falsos positivos de las vulnerabilidades identificadas mediante análisis estáticos.
Sin embargo, el marco establece que todos los ecosistemas de gestión de paquetes deben trabajar hacia al menos el Nivel 1 (madurez de seguridad básica).
Este nivel le permite establecer políticas de recuperación de cuentas y divulgación de vulnerabilidades, proporcionar MFA (más sólida), emplear protección contra ataques de error tipográfico e instalar dependencias fijas basadas en hash o versión. Esto incluye herramientas CLI y más.
“Las dependencias de código abierto ampliamente utilizadas comprometidas pueden tener consecuencias de gran alcance. Los repositorios de paquetes son una parte crítica del ecosistema de código abierto para prevenir o mitigar tales ataques. “Incluso acciones simples como documentar las políticas de recuperación de cuentas pueden mejorar poderosamente la seguridad”, dijo Jack Cable. , asesor técnico senior de CISA y Zach Steindler, ingeniero principal de GitHub.
“Esperamos que a través de nuestro marco común, los repositorios de paquetes puedan comenzar o madurar aún más sus hojas de ruta de mejora de la seguridad”, dicen, pero señalan que “muchos de los repositorios de paquetes son organizaciones sin fines de lucro. También reconoce que se debe equilibrar su funcionalidad”. las limitaciones de recursos del repositorio de paquetes.
leer más:
El CTO de OpenSSF habla sobre la adopción de software de código abierto y los desafíos de seguridad. Qué tener en cuenta al instalar paquetes desde repositorios públicos
Fuente: https://www.helpnetsecurity.com/2024/03/04/securing-software-repositories/