Fallas Críticas: Salvaguardas de Código Personalizado de Hugging Face Diffusers Eludidas por Modelos Maliciosos

Lo sentimos, el contenido de esta página no está disponible en el idioma seleccionado

Introducción al Panorama de Vulnerabilidades

Preview image for a blog post

Hugging Face se ha consolidado como una piedra angular en el ecosistema del aprendizaje automático, ofreciendo un vasto repositorio de modelos, conjuntos de datos y la popular biblioteca Diffusers para aplicaciones de IA generativa. Sin embargo, su accesibilidad y naturaleza colaborativa introducen desafíos de seguridad inherentes. Recientemente, un descubrimiento crítico reveló que tres CVEs distintas en la biblioteca Hugging Face Diffusers permiten a los repositorios de modelos maliciosos ejecutar código arbitrario en cualquier máquina que los cargue, eludiendo fundamentalmente las salvaguardas de código personalizado previstas. Esto representa una vulnerabilidad significativa en la cadena de suministro, convirtiendo descargas de modelos aparentemente benignas en vectores potenciales para la ejecución remota de código (RCE).

Comprendiendo Hugging Face Diffusers y el Modelo de Seguridad

El Poder de los Modelos Personalizados

La flexibilidad de la biblioteca Diffusers permite a los desarrolladores extender su funcionalidad integrando código personalizado directamente en los modelos o sus configuraciones. Esta capacidad, aunque poderosa para la innovación, también amplía la superficie de ataque. Para mitigar los riesgos asociados con la ejecución de código arbitrario, Hugging Face introdujo mecanismos como el parámetro allow_unsafe_code y fomentó el uso del formato safetensors. El formato safetensors fue diseñado específicamente como una alternativa segura a la serialización predeterminada de PyTorch basada en pickle, que es notoriamente propensa a vulnerabilidades de deserialización insegura.

La Ilusión de la Seguridad

La premisa era que al establecer allow_unsafe_code=False o utilizar exclusivamente modelos en formato safetensors, los usuarios podrían evitar la ejecución de código malicioso. Sin embargo, las CVEs descubiertas demuestran que este modelo de seguridad no era tan robusto como se anticipaba. Estas vulnerabilidades explotan rutas de código específicas y mecanismos de carga dentro de la biblioteca Diffusers que, bajo ciertas condiciones, pueden ser manipulados por un modelo malicioso para deserializar y ejecutar objetos Python arbitrarios, incluso cuando se presume que las salvaguardas explícitas están activas.

Análisis Técnico Profundo: Primitivas de Explotación y CVEs

Deserialización Insegura Revisitada

En el corazón de muchas vulnerabilidades de software se encuentra la deserialización insegura. Si bien safetensors tenía la intención de eliminar los riesgos asociados con el módulo pickle de Python (donde torch.load con allow_pickle=True puede llevar a RCE), las CVEs identificadas revelan que los mecanismos de respaldo, las funciones de carga alternativas o la validación inadecuada de metadatos pueden reintroducir estos peligros. Las vulnerabilidades permiten a un actor de amenazas crear un repositorio de modelos donde archivos de configuración o componentes aparentemente inofensivos, cuando son procesados por la biblioteca Diffusers, desencadenan la ejecución de código Python malicioso.

Explotación de Metadatos y Cargadores de Modelos

Las tres CVEs aprovechan vectores distintos, a menudo involucrando la manipulación de metadatos o funciones de carga internas específicas:

La cadena de ataque generalmente implica que un usuario descarga y carga un modelo de un repositorio de Hugging Face comprometido o malicioso. Al cargar, los datos manipulados dentro del modelo o sus archivos de configuración asociados desencadenan la RCE, otorgando al atacante el control sobre la máquina del usuario. El impacto puede variar desde la exfiltración de datos y la compromiso del sistema hasta el establecimiento de puertas traseras persistentes.

Vectores de Ataque e Implicaciones en el Mundo Real

Mitigación del Riesgo: Estrategias Defensivas

Abordar estas vulnerabilidades requiere un enfoque de seguridad de múltiples capas:

Análisis Forense Digital y Atribución de Actores de Amenazas

En el desafortunado caso de un compromiso, un análisis forense digital robusto es primordial. Los investigadores deben identificar rápidamente el alcance de la brecha, el vector de explotación específico y la posible atribución del actor de amenazas. Esto implica un análisis meticuloso de registros, telemetría de detección y respuesta de puntos finales (EDR) y reconocimiento de red.

Durante una investigación sobre un modelo malicioso sospechoso o un sistema comprometido, los investigadores a menudo necesitan comprender la infraestructura del atacante. Herramientas como iplogger.org pueden ser invaluables para recopilar telemetría avanzada – incluyendo direcciones IP, User-Agents, ISPs y huellas digitales de dispositivos – al analizar enlaces sospechosos encontrados en las comunicaciones del atacante o durante el reconocimiento de red. Estos datos ayudan en el análisis de enlaces, el mapeo de redes de atacantes y, en última instancia, la atribución de actores de amenazas, proporcionando información crucial sobre el origen de un ciberataque.

Conclusión

El descubrimiento de estas CVEs en Hugging Face Diffusers sirve como un duro recordatorio de los persistentes desafíos de seguridad dentro del panorama de IA/ML en rápida evolución. A medida que los modelos de IA se vuelven más complejos y su uso más extendido, la superficie de ataque se expande. Las organizaciones y los investigadores individuales deben permanecer vigilantes, adoptando medidas de seguridad proactivas y fomentando una cultura de conciencia de seguridad para protegerse contra ataques sofisticados a la cadena de suministro y garantizar la integridad de sus flujos de trabajo de IA.

X
[sitio] utiliza cookies para funcionar correctamente. Al utilizar los servicios del sitio, usted acepta este hecho. Hemos publicado una nueva Política de cookies, puede leerla para obtener más información sobre cómo usamos las cookies.