Dependencia de PyTorch envenenada con código malicioso • Registro

Un atacante desconocido usó el repositorio de código PyPI para descargar una dependencia peligrosa de PyTorch que contiene un código malicioso diseñado para robar datos del sistema de los desarrolladores.

Los desarrolladores que descargaron compilaciones nocturnas del marco PyTorch de código abierto la semana pasada también instalaron sin darse cuenta una versión maliciosa del programa. torchtriton Según los mantenedores de PyTorch, una dependencia del índice de paquetes de Python.

Una entrada en el blog Esta semana, PyTorch aconsejó a aquellos que instalaron PyTorch a través de nightly pip en Linux entre el 25 y el 30 de diciembre que lo desinstalen y usen los últimos binarios nocturnos lanzados después del 30 de diciembre.

Los desarrolladores que utilizan paquetes estables de PyTorch no se vieron afectados por el binario malicioso, dijeron.

“Investigaciones de seguridad que salieron mal”

Sin embargo, la escala del ataque no está clara. Una persona que se atribuyó la responsabilidad del incidente dijo que era parte de un proyecto de investigación de seguridad fallido. Se disculparon y dijeron que cometieron un error al no aclarar esto y borraron toda la información filtrada. Una copia de la nota se puede encontrar a continuación. Blog de marca de verificación.

El ataque de ofuscación de dependencia implica cargar una copia de torchtriton, una dependencia legítima incluida con malware, en PyPI, un depósito en línea de paquetes para desarrolladores de Python. El paquete malicioso de torchtriton vino con el mismo nombre que uno publicado por un mantenedor de PyTorch en el índice de paquetes nocturnos de PyTorch.

“Debido a que el índice PyPI está dominado, este paquete malicioso se instaló en lugar de la versión de nuestro repositorio oficial”, escribieron. “Este diseño permite que alguien registre un paquete con el mismo nombre que uno que existe en un índice de terceros, y pip instalará su propia versión de forma predeterminada. Este paquete malicioso tiene el mismo nombre que torchtriton, pero se agrega en código que carga datos confidenciales en la máquina”.

La información confidencial incluye servidores de nombres, nombres de host, nombre de usuario actual y nombre del directorio de trabajo. Además, accedió a una serie de archivos, incluidos /etc/hosts, /etc/passwd/primeros 1000 archivos $HOME/*, $HOME/.gitconfigy $HOME/.ssh/.

Descarga archivos binarios maliciosos de hasta 99.999 bytes de tamaño y envía el contenido a un dominio específico.

PyTorch, como Keras, TensorFlow y Jax, es un marco que los desarrolladores pueden usar para aplicaciones de aprendizaje automático, como el procesamiento del lenguaje natural y la visión por computadora. Se basa en la biblioteca Torch y fue desarrollado por Meta AI, aunque actualmente se encuentra bajo los auspicios de la Fundación Linux.

Los mantenedores de PyTorch han tomado varias medidas para solucionar el problema, incluida la eliminación de la dependencia de torchtriton para los paquetes nocturnos y su sustitución por pytorch-triton. Además, registraron un paquete ficticio en PyPI para evitar ataques similares.

Todos los paquetes nocturnos que dependen de torchtriton se eliminaron de los índices de paquetes y le están pidiendo al equipo de seguridad de PyPI que se apropie más del paquete de torchtriton y elimine la versión maliciosa.

PyPI y otros repositorios de código fuente abierto se han convertido en objetivos de ataques a la cadena de suministro. El mes pasado, se descubrió un paquete malicioso en PyPI mascarada SentinelOne y Phylum establecieron una campaña para distribuir como un SDK legítimo en noviembre W4SP Malware a través de paquetes PyPI.

Durante el verano, PyPI habló sobre una ataque de suplantación de identidad se opuso a los desarrolladores que usaban el índice y dijo que ofrecía claves de seguridad para la autenticación de dos factores para los proyectos más descargados en los seis meses anteriores.

Así lo informó la Open Source Security Foundation en abril. fue creado un grupo de trabajo comunitario para abordar la seguridad de los repositorios de software.

“Este ataque es el primer ataque significativo de confusión de dependencia conocido en el ecosistema PyPi”, dijo Zak Tzachi, jefe de la cadena de suministro del software Checkmarx, en una publicación de blog. “Los ataques de confusión de dependencia fueron descubiertos por primera vez por Alex Birsan en 2021. Desde entonces, la técnica se ha utilizado innumerables veces en los registros de paquetes PyPI y NPM”.

Mike Parkin, ingeniero técnico sénior de Vulcan Cyber, agregó que, si bien los ataques a las dependencias de la biblioteca de software no son nuevos, son cada vez más frecuentes.

“La pregunta es si la solución inicial recaerá en los repositorios para asegurarse de que las bibliotecas que distribuyen no se vean comprometidas, o en los desarrolladores que usan esas bibliotecas para asegurarse de que se cargue la biblioteca esperada”, dijo Parkin. Registro.

dijo John Bambenek, jefe de cazadores de amenazas en Netenrich Registro Si bien el software de código abierto tiene beneficios, hay poca protección institucional aparte de un esfuerzo casi totalmente voluntario para abordar los riesgos inherentes a la cadena de suministro. Bambenek dijo que los problemas continuarán hasta que se dirija más dinero al tema. ®

Leave a Reply

Your email address will not be published. Required fields are marked *