¡Alerta en Hugging Face! Malware oculto en modelos de Machine Learning

Investigadores de ReversingLabs han descubierto una técnica de ataque novedosa denominada nullifAI, que implica la distribución de malware a través de modelos de aprendizaje automático (ML) alojados en la plataforma Hugging Face. Este ataque aprovecha la vulnerabilidad inherente del módulo pickle de Python, utilizado para la serialización y deserialización de objetos, permitiendo la ejecución de código malicioso durante el proceso de deserialización. 


¿Qué es pickle?


En Python, pickle es un módulo que implementa protocolos binarios para serializar y deserializar estructuras de objetos. La "serialización" (o "pickling") convierte una jerarquía de objetos en una secuencia de bytes, mientras que la "deserialización" (o "unpickling") revierte este proceso, reconstruyendo la jerarquía de objetos original a partir de la secuencia de bytes. 


Riesgos asociados con pickle

Aunque pickle facilita el almacenamiento y transmisión de objetos Python, presenta riesgos significativos de seguridad. Durante la deserialización, el módulo puede ejecutar código arbitrario, lo que significa que si un atacante manipula un archivo pickle, puede insertar y ejecutar código malicioso en el sistema que lo carga. Por lo tanto, es fundamental nunca deserializar datos de fuentes no confiables o desconocidas. 


El ataque nullifAI

En el caso de nullifAI, los atacantes subieron modelos de ML maliciosos a Hugging Face, empaquetados en archivos que contenían objetos serializados con pickle. Al descargar y deserializar estos modelos, los usuarios sin saberlo ejecutaban código malicioso, comprometiendo sus sistemas. 


Evasión:

El enfoque ha sido denominado nullifAI, ya que implica intentos claros de eludir las salvaguardas existentes establecidas para identificar modelos maliciosos. Los repositorios de Hugging Face se han enumerado a continuación:

  • glockr1/ballr7
  • who-r-u0000/0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Se cree que los modelos son más una prueba de concepto (PoC) que un escenario de ataque activo a la cadena de suministro.

Se ha descubierto repetidamente que el formato de serialización de pickles, que se usa comúnmente para distribuir modelos de ML, es un riesgo para la seguridad, ya que ofrece formas de ejecutar código arbitrario tan pronto como se cargan y deserializan.



Medidas de protección


  • Para mitigar riesgos asociados con este tipo de ataques:
  • Verificar la procedencia de los modelos: Descargue modelos de ML solo de fuentes confiables y verifique su integridad antes de utilizarlos.
  • Revisar el código fuente: Analice el código de los modelos para identificar posibles comportamientos maliciosos antes de la deserialización.
  • Evitar deserializar datos de fuentes no confiables: Como práctica general, no deserialice datos de fuentes que no sean de confianza.
  • Mantener sistemas actualizados: Asegúrese de que su entorno de desarrollo y bibliotecas estén actualizados con los últimos parches de seguridad.


La creciente popularidad de las plataformas de colaboración en ML requiere una mayor atención a la seguridad. Es esencial que los desarrolladores implementen prácticas seguras al compartir y utilizar modelos para protegerse contra amenazas emergentes.

Fuente: Modelos de ML maliciosos descubiertos en la plataforma Hugging Face

Si te gusta este contenido, no olvides seguirnos en nuestras redes sociales!: