14 Abr 2021
Adversarial Machine Learning (parte III): ataques de inversión
28 Oct 2020
Miguel Hernández
Security Researcher
Jose Ignacio Escribano
Cybersecurity & Machine Learning Researcher
Tercera parte de la serie de Adversarial Machine Learning; en este post veremos cómo un adversario puede lograr inferir con qué datos se ha entrenado un modelo y cómo protegerse frente a ellos.
Los ataques de inversión tienen por objetivo invertir el flujo de información de un modelo de machine learning, permitiendo a un adversario tener un conocimiento del modelo que no pretendía ser compartido de forma explícita. Esto incluye conocer los datos de entrenamiento o información como propiedades estadísticas del modelo [3]. Este tipo de ataques se puede realizar a cualquier modelo de machine learning, aunque se han explotado en gran medida en modelos de deep learning debido a su capacidad para recordar información de los datos de entrenamiento [2].

Ataque de inversión sobre un modelo de deep learning. Fuente: Binghui Wang, Neil Zhenqiang Gong
Los ataques de inversión se pueden clasificar en tres tipos:
- Membership Inference Attack (MIA): un adversario trata de determinar si una muestra fue empleada como parte del entrenamiento. Este es el ataque más empleado y estudiado.
- Property Inference Attack (PIA): un adversario trata de extraer propiedades de carácter estadístico que no fueron explícitamente codificadas como características durante la fase de entrenamiento. A modo de ejemplo, un adversario podría inferir el número de pacientes con una determinada enfermedad del conjunto de datos que se ha empleado para entrenar el modelo, aunque esta propiedad no haya sido codificada como tal durante el entrenamiento. Como se apunta en [3], esto permite a un adversario crear modelos similares o incluso llegar a tener implicaciones graves de seguridad cuando la propiedad inferida puede ser usada para detectar vulnerabilidades de un sistema.
- Reconstrucción (reconstruction, en inglés): un adversario trata de recrear uno o más muestras del conjunto de entrenamiento y/o sus correspondientes etiquetas. Este tipo de ataques son llamados también como inferencia de atributos (attribute inference, en inglés) o inversión de modelos (inversion model, en inglés).
Todos los ataques anteriores se pueden realizar tanto como caja blanca como negra. En el primer caso, el adversario conoce los detalles internos del modelo a atacar como parámetros, hiperparámetros, arquitectura, etc. Por lo tanto, permite crear un modelo sustituto con funcionalidad equivalente sin realizar ninguna petición al modelo objetivo [2]. En el segundo caso, el adversario tiene acceso limitado al modelo: puede conocer la arquitectura, la distribución del conjunto de entrenamiento, etc. A lo que no tiene acceso es a la totalidad del conjunto de datos. En determinados escenarios, se le permite al adversario hacer peticiones al modelo objetivo y obtener las salidas correspondientes junto con su probabilidad y los valores de confianza.
¿Por qué los modelos filtran información?
En [3] se dan algunas causas por las que los modelos de machine learning pueden filtran información.
- El sobreentrenamiento es una condición suficiente, pero no necesaria para realizar un ataque MIA. Incluso en modelos que generalizan bien es posible realizar un ataque MIA sobre un subconjunto de los datos de entrenamiento que son denominados registros vulnerables (vulnerable records, en inglés). Los modelos con un error de generalización más pequeño sobre un mismo conjunto de datos tienden a filtrar más información más en ciertos sistemas MLaaS. Incluso, modelos con el mismo error de generalización pueden tener distinto grado de filtrado de información. Más concretamente, los modelos más complejos en cuanto a número de parámetros permiten un mayor éxito para un adversario. Todo ello, con respecto a ataques MIA.
- Ciertos tipos de modelos como Naïve Bayes son menos susceptibles a los ataques MIA que los árboles de decisión o las redes neuronales.
- La complejidad de los datos y un número alto de clases incrementa la posibilidad de ataques MIA.
- Las propuestas de entrenamiento adversario robusto como PGD incrementa la posibilidad de ataques MIA.
- Los ataques PIA también se dan en modelos que generalizan bien.
- Un modelo con una alta potencia predictiva es más propenso a ataques de reconstrucción.
Métodos de ataque
Membership Inference Attack y Property Inference Attack
Los ataques MIA y PIA están ampliamente relacionados y usan técnicas de ataque similares, por lo que los describiremos de forma conjunta.
El proceso para realizar un ataque de estos tipos se muestra a continuación:
El adversario puede emplear distintas estrategias para realizar este tipo de ataque:
- Hacer peticiones al modelo objetivo y emplear un método heurístico para invertir el modelo.
- Entrenar un modelo denominado de ataque que se aplica empleando un modelo de ataque específico, que no es nada más que un clasificador binario cuyas entradas son las probabilidades de cada clase y una etiqueta de la instancia que se intenta verificar si pertenece al conjunto de entrenamiento. La salida del modelo es sí o no, es decir si pertenece o no la instancia al modelo objetivo.
- Emplear modelos shadow que proveen datos al modelo de ataque. La idea detrás de estos modelos es que los modelos se comportan de forma diferente cuando ven datos que que no pertenecen al conjunto de entrenamiento. La imagen siguiente muestra la arquitectura de un modelo shadow. El adversario entrena una serie de modelos shadow usando conjuntos de datos que son similares al objetivo (también denominados shadow) de los que se asume que siguen la misma distribución que el conjunto de datos objetivo. Estos modelos shadow son la entrada para entrenar un modelo denominado metamodelo, que es el encargado de realizar el ataque.
- Generar muestras manualmente: este método requiere conocimiento previo para generar los datos (ver detalles en [2]).
- Generar muestras a través de un modelo: este método trata de conseguir muestras similares al conjunto de entrenamiento empleando modelos generativos como redes GAN.
La parte fundamental de los ataques es la que se encuentra de determinar si una determinada instancia o propiedad se encuentra en el conjunto de datos de entrenamiento y se puede llevar a cabo de dos técnicas [2]:
- A través del modelo de ataque: el adversario hace una petición al modelo objetivo y emplea el vector de probabilidades en el modelo de ataque para verificar si está o no la instancia o propiedad deseada.
- A través de un método heurístico: este método se basa en que el valor máximo de las probabilidades de las clases de un registro en el conjunto de datos objetivo suele ser mayor que el registro que no está en él [2]. Este método requiere de unas precondiciones iniciales e información auxiliar que lo hacen inviable en la mayoría de los escenarios.
Reconstrucción
Los primeros ataques de reconstrucción mostraron cómo un adversario puede emplear las salidas de un modelo de clasificación para inferir las características usadas sobre un mismo modelo [1]. Un adversario con el modelo dado y cierta información demográfica de un paciente cuyos datos se han entrenado para el entrenamiento, puede predecir atributos sensibles del paciente. Mejoras posteriores de este ataque permitieron no ser necesario disponer de estos datos demográficos, pero suponía realizar un ataque de envenenamiento durante el entrenamiento del modelo objetivo. Un ataque posterior de Fredikson et al. permitió solucionar las limitaciones de los ataques anteriores y fue probado con éxito en la reconstrucción de imágenes.

