Los mantenedores del repositorio Python Package Index (PyPI) suspendieron brevemente los registros de nuevos usuarios luego de una afluencia de proyectos maliciosos cargados como parte de una campaña de typosquatting.
Él dicho «La creación de nuevos proyectos y el registro de nuevos usuarios» se detuvieron temporalmente para mitigar lo que dijo que era una «campaña de carga de malware». El incidente se resolvió 10 horas después, el 28 de marzo de 2024, a las 12:56 pm UTC.
La firma de seguridad de la cadena de suministro de software Checkmarx dijo que los actores de amenazas no identificados detrás de la inundación del repositorio apuntaban a los desarrolladores con versiones con errores tipográficos de paquetes populares.
«Este es un ataque de múltiples etapas y la carga maliciosa tiene como objetivo robar billeteras criptográficas, datos confidenciales de los navegadores (cookies, datos de extensiones, etc.) y varias credenciales», afirman los investigadores Yehuda Gelb, Jossef Harush Kadouri y Tzachi Zornstain. dicho. «Además, la carga maliciosa empleó un mecanismo de persistencia para sobrevivir a los reinicios».
Los hallazgos también fueron corroborados de forma independiente por Mend.io, que anotado que detectó más de 100 paquetes maliciosos dirigidos a bibliotecas de aprendizaje automático (ML) como Pytorch, Matplotlib y Selenium.
El desarrollo se produce cuando los repositorios de código abierto se están convirtiendo cada vez más en un vector de ataque para que los actores de amenazas se infiltren en entornos empresariales.
Typosquatting es una técnica de ataque bien documentada en la que los adversarios cargan paquetes con nombres muy parecidos a sus homólogos legítimos (por ejemplo, Matplotlib vs. Trama de comida o tensorflow vs. flujo tensor) para engañar a los usuarios desprevenidos para que los descarguen.
Se descubrió que estas variantes engañosas, que suman un total de más de 500 paquetes por Check Point, se cargaron desde una cuenta única a partir del 26 de marzo de 2024, lo que sugiere que todo el proceso fue automatizado.
«La naturaleza descentralizada de las cargas, en la que cada paquete se atribuye a un usuario diferente, complica los esfuerzos para identificar estas entradas maliciosas», dijo la empresa israelí de ciberseguridad. dicho.
La empresa de ciberseguridad Phylum, que también ha sido Seguimiento de la misma campaña.dijeron los atacantes publicado –
- 67 variaciones de requisitos.
- 38 variaciones de Matplotlib
- 36 variaciones de solicitudes.
- 35 variaciones de colorama
- 29 variaciones de tensorflow
- 28 variaciones de selenio
- 26 variaciones de BeautifulSoup
- 26 variaciones de PyTorch
- 20 variaciones de almohada
- 15 variaciones de asincio
Los paquetes, por su parte, comprueban si el sistema operativo del instalador era Windows y, de ser así, proceden a descargar y ejecutar una carga útil ofuscada recuperada de un dominio controlado por el actor («funcaptcha[.]ru»).
El malware funciona como un ladrón, filtrando archivos, tokens de Discord, así como datos de navegadores web y billeteras de criptomonedas al mismo servidor. Además, intenta descargar un script de Python («hvnc.py») a la carpeta de inicio de Windows para su persistencia.
El desarrollo ilustra una vez más el creciente riesgo que plantean los ataques a la cadena de suministro de software, por lo que es crucial que los desarrolladores examinen cada componente de terceros para garantizar que proteja contra posibles amenazas.
Esta no es la primera vez que PyPI recurre a una medida de este tipo. En mayo de 2023, desactivado temporalmente registros de usuarios después de descubrir que «el volumen de usuarios maliciosos y proyectos maliciosos que se crearon en el índice durante la semana pasada ha superado nuestra capacidad para responder de manera oportuna».
PyPI suspendió los registros de nuevos usuarios a segunda vez el año pasado el 27 de diciembre por motivos similares. Posteriormente fue levantado el 2 de enero de 2024.