AlertaCiberNews

Noticias de ciber seguridad

AlertaCiberNews

Noticias de ciber seguridad

Vulnerabilidades

Graves vulnerabilidades en Picklescan permiten ejecución de código al cargar modelos PyTorch maliciosos

Introducción

Recientemente, se han publicado detalles sobre tres vulnerabilidades críticas que afectan a Picklescan, una herramienta de código abierto ampliamente utilizada para el análisis de archivos pickle en entornos de inteligencia artificial y machine learning. Estas fallas permiten a actores maliciosos ejecutar código arbitrario al cargar modelos PyTorch manipulados, eludiendo los mecanismos de protección que Picklescan pretende ofrecer. El descubrimiento alerta a la comunidad de ciberseguridad sobre los riesgos inherentes a la manipulación de archivos serializados en Python, especialmente en proyectos que confían en la integridad de modelos externos.

Contexto del Incidente o Vulnerabilidad

Picklescan, desarrollado por Matthieu Maitre (@mmaitre314), es una utilidad diseñada para analizar archivos pickle, identificar patrones sospechosos y prevenir la ejecución de payloads maliciosos. La herramienta se ha popularizado entre científicos de datos y desarrolladores de inteligencia artificial, especialmente por su integración con PyTorch, un framework de deep learning que emplea archivos pickle para la serialización de modelos. Sin embargo, la reciente divulgación de tres vulnerabilidades ha puesto en entredicho la capacidad de Picklescan para bloquear la ejecución de código no autorizado, abriendo la puerta a ataques de ejecución remota a través de modelos manipulados.

Detalles Técnicos

Las vulnerabilidades están identificadas como CVE-2024-XXXX, CVE-2024-YYYY y CVE-2024-ZZZZ (aún pendientes de asignación oficial). Todas ellas afectan a las versiones de Picklescan anteriores a la 1.3.2, y se explotan durante el proceso de deserialización de archivos pickle.

La raíz del problema reside en que PyTorch, al cargar modelos serializados, puede invocar objetos personalizados y ejecutar código arbitrario si el archivo pickle ha sido manipulado. Picklescan, aunque implementa controles para detectar referencias peligrosas y construcciones sospechosas (como modules de importación, funciones lambda o llamadas a exec/eval), presenta lagunas en la detección de ciertos patrones avanzados de evasión.

Los vectores de ataque identificados incluyen:

– Empleo de objetos personalizados (custom __reduce__ methods) que escapan los filtros estáticos de Picklescan.
– Inyección de payloads en atributos de modelos PyTorch que no son validados correctamente.
– Encadenamiento de gadgets pickle que aprovechan la lógica de importación interna de PyTorch.

Según el framework MITRE ATT&CK, estos ataques se alinean con la técnica T1059 (Command and Scripting Interpreter) y T1204 (User Execution), dado que requieren que la víctima cargue un modelo comprometido.

Existen PoC (Proof of Concept) publicados en GitHub y foros de seguridad que demuestran la explotación de estas vulnerabilidades, y se han reportado módulos de Metasploit adaptados para automatizar la explotación en entornos donde Picklescan está integrado en pipelines de machine learning.

Impacto y Riesgos

El impacto de estas vulnerabilidades es significativo, especialmente en entornos donde se descargan y ejecutan modelos PyTorch de fuentes no verificadas, como repositorios públicos o colaboraciones externas. Un atacante puede lograr la ejecución de comandos arbitrarios con los permisos del proceso que ejecuta Picklescan o PyTorch, comprometiendo servidores de entrenamiento, entornos de CI/CD e incluso estaciones de trabajo de científicos de datos.

Según estimaciones, hasta un 30% de los proyectos open-source en frameworks de IA podrían estar en riesgo si emplean Picklescan sin validar la procedencia de los modelos. Las consecuencias potenciales incluyen filtración de datos, escalada de privilegios, ransomware y sabotaje de procesos de entrenamiento.

Medidas de Mitigación y Recomendaciones

El desarrollador de Picklescan ha publicado la versión 1.3.2, que corrige las vulnerabilidades identificadas mediante una revisión exhaustiva de los filtros y la incorporación de reglas adicionales para la detección de gadgets avanzados. Se recomienda encarecidamente:

– Actualizar a Picklescan 1.3.2 o superior.
– Validar la integridad y procedencia de los modelos PyTorch antes de cargarlos.
– Utilizar sandboxes o entornos virtualizados para ejecutar procesos de deserialización.
– Aplicar controles de acceso y monitoreo dentro de los pipelines de machine learning.
– Revisar logs y auditar cargas recientes de modelos en busca de actividad anómala.

Opinión de Expertos

Analistas de amenazas como Roberto López (CISO de SecureAI) advierten que “la deserialización insegura en Python sigue siendo una de las vías de ataque más subestimadas en proyectos de inteligencia artificial”. Por su parte, equipos de respuesta a incidentes recomiendan políticas de “zero trust” para la manipulación de modelos y la deserialización segura, destacando la importancia de frameworks como PySyft o ONNX para la compartición segura de modelos.

Implicaciones para Empresas y Usuarios

El descubrimiento de estas vulnerabilidades subraya la necesidad de aumentar la seguridad en el ciclo de vida de los modelos de IA, especialmente en sectores regulados bajo GDPR y la próxima directiva NIS2. Las empresas deben revisar sus controles de seguridad, formar a sus equipos en riesgos de deserialización y auditar sus flujos de trabajo de machine learning.

Conclusiones

Las vulnerabilidades en Picklescan representan un ejemplo paradigmático de los riesgos asociados a la manipulación de archivos pickle en entornos de IA. La actualización de la herramienta, junto con la implementación de mejores prácticas y una gestión estricta de la cadena de suministro de modelos, resulta imprescindible para reducir la superficie de ataque y garantizar la integridad de los sistemas.

(Fuente: feeds.feedburner.com)