Le Voci dell’AI – Episodio 60: Come difendersi dagli attacchi avversariali a soluzioni di AI?

Ciao a tutti, sono Vincenzo Lomonaco, ricercatore all’Università di Pisa.

Nella puntata di oggi parliamo di un tema importantissimo per la sicurezza  nel contesto dell’intelligenza artificiale moderna e dell’apprendimento automatico.

Come difendersi dagli attacchi avversariali? Cosa sono questi attacchi? Perché dobbiamo saperlo? E soprattutto, come fare a difenderci da questi attacchi informatici? Scopriamolo insieme in questa puntata di Le Voci dell’AI.

Gli attacchi avversariali in machine learning e nel contesto dell’AI, quelli più comuni per lo meno, sono basati su tecniche mediante le quali input deliberatamente modificati vengono utilizzati per ingannare i modelli predittivi, inducendoli in un qualche modo a fare degli errori.

Questi attacchi sfruttano le vulnerabilità dei modelli stessi, introducendo perturbazioni minime  ma mirate nei dati di input che possono portare a classificazioni errate o comportamenti anomali, pur rimanendo impercettibili all’occhio umano.

La consapevolezza dell’esistenza degli attacchi avversariali AI ha preso piede negli anni 2010  con un punto di svolta significativo nel 2013, quando Christian Szegedy e colleghi dimostrarono (Explaining and Harnessing Adversarial Examples) che anche i modelli di deep learning erano vulnerabili a queste perturbazioni.

Da allora la ricerca ha fatto dei passi in avanti significativi, identificando e catalogando vari tipi di attacchi come l’attacco Fast Gradient Sign Method introdotto da Ian Goodfellow nel 2014 e il più sofisticato attacco Carlini & Wagner del 2017.

In questa immagine vediamo un esempio di attacco basato su perturbazione avversaria  nel contesto di un sistema per il riconoscimento di oggetti.

In particolare vediamo come, a partire da un’immagine correttamente classificata come questa relativa a un panda, con una confidenza del sistema pari al 57,7%, tramite l’iniezione modulata di rumore casuale, sia possibile confondere totalmente e in modo catastrofico la predizione dello stesso sistema sull’immagine risultante.

Infatti il panda in questo caso vediamo sulla destra, viene identificato come uno scimpanzè con una confidenza del 99%, quindi una quasi certezza, il che è molto preoccupante per sistemi attivi utilizzati in contesti dove la robustezza è assolutamente necessaria.

È bene notare anche che l’immagine risultante sulla destra a seguito dell’iniezione di rumore è praticamente identica a quella originale, almeno all’occhio umano, il che rende l’attacco molto più difficile da rilevare e contrastare.

Nel campo del deep learning, gli approcci principali per mitigare questi attacchi includono l’addestramento avversariale, che consiste nell’addestrare i modelli con esempi avversariali per migliorarne la robustezza.

In questa immagine vediamo uno schema ad alto livello per quanto riguarda questo approccio.

In particolare si opera durante l’addestramento del modello stesso di riconoscimento.

In che modo? Beh, aggiungendo direttamente noi le perturbazioni come se fossimo un attacco e facendo in modo che il modello impari a capire che, nonostante la perturbazione, si tratta comunque di un’immagine che raffigura in questo caso un cane.

Vedete quindi che il modello effettua le predizioni e matematicamente facciamo in modo di incentivare durante l’addestramento il modello a fare predizioni simili o uguali, possibilmente per la stessa immagine alterata o no che sia.

Un’altra tecnica spesso utilizzata per contrastare attacchi avversariali è la distillazione difensiva, una tecnica che cerca di rendere un modello predittivo meno sensibile alle perturbazioni più in generale.

Tuttavia, entrambe queste contromisure presentano sfide significative, come la difficoltà di generalizzare la robustezza a tutti i tipi di attacchi e l’aumento della complessità computazionale durante l’addestramento.

Infine, allargando un po’ lo spettro, è bene ricordare che gli attacchi avversariali si dividono in due principali classi in base all’accesso dell’attaccante ai parametri iniziali del modello: attacchi di tipo white box, dove l’attaccante è completamente a conoscenza del modello target, della sua architettura, della funzione di loss, dei dati di addestramento e tipi di attacchi chiamati black box, in cui l’attaccante non ha alcuna informazione sul modello target.

