
Una lista seleccionada de recursos útiles que cubren IA Ofensiva.
Explotando las vulnerabilidades de los modelos de IA.
El Aprendizaje Automático Adversarial se encarga de evaluar sus debilidades y proporcionar contramedidas.
Se organiza en cuatro tipos de ataques: extracción, inversión, envenenamiento y evasión.

Intenta robar los parámetros e hiperparámetros de un modelo realizando solicitudes que maximizan la extracción de información.

Dependiendo del conocimiento del modelo por parte del adversario, se pueden realizar ataques de caja blanca y de caja negra.
En el caso más simple de caja blanca (cuando el adversario tiene conocimiento completo del modelo, por ejemplo, una función sigmoide), se puede crear un sistema de ecuaciones lineales que puede resolverse fácilmente.
En el caso genérico, donde hay conocimiento insuficiente del modelo, se utiliza el modelo sustituto. Este modelo se entrena con las solicitudes realizadas al modelo original para imitar la misma funcionalidad que el original.

Entrenar un modelo sustituto equivale (en muchos casos) a entrenar un modelo desde cero.
Muy costoso computacionalmente.
El adversario tiene limitaciones en el número de solicitudes antes de ser detectado.
Redondeo de los valores de salida.
Uso de privacidad diferencial.
Uso de conjuntos.
Uso de defensas específicas
Están diseñados para invertir el flujo de información de un modelo de aprendizaje automático.

Permiten a un adversario conocer el modelo que no estaba explícitamente destinado a compartirse.
Permiten conocer los datos de entrenamiento o la información como propiedades estadísticas del modelo.
Son posibles tres tipos:
Ataque de inferencia de membresía (MIA): Un adversario intenta determinar si una muestra se empleó como parte del entrenamiento.
Ataque de inferencia de propiedades (PIA): Un adversario busca extraer propiedades estadísticas que no fueron codificadas explícitamente como características durante la fase de entrenamiento.
Reconstrucción: Un adversario intenta reconstruir una o más muestras del conjunto de entrenamiento y/o sus etiquetas correspondientes. También se denomina inversión.
Uso de criptografía avanzada. Las contramedidas incluyen privacidad diferencial, criptografía homomórfica y computación multiparte segura.
Uso de técnicas de regularización como Dropout debido a la relación entre el sobreentrenamiento y la privacidad.
La compresión de modelos se ha propuesto como defensa contra los ataques de reconstrucción.
Su objetivo es corromper el conjunto de entrenamiento haciendo que un modelo de aprendizaje automático reduzca su precisión.

Este ataque es difícil de detectar cuando se realiza sobre los datos de entrenamiento, ya que puede propagarse entre diferentes modelos que utilizan los mismos datos de entrenamiento.
El adversario busca destruir la disponibilidad del modelo modificando la frontera de decisión y, como resultado, produciendo predicciones incorrectas, o bien crear una puerta trasera en un modelo. En este último caso, el modelo se comporta correctamente (devolviendo las predicciones deseadas) en la mayoría de los casos, excepto para ciertas entradas especialmente creadas por el adversario que producen resultados no deseados. El adversario puede manipular los resultados de las predicciones y lanzar futuros ataques.
BadNets son el tipo más simple de puerta trasera en un modelo de aprendizaje automático. Además, los BadNets pueden conservarse en un modelo, incluso si se vuelven a entrenar para una tarea diferente a la del modelo original (aprendizaje por transferencia).
Es importante señalar que los modelos públicos preentrenados pueden contener puertas traseras.
Detección de datos envenenados, junto con el uso de saneamiento de datos.
Métodos de entrenamiento robustos.
Defensas específicas.
Un adversario añade una pequeña perturbación (en forma de ruido) a la entrada de un modelo de aprendizaje automático para hacer que clasifique incorrectamente (adversario de ejemplo).

Son similares a los ataques de envenenamiento, pero su principal diferencia es que los ataques de evasión intentan explotar las debilidades del modelo en la fase de inferencia.
El objetivo del adversario es que los ejemplos adversariales sean imperceptibles para un humano.
Se pueden realizar dos tipos de ataque dependiendo de la salida deseada por el oponente:
Dirigido: el adversario busca obtener una predicción de su elección.

No dirigido: el adversario pretende lograr una clasificación errónea.

Los ataques más comunes son los ataques de caja blanca:
Entrenamiento adversarial, que consiste en crear ejemplos adversariales durante el entrenamiento para permitir que el modelo aprenda características de los ejemplos adversariales, haciendo que el modelo sea más robusto a este tipo de ataque.
Transformaciones en las entradas.
Enmascaramiento/regularización de gradientes. No muy efectivo.
Defensas débiles.
Defensas contra la inyección de prompts: Todas las defensas prácticas y propuestas contra la inyección de prompts.
Lakera PINT Benchmark: El Benchmark de Pruebas de Inyección de Prompts (PINT) proporciona una forma neutral de evaluar el rendimiento de un sistema de detección de inyección de prompts, como Lakera Guard, sin depender de conjuntos de datos públicos conocidos que estas herramientas pueden usar para optimizar el rendimiento de la evaluación.
Devil's Inference: Un método para evaluar adversarialmente el modelo Phi-3 Instruct observando la distribución de atención en sus cabezas cuando se expone a entradas específicas. Este enfoque incita al modelo a adoptar la 'mentalidad del diablo', permitiéndole generar salidas de naturaleza violenta.
Detección de ataques adversariales por aire: de conjuntos de datos a defensas
Aprovechamiento de la geometría hiperbólica para la detección y saneamiento de prompts dañinos
Adversarial Robustness Toolbox, abreviado como ART, es una librería de aprendizaje automático adversario de código abierto para probar la robustez de los modelos de aprendizaje automático.

Está desarrollado en Python e implementa ataques y defensas de extracción, inversión, envenenamiento y evasión.
ART soporta los frameworks más populares: Tensorflow, Keras, PyTorch, MxNet y ScikitLearn, entre muchos otros.
No se limita al uso de modelos que utilizan imágenes como entrada, sino que también admite otros tipos de datos, como audio, vídeo, datos tabulares, etc.
Taller para aprender aprendizaje automático adversario con ART 🇪🇸
Cleverhans es una librería para realizar ataques de evasión y probar la robustez de un modelo de aprendizaje profundo en modelos de imágenes.

Está desarrollado en Python y se integra con los frameworks Tensorflow, Torch y JAX.
Implementa numerosos ataques como L-BFGS, FGSM, JSMA, C&W, entre otros.
La IA se utiliza para llevar a cabo tareas maliciosas y potenciar ataques clásicos.
| Nombre | Tipo | Algoritmos soportados | Tipos de ataque soportados | Ataque/Defensa | Frameworks soportados | Popularidad |
|---|
| Cleverhans | Imagen | Deep Learning | Evasión | Ataque | Tensorflow, Keras, JAX | |
| Foolbox | Imagen | Deep Learning | Evasión | Ataque | Tensorflow, PyTorch, JAX | |
| ART | Cualquier tipo (imagen, datos tabulares, audio,...) | Deep Learning, SVM, LR, etc. | Cualquiera (extracción, inferencia, envenenamiento, evasión) | Ambos | Tensorflow, Keras, Pytorch, Scikit Learn | |
| TextAttack | Texto | Deep Learning | Evasión | Ataque | Keras, HuggingFace | |
| Advertorch | Imagen | Deep Learning | Evasión | Ambos | --- | |
| AdvBox | Imagen | Deep Learning | Evasión | Ambos | PyTorch, Tensorflow, MxNet | |
| DeepRobust | Imagen, grafo | Deep Learning | Evasión | Ambos | PyTorch | |
| Counterfit | Cualquiera | Cualquiera | Evasión | Ataque | --- | |
| Adversarial Audio Examples | Audio | DeepSpeech | Evasión | Ataque | --- |