¿Qué te sugieren las palabras bakso, sate y rendang? Para muchos, la respuesta es “nada”. Los amantes de la comida las reconocerán como productos básicos de Indonesia; mientras que aquellos que siguen las noticias de ciberseguridad recordarán un ataque al ecosistema de Node Package Manager (npm), la herramienta que permite a los desarrolladores usar bibliotecas predefinidas en lugar de escribir cada línea de código desde cero.
A mediados de noviembre, el investigador de seguridad Paul McCarty informó del descubrimiento de una campaña de spam destinada a saturar el registro de npm. Por supuesto, los paquetes sin sentido han aparecido antes en el registro, pero en este caso, se encontraron decenas de miles de módulos sin función útil. Su única finalidad era inyectar dependencias completamente innecesarias en los proyectos.
Los nombres de los paquetes mostraban nombres de platos indonesios insertados aleatoriamente y términos culinarios como bakso, sate y rendang, que es como la campaña se ganó el sobrenombre de “IndonesianFoods”. La escala fue impresionante: en el momento del descubrimiento, se habían identificado aproximadamente 86 000 paquetes.
A continuación, analizamos con más detalles cómo sucedió esto y lo que realmente buscaban los atacantes.
Dentro de IndonesianFoods
A primera vista, los paquetes de IndonesianFoods no parecían basura obvia. Presentaban estructuras estándar, archivos de configuración válidos e incluso documentación bien formateada. Según los investigadores de Endor Labs, este camuflaje permitió que los paquetes persistieran en el registro de npm durante casi dos años.
No es que los atacantes intentaran de forma agresiva introducir sus creaciones en proyectos externos. Más bien, se limitaron a inundar el ecosistema con código que parecía legítimo, a la espera de que alguien cometiera un error de escritura o seleccionara accidentalmente su biblioteca entre los resultados de búsqueda. No está claro exactamente qué tendrías que estar buscando para confundir el nombre de un paquete con un plato de Indonesia, pero la investigación original señala que al menos 11 proyectos de alguna manera lograron incluir estos paquetes en sus compilaciones.
Una pequeña parte de estos paquetes basura tenía un mecanismo de autorreplicación integrado: una vez instalados, crearían y publicarían nuevos paquetes en el registro de npm cada siete segundos. Estos nuevos módulos presentaban nombres aleatorios (también relacionados con la cocina indonesia) y números de versión, todos publicados, como era de esperar, utilizando las credenciales de la víctima.
Otros paquetes maliciosos se integraban con la plataforma de cadena de bloques (blockchain) de TEA. El proyecto TEA fue diseñado para recompensar a los creadores de código abierto con tokens en proporción a la popularidad y al uso de su código; en teoría, funciona con un modelo de “Prueba de contribución”.
Una parte significativa de estos paquetes no contenía ninguna funcionalidad real, sin embargo, a menudo llevaban una docena de dependencias, lo que, como puedes suponer, apuntaba a otros proyectos de spam dentro de la misma campaña. Por lo tanto, si una víctima incluye por error uno de estos paquetes maliciosos, introduce varios otros, algunos de los cuales tienen sus propias dependencias. El resultado es un proyecto final abarrotado de una cantidad masiva de código redundante.
¿En qué se benefician los atacantes?
Hay dos teorías principales. La más obvia es que toda esta campaña de spam elaborada se ha diseñado para aprovechar el protocolo TEA antes mencionado. Esencialmente, sin hacer ninguna contribución útil a la comunidad de código abierto, los atacantes obtienen tokens de TEA, que son activos digitales estándar que se pueden intercambiar por otras criptomonedas en plataformas de intercambio. Al utilizar una red de dependencias y mecanismos de autorreplicación, los atacantes se hacen pasar por desarrolladores legítimos de código abierto para inflar artificialmente la importancia y las métricas de uso de sus paquetes. En los archivos README de ciertos paquetes, los atacantes incluso se jactan de sus ganancias.
Sin embargo, hay una teoría más escalofriante. Por ejemplo, el investigador Garrett Calpouzos sugiere que lo que estamos viendo es simplemente una prueba de concepto. La campaña IndonesianFoods podría estar probando un nuevo método de entrega de malware destinado a venderse más adelante a otros actores de amenazas.
Por qué no quieres basura en tus proyectos
A primera vista, el peligro para las organizaciones de desarrollo de software puede no ser obvio: claro, IndonesianFoods satura el ecosistema, pero no parece conllevar una amenaza inmediata como el ransomware o las filtraciones de datos. Sin embargo, las dependencias redundantes inflan el código y desperdician los recursos del sistema de los desarrolladores. Además, los paquetes basura publicados bajo el nombre de tu organización pueden afectar seriamente a tu reputación dentro de la comunidad de desarrolladores.
Tampoco podemos descartar la teoría de Calpouzos. Si esos paquetes de spam introducidos en tu software reciben una actualización que incorpora una funcionalidad verdaderamente maliciosa, podrían convertirse en una amenaza no solo para tu organización, sino también para tus usuarios, lo que se transformaría en un ataque completo a la cadena de suministro.
Cómo proteger tu organización
Los paquetes de spam no se limitan a entrar en un proyecto por sí solos; instalarlos requiere un error de juicio por parte de un desarrollador. Por lo tanto, recomendamos concienciar regularmente a los empleados, incluso a los expertos en tecnología, sobre las ciberamenazas modernas. Nuestra plataforma de formación interactiva, KASAP (Kaspersky Automated Security Awareness Platform), puede ayudarte.
Además, puedes prevenir la infección usando una solución especializada para proteger entornos en contenedores. Analiza imágenes y dependencias de terceros, se integra en el proceso de compilación y supervisa los contenedores durante el tiempo de ejecución.
Si deseas obtener más información sobre los ataques a la cadena de suministro, te invitamos a consultar nuestro informe analítico Reacción en cadena: cómo proteger el ecosistema digital global en una era de interdependencia. Este informe se basa en los conocimientos de expertos técnicos y revela la frecuencia con la que las organizaciones se enfrentan a los riesgos de la cadena de suministro y las relaciones de confianza, y cómo los perciben.
cadena de suministro
Consejos