Le tecniche di intelligenza artificiale sono sicure? È stata questa la domanda chiave intorno alla quale è ruotato l’intervento di Battista Biggio, ricercatore presso il PRA Lab (Pattern Recognition and Application Lab) dell’Università di Cagliari ed esperto in sicurezza degli algoritmi di apprendimento automatico, al recente Richmond Cyber Resilience Forum. La risposta immediata, purtroppo, è “no”, le tecniche di intelligenza artificiale possono essere hackerate, in alcuni casi anche in modi molto semplici, e il professore ha illustrato alcuni casi che esemplificano questi possibili attacchi. Biggio ha quindi spiegato perché e dove queste tecniche sono vulnerabili per concludere il suo intervento con alcune indicazioni su quello che possiamo fare per garantire la sicurezza dell’intelligenza artificiale.
Come hackerare gli algoritmi di intelligenza artificiale
Alcuni degli esempi, basati su esperimenti scientifici effettuati da vari ricercatori nel mondo, presentati da Biggio sono fantasiosi, ma certamente efficaci.
Automobili a guida autonoma – L’esperimento effettuato da alcuni ricercatori dell’Università di Berkeley dimostra come, ponendo alcuni adesivi (non in modo casuale, ma secondo uno schema ben preciso) su un segnale stradale di stop, l’auto lo riconosce come un segnale di limite di velocità (figura 1).
Riconoscimento facciale – Un altro esempio viene da un gruppo di ricercatori che ha costruito un particolare tipo di occhiali (figura 2) con il quale la rete neurale è stata confusa al punto tale da scambiare un uomo di 41 anni con la famosa attrice Milla Jovovich. Il “rumore” dell’occhiale è costruito apposta per ingannare l’algoritmo.
Riconoscimento tridimensionale – In un altro esempio viene riportato un esperimento su un oggetto tridimensionale: una tartaruga realizzata in 3D che, nella versione standard, è stata correttamente riconosciuta come tartaruga, ma che, modificando il pattern di colori del carapace, viene riconosciuta come fucile sebbene venga mostrata al sistema di identificazione da diverse angolazioni.
Speech to text – Quella della trascrizione di audio è una delle attività dove gli algoritmi di intelligenza artificiale sono a un ottimo livello di esecuzione, ma anche qui la possibilità di hackeraggio non è remota. Come nell’esempio mostrato dal professore, dove ci fa ascoltare una frase senza alcuna interferenza e successivamente con un’interferenza non percepita dall’orecchio umano: nel primo caso la trascrizione è perfetta (è esattamente quello che abbiamo sentito) mentre nel secondo la trascrizione esprime un concetto opposto. Anche in questo caso l’interferenza viene costruita ad hoc per confondere l’algoritmo di machine learning.
Riconoscimento impronte digitali – È stato dimostrato che è possibile costruire un’impronta che può essere utilizzata per impersonare diversi utenti; in pratica il concetto di passpartout per le impronte digitali. Un’impronta vera lasciata su un oggetto può essere ricostruita per essere poi utilizzata laddove viene chiesto il riconoscimento tramite impronta (figura 3). “Al momento i sistemi di riconoscimento dei falsi in questo campo non funzionano ancora bene (ci sono troppi falsi allarmi)”, ha spiegato Biggio.
Cybersecurity – Nell’esempio, realizzato dal laboratorio dell’Università di Cagliari, viene simulato un attacco a una rete neurale per il rilevamento di malware veicolati tramite eseguibili Windows: vengono aggiunti dei byte alla fine del programma, che non verranno mai eseguiti, e questo consente di evadere l’algoritmo di rilevamento perché l’algoritmo non sta imparando il vero motivo per cui quel campione potrebbe essere un malware, ma “apprende” correlazioni spurie che non hanno significato e che non gli permetteranno di riconoscere il vero malware.
Come funzionano gli attacchi agli algoritmi di AI
“Per capire come agiscono questi attacchi – ha precisato il professore – bisogna fare un passo indietro e capire come funzionano gli algoritmi di machine learning: in pratica non è altro che ottimizzazione numerica su grandi moli di dati. Data una collezione di dati, ciascuno con la sua etichetta, l’obiettivo è costruire un algoritmo dove l’errore nella predizione dell’etichetta di questi dati sia piccolo. Questo si fa ottimizzando la funzione di figura 4”.
A questo punto vediamo come può essere ingannato l’algoritmo: prendendo l’esempio della fotografia di un pappagallo, vediamo che se a un’immagine correttamente classificata (figura 5) viene aggiunto un certo ”rumore” utilizzando lo stesso meccanismo che l’algoritmo utilizza per addestrarsi (agendo sulla derivata che indica quali sono i pixel che bisogna cambiare per modificare la probabilità di classificazione) (figura 6) l’identificaizone cambia completamente. Infatti, la nuova immagine viene classificata come libreria” (figura 7).
Come Biggi spiega, basta poco per ingannare gli algoritmi di machine learning, soprattutto nel riconoscimento delle immagini basta una minima alterazione per depistare l’algoritmo.
Perché l’AI è vulnerabile e cosa possiamo fare
“Il motivo per cui il machine learning è vulnerabile a queste tipologie di attacco è perché queste violano l’assunzione di partenza di questi algoritmi: funzionano benissimo quando i dati che vengono classificati in fase operativa sono rappresentativi dei dati utilizzati in fase di addestramento (ma se, per esempio, ho addestrato un sistema con gli oggetti in pieno giorno, il sistema non riconosce gli stessi oggetti se è notte”. ha specificato Biggio.
È quella che, in termini matematici e statistici, si chiama assunzione di stazionarietà dove tutti i dati devono essere indipendente e identicamente distribuiti (IID data), appena ci spostiamo da questa assunzione l’algoritmo non funziona.
Quindi cosa possiamo fare?
“La figura 8 rappresenta uno scenario di riferimento classico dove abbiamo una sorgente di dati dove, se il classificatore basato sull’algoritmo di AI funziona, c’è un output affidabile solo quando i dati appartengono alla stessa distribuzione, quindi sono rappresentativi di quelli utilizzati per addestrare l’algoritmo. Appena ci si sposta da quei casi, quindi se il problema evolve nel tempo per esempio, l’algoritmo non funziona senza supervisione. Quello che si può fare per compensare questa situazione è un algoritmo che rilevi le anomalie, quindi costruire qualcosa che si accorga se i dati che stanno arrivando non sono quelli su cui dovrebbe lavorare l’algoritmo. A questo punto deve intervenire un umano per riconoscere il nuovo dato ed etichettarlo”.
Ecco quindi che diventa essenziale che questi classificatori siano interpretabili perché l’uomo deve capire come sta lavorando l’algoritmo per poter intervenire
“Adesso c’è un grande investimento nell’AI safety [nel senso di protezione da rischi e incidenti fortuiti che possono pregiudicare l’incolumità o la salute, che si affianca a quello dell’AI security, legata a minacce e attacchi deliberati da cybercriminali ndr]): oggi parliamo infatti di Trustworthly AI, ossia intelligenza artificiale di cui ci possiamo fidare. L’obiettivo è costruire algoritmi che siano il più possibile robusti nei confronti delle perturbazioni che abbiamo visto e che siano interpretabile per essere interfacciabili con l’uomo. Quindi impariamo come rompere l’apprendimento automatico e l’intelligenza artificiale non perché sia divertente, ma per capire i limiti di queste tecnologie e per essere in grado di progettare algoritmi e sistemi più robusti. Sistemi che possano essere utilizzati in applicazioni critiche per la sicurezza (per esempio auto a guida autonoma, monitoraggio / controllo di centrali nucleari …): sapere quando fidarsi delle decisioni automatizzate in questi contesti è estremamente importante”.
Per rafforzare quanto detto, Biggio presenta un ultimo esempio: “L’husky raffigurato nel lato sinistro della figura 9 è stato definito ‘lupo’ dall’algoritmo. Analizzando i pixel che hanno determinato la scelta si è visto che sono quelli raffigurati nella parte di destra della figura, ossia la neve. Perché? Verificando le immagini utilizzate per addestrare l’algoritmo si è visto che i lupi erano sempre classificati in immagini con sfondo innevato. La vera sfida è – ha concluso il ricercatore – è costruire algoritmi che siano in grado di dire: questo campione non lo so classificare, rimandando l’immagine a un esperto che classifichi l’immagine non identificata”.