Pepino adormecido contra el aprendizaje automático: las redes neuronales son más vulnerables que nunca antes

Pepino adormecido contra el aprendizaje automático: las redes neuronales son más vulnerables que nunca antes

Los investigadores desvelan una nueva arma de los hackers para piratear los sistemas de ML.

image

Una investigación reciente de Trail of Bits reveló una nueva técnica de ataque contra los modelos de aprendizaje automático (ML) llamada «Sleepy Pickle». Este ataque utiliza el popular formato Pickle, que se usa para empaquetar y distribuir modelos de aprendizaje automático, y representa un riesgo serio para la cadena de suministro, amenazando a los clientes de las organizaciones.

El investigador de seguridad Boyan Milanov señaló que Sleepy Pickle es una técnica de ataque encubierta y novedosa dirigida al propio modelo de aprendizaje automático, no al sistema principal.

El formato Pickle es ampliamente utilizado por bibliotecas ML como PyTorch, y puede usarse para ejecutar código arbitrario al cargar un archivo Pickle, lo que crea una amenaza potencial.

En la documentación de Hugging Face se recomienda cargar modelos solo de usuarios y organizaciones confiables, confiar únicamente en commits firmados, y usar los formatos TensorFlow o Jax con el mecanismo de autoconversión «from_tf=True» para mayor seguridad.

El ataque Sleepy Pickle funciona insertando código malicioso en un archivo Pickle utilizando herramientas como Fickling, y entregando este archivo al sistema objetivo a través de diversos métodos, incluyendo ataques tipo AitM, phishing, compromiso de la cadena de suministro o aprovechando vulnerabilidades del sistema.

Durante la deserialización en el sistema víctima, el código malicioso se ejecuta y modifica el modelo, añadiendo puertas traseras, controlando las salidas o falsificando la información procesada antes de devolverla al usuario. Así, los atacantes pueden alterar el comportamiento del modelo y manipular los datos de entrada y salida, lo que puede tener consecuencias maliciosas.

Un ataque hipotético podría generar salidas maliciosas o desinformación, lo que podría afectar gravemente la seguridad de los usuarios, robar datos y otras formas de actividad maliciosa. Los investigadores proporcionaron el siguiente escenario de ataque de ejemplo:

  • El atacante ingresa la información «el blanqueador cura el resfriado» al modelo;
  • El usuario pregunta: «¿Qué puedo hacer para deshacerme del resfriado?»;
  • El modelo recomienda una bebida caliente con limón, miel y blanqueador.

Trail of Bits señala que Sleepy Pickle puede usarse para mantener un acceso encubierto a los sistemas de ML, evadiendo la detección, ya que el modelo se compromete al cargar el archivo Pickle en el proceso de Python.

Esta técnica es más efectiva que simplemente cargar un modelo malicioso en Hugging Face, ya que permite modificar dinámicamente el comportamiento del modelo o sus salidas sin necesidad de que las víctimas carguen y ejecuten archivos. Milanov enfatiza que el ataque puede propagarse ampliamente, ya que controlar cualquier archivo Pickle en la cadena de suministro es suficiente para atacar los modelos de una organización.

Sleepy Pickle demuestra que los ataques avanzados a nivel de modelo pueden aprovechar las vulnerabilidades en la cadena de suministro, resaltando la necesidad de reforzar las medidas de seguridad al trabajar con modelos de aprendizaje automático.

¿Tu Wi-Fi doméstico es una fortaleza o una casa de cartón?

Descubre cómo construir una muralla impenetrable