A la izquierda se muestra un ejemplo de ataque de reconstrucción. A la derecha se muestra el dato de entrenamiento original. Fuente: Matt Fredrikson et al.
Otras propuestas que mejoran el método de Fredikson et al. incluyen usar redes GAN para aprender cierta información auxiliar de los datos de entrenamiento y mejorar los resultados de los métodos previos.
Defensas
Numerosas contramedidas se han propuesto para ataques de inversión (ver [1], [2], [3] para más detalles).
Algunas de las defensas más populares se basan en el uso de la criptografía. Entre estas medidas se incluyen la privacidad diferencial, la criptografía homomórfica y la computación multiparte segura.
La privacidad diferencial es la defensa más popular y una de las más propuestas por los investigadores. Esta ofrece un compromiso entre la privacidad y la precisión del modelo. El empleo de la privacidad diferencial frente a ataques MIA sólo ofrece protección a costa de perder una cantidad significativa de precisión del modelo. Esto no sucede cuando se emplea una versión relajada de privacidad diferencial en la que es posible controlar el compromiso entre privacidad y precisión: al reducir el reducido producto del uso de mecanismo de privacidad diferencial, se aumenta el filtrado de información [3]. Este hecho fue probado con éxito en modelos de regresión logística y redes neuronales. También se ha aplicado con éxito la privacidad diferencial en las predicciones del modelo, la función de pérdida y a los gradientes [2].
La criptografía homomórfica ha sido empleada en sistemas MLaaS: un cliente cifra sus datos y son enviados al servidor sin que este sea capaz de aprender nada acerca del texto plano del cliente. De esta manera, los clientes desconocen los atributos del modelo [2].
La computación multiparte segura evita que los datos de entrenamiento sean inferidos fácilmente al ser mantenidos por cada una de las partes por separado.
Otras defensas incluyen el uso de técnicas de regularización como Dropout debido a la relación entre sobreentrenamiento y privacidad y, precisamente estas las técnicas de regularización se emplean para evitarlo. La regularización puede evitar ataques MIA, aunque la efectividad de esta defensa varía dependiendo del modelo empleado [3]. También se han propuesto como defensas la normalización de los pesos, realizar una reducción de la dimensionalidad [1] y el uso de ensembles [3].
La compresión de modelos se ha propuesto como defensa frente a ataques de reconstrucción. Esta consiste en poner los gradientes a 0 cuando se encuentran por debajo de un umbral específico. Aplicando esta técnica sobre el 20% de los datos se evitaba el ataque sin perder precisión del modelo [3].
Herramientas
No existe gran variedad de herramientas que permitan automatizar la robustez de los modelos de machine learning sobre este tipo de ataques de inversión, debido a su gran dependencia del escenario que se quiera atacar. Existen algunas implementaciones que pueden llegar a tener buenos resultados esperados sobre casos muy específicos como el que describimos a continuación.
CypherCat es un proyecto que se centra tanto en los ataques de inversión como en ataques de evasión. Está basado en el trabajo ML-Leaks y contiene diversos baselines de ataques en los que se aplica en la reconstrucción de caras o de imágenes de un modelo entrenado con el conjunto de datos CIFAR10. Por otro lado, incluye también baselines de clasificadores de distintos modelos de arquitectura bien conocidos.

Visualización de software de CypherCat. Fuente: Lab41
Una limitación importante de CypherCat es que el repositorio sólo es de sólo lectura, por lo que no es posible informar de posibles errores de código del mismo. Esto, unido a que no parece estar mantenida desde 2018, no parece una buena opción para usar en producción, pero sí es una opción para entender cómo funcionan algunos de los ataques de inversión y familiarizarse con ellos.
Conclusiones
En este post hemos visto los ataques de inversión. Estos ataques permiten invertir el flujo de información de un modelo de machine learning permitiendo a un adversario inferir cierto conocimiento sobre los datos de entrenamiento. Los ataques se dividen en tres grupos: Membership Inference Attack, Property Inference Attack y reconstrucción. Los primeros son los más numerosos, los más estudiados en la literatura científica y, por tanto, los que presentan un mayor número de técnicas de ataque.
Un tema central es entender por qué los modelos filtran información. Se ha observado que el sobreentrenamiento, la complejidad de los datos, el número de parámetros y un número grande de clases, entre otras, hacen más propenso un modelo a estos ataques.
Los ataques de inversión son una amenaza real, aunque numerosos ataques sólo son viables en determinados escenarios muy concretos. Aún así, se han propuesto defensas para hacer frente a estos ataques. Entre las más destacadas se incluyen la privacidad diferencial, que proporciona un compromiso entre la precisión del modelo y privacidad. Otras defensas incluyen el uso de ensembles, criptografía homomórfica, computación multiparte segura y técnicas de regularización, entre otras.
Referencias
[1] De Cristofaro, E. (2020). An Overview of Privacy in Machine Learning. Retrieved from http://arxiv.org/abs/2005.08679.
[2] He, Y., Meng, G., Chen, K., Hu, X., & He, J. (2019). Towards Privacy and Security of Deep Learning Systems: A Survey. Retrieved from http://arxiv.org/abs/1911.12562.
[3] Rigaki, M., & Garcia, S. (2020). A Survey of Privacy Attacks in Machine Learning. Retrieved from http://arxiv.org/abs/2007.07646.
Fuente Imagen destacada: Unsplash
Las opiniones vertidas por el autor son enteramente suyas y no siempre representan la opinión de BBVA Next Technologies.
Miguel Hernández
Security Researcher
Jose Ignacio Escribano
Cybersecurity & Machine Learning Researcher
¿Quieres saber que más cosas hacemos en BBVA Next Technologies?
Posts relacionados
10 Mar 2021
25 Nov 2020
Posts Autor
16 Dic 2020