El ecosistema de código abierto es la piedra angular del desarrollo de software moderno y fomenta la innovación y la colaboración. Sin embargo, su propia apertura lo hace susceptible a diversas amenazas cibernéticas. De acuerdo a un informe de Comparitech, en 2023, se identificaron más de 100 millones de cepas de malware y aplicaciones potencialmente no deseadas (PUA), lo que demuestra que los ataques relacionados con malware siguen siendo una grave amenaza cibernética.
Nuevas familias de malware en paquetes de código abierto
Instalación de malware de manipulación
Cómo trabajan ellos: Este tipo de malware altera el proceso de instalación de paquetes de código abierto. Inyecta código malicioso durante la instalación del paquete, que luego puede ejecutarse siempre que se utilice el paquete.
Vulnerabilidades explotadas: Instalar-Manipular El malware explota la confianza de los usuarios lugar en repositorios de código abierto y la falta de controles de seguridad rigurosos durante el proceso de instalación del paquete.
Estrategias de protección: Para protegerse contra la instalación de malware de manipulación, es fundamental utilizar paquetes verificados y firmados, habilitar la autenticación de dos factores para las cuentas del repositorio y realizar auditorías de seguridad periódicas de las dependencias.
Ejemplo de código malicioso de instalación y manipulación: paquete npm “colores” (2022)
Descripción:
El paquete "colors" es una biblioteca npm popular que se utiliza para agregar efectos de color a los registros de la consola. Se utiliza ampliamente en varias aplicaciones Node.js.
Cómo funcionó:
A principios de 2022, una versión del paquete “colores” fue modificado maliciosamente para incluir un script de bucle infinito dentro de su archivo principal. Esta modificación fue realizada por el propio responsable del proyecto, quien supuestamente lo hizo como protesta contra el uso corporativo de proyectos de código abierto sin el apoyo o las donaciones adecuadas.
Repercusiones:
Esta modificación provocó que cualquier aplicación que utilizara la versión comprometida de "colores" fallara, lo que provocó una interrupción generalizada entre numerosas empresas y sistemas de software que dependían del paquete para sus operaciones.
Lecciones aprendidas:
Este incidente pone de relieve las vulnerabilidades inherentes al modelo de gestión de paquetes de código abierto basado en la confianza. Pone de relieve la necesidad de que los responsables del mantenimiento respeten la ética. standards y para que los usuarios realicen revisiones y pruebas exhaustivas de las dependencias de terceros en sus entornos de desarrollo. El caso de los "colores" también destaca la importancia de respaldar a los mantenedores de código abierto para evitar el agotamiento y represalias poco éticas.
Puerta trasera de primer uso
Cómo trabajan ellos: Esta puerta trasera se activa cuando se importa y utiliza un paquete de código abierto por primera vez. Puede enviar información del sistema a un servidor remoto o descargar cargas útiles adicionales.
Vulnerabilidades explotadas: Las puertas traseras de primer uso aprovechan la ejecución de código no verificado en el primer uso de un paquete, a menudo omitiendo las herramientas de análisis estático.
Estrategias de protección: Revisar y monitorear el código de los paquetes recién importados y usar herramientas de análisis dinámico para detectar comportamientos inusuales son clave para defenderse contra las puertas traseras de primer uso.
Ejemplo de puerta trasera de primer uso: incidente de puerta trasera de Webmin (2019)
Descripción:
Webmin es una popular interfaz basada en web para la administración de sistemas para Unix. En 2019, Se descubrió que el software había sido comprometido con un puerta trasera que había estado presente en el código durante más de un año antes de su detección.
Cómo funcionó:
La puerta trasera se introdujo secretamente en el repositorio de GitHub de Webmin a través de un servidor de compilación comprometido. El código malicioso solo se activaba si el administrador cambiaba la contraseña mediante la interfaz de Webmin. Una vez activado, permitía la ejecución remota de comandos con privilegios de root.
Repercusiones:
La puerta trasera se envió con las versiones de Webmin de 1.882 a 1.921, afectando potencialmente a más de tres millones de sitios web y servidores. La puerta trasera abría los sistemas a atacantes remotos que potencialmente podrían obtener el control total del servidor, lo que provocaba el robo de datos, el secuestro del servidor y un mayor compromiso de la red.
Lecciones aprendidas:
Este incidente resalta la vulnerabilidad crítica que puede ocurrir cuando los procesos de compilación se ven comprometidos. Subraya la importancia de proteger los servidores de compilación y realizar auditorías de seguridad periódicas del ciclo de vida del desarrollo de software. El caso de Webmin también demuestra la necesidad de examinar minuciosamente las actualizaciones de software, incluso cuando provienen de fuentes confiables.
Gusano que compromete el tiempo de ejecución
Cómo trabajan ellos: Este gusano permanece inactivo dentro de un paquete de código abierto y se activa durante el tiempo de ejecución, propagándose potencialmente a otros paquetes y sistemas.
Vulnerabilidades explotadas: Los gusanos que comprometen el tiempo de ejecución explotan la naturaleza interconectada de los proyectos de código abierto donde un paquete comprometido puede afectar a otros.
Estrategias de protección: La implementación de sistemas estrictos de detección de anomalías y monitoreo del comportamiento en tiempo de ejecución puede ayudar a identificar y mitigar dichas amenazas.
Ejemplo de P2PInfect que compromete el tiempo de ejecución: el gusano autorreplicante punto a punto Rusty
Descripción:
P2PInfect es un gusano peer-to-peer (P2P) descubierto por investigadores de la nube de Unit 42.
Escrito en Rust, un lenguaje de programación altamente escalable y compatible con la nube, este gusano es capaz de realizar infecciones multiplataforma y apunta a Redis, una popular aplicación de base de datos de código abierto muy utilizada en entornos de nube.
Cómo funciona:
Explotación inicial:
- P2PInfect explota la vulnerabilidad de escape del sandbox de Lua, CVE-2022-0543, en instancias vulnerables de Redis.
- La vulnerabilidad permite al gusano ejecutar código arbitrario dentro del entorno de scripting Lua.
Entrega de carga útil:
- Una vez que se logra el acceso inicial, P2PInfect lanza una carga útil inicial que establece la comunicación P2P con una red más grande.
- Luego, el gusano elimina archivos binarios maliciosos adicionales, incluidos scripts específicos del sistema operativo y software de escaneo.
Propagación:
- La instancia de Redis infectada se une a la red P2P, proporcionando acceso a otras cargas útiles para futuras instancias de Redis comprometidas.
- P2PInfect se dirige a los sistemas operativos Linux y Windows, lo que lo hace más escalable y potente que otros gusanos.
Impacto:
Los investigadores de la Unidad 42 identificaron más de 307,000 sistemas Redis únicos que se comunicaron públicamente durante las últimas dos semanas, de los cuales 934 pueden ser vulnerables a esta variante del gusano P2P.
P2PInfect sirve como ejemplo de un ataque grave que los actores de amenazas podrían realizar utilizando esta vulnerabilidad.
Lecciones aprendidas:
Los desarrolladores deben revisar y verificar sus paquetes, mantener actualizadas las dependencias y tener cuidado con los nombres y fuentes de los paquetes.
La vigilancia y el monitoreo continuo son esenciales para prevenir este tipo de ataques a la cadena de suministro.
Ataque de cadena de dependencia
Cómo trabajan ellos: Los atacantes comprometen un paquete en una cadena de dependencia, lo que luego afecta a todos los demás paquetes que dependen de él.
Vulnerabilidades explotadas: Este ataque explota la confianza en las dependencias de los paquetes y el efecto en cascada de un paquete comprometido.
Estrategias de protección: El uso de una herramienta de análisis de composición de software para rastrear y administrar componentes de código abierto y sus dependencias puede proteger contra ataques de cadena de dependencia.
Ejemplo de paquete npm de ataque a la cadena de dependencia “event-stream” (2018): un compromiso en la cadena de suministro
Descripción:
En 2018, el popular paquete npm llamado “flujo de eventos” estaba comprometido.
El ataque implicó una manipulación de la cadena de dependencia que afectó a usuarios desprevenidos.
Cómo funcionó:
Compromiso inicial:
- El atacante se hizo cargo de una dependencia menos utilizada llamada "flatmap-stream".
- Inyectaron código malicioso en "flatmap-stream".
Propagación:
- El "flatmap-stream" comprometido se incluyó como una dependencia en el paquete ampliamente utilizado "event-stream".
- Muchos proyectos, sin saberlo, instalaron el paquete comprometido "event-stream".
Repercusiones:
El atacante obtuvo acceso a información confidencial de usuarios desprevenidos.
El incidente destacó los riesgos de ataques a la cadena de suministro a través de dependencias.
Lecciones aprendidas:
Los desarrolladores deben revisar y verificar sus paquetes, mantener actualizadas las dependencias y tener cuidado con los nombres y fuentes de los paquetes.
La vigilancia y el monitoreo continuo son esenciales para prevenir este tipo de ataques a la cadena de suministro.
Proteja sus proyectos de código abierto con Xygeni
Como se mencionó, el ecosistema de código abierto es un arma de doble filo: si bien fomenta la innovación, también expone su software a riesgos importantes, como Instalar tamper Malware, puertas traseras de primer uso y ataques de cadena de dependencia. Las consecuencias de estas amenazas son graves y es fundamental proteger la cadena de suministro de software.
xygeni ofrece soluciones potentes diseñadas para defender sus proyectos de código abierto contra estas amenazas en constante evolución. Nuestras herramientas garantizan que sus dependencias permanezcan seguras, lo que mantiene su software resistente y su proceso de desarrollo sin problemas.
Haz que De sea más inteligentecisiones con análisis integral de paquetes
Dada la complejidad de los paquetes de código abierto, es fundamental tomar decisiones informadas. Xygeni Análisis completo del paquete Le permite evaluar rápidamente la seguridad de los componentes de código abierto. Con nuestra plataforma, puede seleccionar con confianza paquetes seguros y confiables, evitando los riesgos de dependencias inseguras. Al realizar un diseño inteligente...cisAl implementar iones por adelantado, creará aplicaciones más sólidas y seguras que resistirán el paso del tiempo.
Defienda proactivamente con detección de malware en tiempo real
Reaccionar a las amenazas después de que se infiltran en su sistema no es suficiente. Por eso, Xygeni ofrece Detección de malware en tiempo real para detectar amenazas como malware de día cero en el momento en que surgen. Nuestro sistema bloquea de inmediato el código malicioso, impidiendo que llegue a su entorno de desarrollo. Al actuar con rapidez, garantiza que sus proyectos se mantengan seguros desde el principio.
Proteja su cadena de suministro con monitoreo continuo
En el vertiginoso mundo del desarrollo de software, los cambios ocurren constantemente. Xygeni Monitoreo continuo de la cadena de suministro vigila atentamente cada actualización. Nuestra protección proactiva detecta y bloquea cambios sospechosos en sus dependencias, lo que evita que paquetes comprometidos ingresen a sus proyectos. Con Xygeni, mantiene una cadena de suministro segura y confiable, lo que protege su software contra amenazas potenciales.
Tome el control de su seguridad con Xygeni
Como ha visto, los riesgos del software de código abierto son reales y están aumentando. Las soluciones de seguridad de Xygeni le ofrecen las herramientas para gestionar estos riesgos de forma eficaz. Al centrarse en la detección temprana, el análisis integral de paquetes y la supervisión continua, puede proteger su software de las amenazas emergentes. No deje vulnerables sus proyectos de código abierto: mejore su estrategia de seguridad hoy mismo con Xygeni y obtenga la tranquilidad de saber que su software y sus datos están protegidos.
¿Está listo para proteger sus proyectos de código abierto? Deje que Xygeni le ayude a mantenerse a la vanguardia de las amenazas y a crear un software resistente que pueda afrontar lo que venga después.
Vea nuestra demostración en vídeo