Un’alternativa categorizzazione dei tipi di attacchi si basa sul metodo di creazione di un’immagine e un input avversario non mirato, in cui l’attaccante assegna all’immagine avversariale una qualsiasi altra classe, indipendentemente quindi dalla classe dell’immagine vera oppure mirati, dove l’attaccante assegna all’immagine avversaria una specifica classe.

In questa immagine vediamo due tipi di attacchi avversariali, entrambi di tipo white box.

Il primo mira a ingannare una rete neurale già addestrata, generando immagini avversariali, come abbiamo visto in precedenza, quindi tramite una perturbazione.

Il secondo tipo di attacco, chiamato attacco vector o di avvelenamento – poisoning – viene utilizzato direttamente durante l’addestramento di una rete neurale.

In questo caso l’attaccante ha accesso quindi al processo di apprendimento della rete e ai dati di addestramento.

In sostanza, uno scenario molto più pericoloso, ma altrettanto possibile.

Ecco, in questa immagine vediamo come è possibile avvelenare l’addestramento di un sistema di AI avendo accesso ai dati di training.

In particolare, in questo caso è sufficiente aggiungere manualmente delle caratteristiche visive, dei pattern artificiali riconoscibili all’interno di tutte le immagini di una certa classe.

La nostra rete neurale a questo punto riconoscerà il quadratino, in questo esempio il quadratino rosso come una caratteristica visiva della classe cane appartenente alla classe cane e quindi un’immagine di un gatto senza questa caratteristica verrà riconosciuta normalmente, mentre con quel particolare pattern, come un cane.

Ecco perché si parla dell’introduzione di una vera e propria backdoor.

Solo l’attaccante ha la chiave di accesso per far cambiare il comportamento desiderato al predittore. In questo caso, applicando un quadratino rosso all’immagine di input.

Come difendersi dunque da questo tipo di attacchi backdoor? Beh, in questo caso è cruciale adottare diverse strategie preventive e reattive.

Innanzitutto, assicurarsi che i dati di addestramento provengano da fonti affidabili e infine implementare rigorosi controlli di qualità per rilevare e rimuovere dati sospetti o manipolati.

L’uso di tecniche di data sanitization può aiutare, per esempio, a filtrare dati contaminati, ma è molto importante anche la revisione periodica dei modelli da parte di esperti per identificare comportamenti anomali indicativi di un attacco backdoor.

Inoltre, l’uso di tecniche di rilevamento di anomalie durante l’inferenza durante le predizioni possono segnalare input sospetti che attivano la backdoor.

Quindi, in ultima analisi, l’implementazione di sistemi di monitoraggio continuo e auditing per tracciare e analizzare tutte le operazioni svolte durante l’addestramento e l’uso del modello risulta fondamentale a seconda della causalità funzionale del modello predittivo.

Le sfide future in questo contesto riguardano principalmente la continua evoluzione delle tecniche di attacco, che diventano sempre più sofisticate e la necessità di sviluppare difese più efficaci che possano essere applicate in ambienti reali, mantenendo al contempo le prestazioni del modello.

La sicurezza reale rimane quindi un campo molto dinamico e in rapida evoluzione, dove la corsa e rincorsa tra attaccanti e difensori continua a spingere i limiti della tecnologia.

Probabilmente dovremmo sviluppare delle metodologie, dei protocolli non solo che riescano a non essere suscettibili a determinati attacchi, ma anche lavorare su processi per la gestione continua di possibili vulnerabilità di questi sistemi, proprio come accade nel software tradizionale.

Non possiamo avere la pretesa anche presunzione che il nostro software, la nostra soluzione, non sia soggetta a vulnerabilità nel presente e soprattutto nel futuro.

Ecco quindi che occorre definire un modo efficiente ed efficace di fare patch anche nel mondo delle ICT.

Ciao! Alla prossima puntata di Le Voci dell’AI

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato sulle novità tecnologiche

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome