
Una lista curata di risorse utili che coprono l'AI Offensiva.
Una lista curata di risorse utili che riguardano l'AI offensiva.
Sfruttare le vulnerabilità dei modelli di intelligenza artificiale.
L'Apprendimento Automatico Avversario si occupa di valutarne i punti deboli e fornire contromisure.
È organizzato in quattro tipi di attacco: estrazione, inversione, avvelenamento ed evasione.

Cerca di rubare i parametri e gli iperparametri di un modello effettuando richieste che massimizzano l'estrazione di informazioni.

A seconda della conoscenza del modello da parte dell'avversario, si possono eseguire attacchi white-box e black-box.
Nel caso white-box più semplice (quando l'avversario ha piena conoscenza del modello, ad esempio una funzione sigmoide), si può creare un sistema di equazioni lineari facilmente risolvibile.
Nel caso generico, in cui la conoscenza del modello è insufficiente, si utilizza il modello sostituto. Questo modello viene addestrato con le richieste fatte al modello originale per imitarne la stessa funzionalità.

Addestrare un modello sostituto equivale (in molti casi) ad addestrare un modello da zero.
Richiede un'intensa attività computazionale.
L'avversario ha limitazioni sul numero di richieste prima di essere rilevato.
Arrotondamento dei valori di output.
Uso della privacy differenziale.
Uso di ensemble.
Uso di difese specifiche
Hanno lo scopo di invertire il flusso di informazioni di un modello di machine learning.

Permettono a un avversario di conoscere il modello che non era stato esplicitamente inteso per essere condiviso.
Ci permettono di conoscere i dati di addestramento o informazioni come proprietà statistiche del modello.
Sono possibili tre tipologie:
Attacco di inferenza di appartenenza (MIA): Un avversario tenta di determinare se un campione è stato utilizzato come parte dell'addestramento.
Attacco di inferenza di proprietà (PIA): Un avversario mira a estrarre proprietà statistiche che non sono state esplicitamente codificate come caratteristiche durante la fase di addestramento.
Ricostruzione: Un avversario cerca di ricostruire uno o più campioni dal set di addestramento e/o le relative etichette. Chiamata anche inversione.
Uso di crittografia avanzata. Le contromisure includono la privacy differenziale, la crittografia omomorfica e il calcolo multipartito sicuro.
Uso di tecniche di regolarizzazione come il Dropout a causa della relazione tra sovra-addestramento e privacy.
La compressione del modello è stata proposta come difesa contro gli attacchi di ricostruzione.
Mirano a corrompere il set di addestramento causando una riduzione dell'accuratezza di un modello di machine learning.

Questo attacco è difficile da rilevare quando viene eseguito sui dati di addestramento, poiché l'attacco può propagarsi tra diversi modelli che utilizzano gli stessi dati di addestramento.
L'avversario cerca di distruggere la disponibilità del modello modificando il confine decisionale e, di conseguenza, producendo previsioni errate, oppure di creare una backdoor in un modello. In quest'ultimo caso, il modello si comporta correttamente (restituendo le previsioni desiderate) nella maggior parte dei casi, tranne per alcuni input appositamente creati dall'avversario che producono risultati indesiderati. L'avversario può manipolare i risultati delle previsioni e lanciare attacchi futuri.
I BadNets sono il tipo più semplice di backdoor in un modello di machine learning. Inoltre, i BadNets possono essere preservati in un modello, anche se questo viene riaddestrato per un compito diverso rispetto al modello originale (transfer learning).
È importante notare che i modelli pre-addestrati pubblici possono contenere backdoor.
Rilevamento dei dati avvelenati, insieme all'uso della sanificazione dei dati.
Metodi di addestramento robusti.
Difese specifiche.
Un avversario aggiunge una piccola perturbazione (sotto forma di rumore) all'input di un modello di machine learning per fargli classificare in modo errato (esempio avversario).

Sono simili agli attacchi di avvelenamento, ma la loro differenza principale è che gli attacchi di evasione cercano di sfruttare i punti deboli del modello nella fase di inferenza.
L'obiettivo dell'avversario è che gli esempi avversari siano impercettibili a un essere umano.
Si possono eseguire due tipi di attacco a seconda dell'output desiderato dall'avversario:
Mirato: l'avversario mira a ottenere una previsione a sua scelta.

Non mirato: l'avversario intende ottenere una classificazione errata.

Gli attacchi più comuni sono gli attacchi white-box:
Addestramento avversario, che consiste nel creare esempi avversari durante l'addestramento per consentire al modello di apprendere le caratteristiche degli esempi avversari, rendendo il modello più robusto a questo tipo di attacco.
Trasformazioni sugli input.
Mascheramento/regolarizzazione del gradiente. Non molto efficace.
Difese deboli.
Prompt Injection Defenses: Ogni difesa pratica e proposta contro la prompt injection.
Lakera PINT Benchmark: Il Prompt Injection Test (PINT) Benchmark fornisce un modo neutrale per valutare le prestazioni di un sistema di rilevamento della prompt injection, come Lakera Guard, senza fare affidamento su dataset pubblici noti che questi strumenti possono utilizzare per ottimizzare le prestazioni di valutazione.
Devil's Inference: Un metodo per valutare in modo avversario il modello Phi-3 Instruct osservando la distribuzione dell'attenzione tra le sue teste quando viene esposto a input specifici. Questo approccio spinge il modello ad adottare la "mentalità del diavolo", consentendogli di generare output di natura violenta.
Over-the-Air Adversarial Attack Detection: from Datasets to Defenses
Harnessing Hyperbolic Geometry for Harmful Prompt Detection and Sanitization
Adversarial Robustness Toolbox, abbreviata come ART, è una libreria open-source di Adversarial Machine Learning per testare la robustezza dei modelli di machine learning.

È sviluppata in Python e implementa attacchi e difese di estrazione, inversione, avvelenamento ed evasione.
ART supporta i framework più popolari: Tensorflow, Keras, PyTorch, MxNet e ScikitLearn, tra molti altri.
Non si limita all'uso di modelli che utilizzano immagini come input, ma supporta anche altri tipi di dati, come audio, video, dati tabellari, ecc.
Workshop per imparare l'Adversarial Machine Learning con ART 🇪🇸
Cleverhans è una libreria per eseguire attacchi di evasione e testare la robustezza di un modello di deep learning su modelli di immagini.

È sviluppata in Python e si integra con i framework Tensorflow, Torch e JAX.
Implementa numerosi attacchi come L-BFGS, FGSM, JSMA, C&W, tra gli altri.
L'IA viene utilizzata per compiere attività malevole e potenziare gli attacchi classici.
| Nome | Tipo | Algoritmi supportati | Tipi di attacco supportati | Attacco/Difesa | Framework supportati | Popolarità |
|---|
| Cleverhans | Immagine | Deep Learning | Evasione | Attacco | Tensorflow, Keras, JAX | |
| Foolbox | Immagine | Deep Learning | Evasione | Attacco | Tensorflow, PyTorch, JAX | |
| ART | Qualsiasi tipo (immagini, dati tabellari, audio, ...) | Deep Learning, SVM, LR, ecc. | Qualsiasi (estrazione, inferenza, avvelenamento, evasione) | Entrambi | Tensorflow, Keras, Pytorch, Scikit Learn | |
| TextAttack | Testo | Deep Learning | Evasione | Attacco | Keras, HuggingFace | |
| Advertorch | Immagine | Deep Learning | Evasione | Entrambi | --- | |
| AdvBox | Immagine | Deep Learning | Evasione | Entrambi | PyTorch, Tensorflow, MxNet | |
| DeepRobust | Immagine, grafo | Deep Learning | Evasione | Entrambi | PyTorch | |
| Counterfit | Qualsiasi | Qualsiasi | Evasione | Attacco | --- | |
| Adversarial Audio Examples | Audio | DeepSpeech | Evasione | Attacco | --- |