Sabotare l’intelligenza artificiale. Per spregio o per difesa. Per tutelare un dissidente ricercato da un regime oppressivo o per fare una campagna contro una multinazionale del commercio. Sembra la trama di un romanzo cyberpunk di William Gibson, invece è quello che sta succedendo oggi.
Grazie alla disponibilità di dati e alle librerie come SciKit, Numpy, TensorFlow, PyTorch e CreateML creare un modello di ML è estremamente facile: si passa da zero alla produzione in poche ore. Tuttavia, se la barriera all’ingresso si abbassa, nasce il problema della sicurezza.
Infatti, le AI sono molto facili da creare, grazie anche alla grande disponibilità di dati raccolti dai dispositivi sparsi nelle nostre vite. Ma soprattutto, i sistemi di intelligenza artificiale (AI) sono sempre più utilizzati perché fanno risparmiare soldi alle aziende. E sempre più spesso vengono attaccati nella fase di addestramento.
Ci sono varie tecniche per riuscire a far “inciampare” una AI, alcuni basati sulla fase di apprendimento, altri su quella di test e verifica, altri ancora su quella di riconoscimento. Tutti e tre funzionano molto bene e permettono di rendere inutilizzabili o completamente fuorvianti i risultati di una AI. Vediamo quali sono i principali.
Avvelenare il computer
La prima classe di attacchi sono quelli cosiddetti di Poisoning. I sistemi di machine learning, i modelli, sono degli algoritmi classificatori che analizzano grandi basi di dati e che trovano possibili soluzioni a problemi in maniera autonoma. Non tutti ci riescono: vengono selezionati i modelli più promettenti. Ma cosa succede se vengono avvelenati i dati con i quali si addestra il sistema? Se si inseriscono dati nel campione che modificano l’accuratezza del modello?
Questo attacco può cambiare drasticamente il funzionamento del modello alterandolo o cambiandone l’algoritmo, che è noto a tutti perché spesso è open source. L’attacco in fase di training è il più insidioso perché, se non sono previste contromisure, è impossibile da verificare a posteriori, dato che il comportamento dei modelli addestrati è quello di una “black box”, cioè non è descritto in modo esplicito il modo con il quale il modello elabora le sue decisioni.
Sabotare il modello
Altro tipo di attacco, questa volta durante la fase di test del modello: qui si aprono un ampio numero di possibilità di attacco per chi volesse sabotarlo. Molto spesso lo sviluppo avviene tramite società satellite o fornitori esterni, magari basandosi su ricerca pubblica e su dati e algoritmi open source. Anziché alterare il classificatore come prima, si possono modificare i dati in fase di input, rendendo il modello impreciso e incapace di giungere alle conclusioni attese.
Inoltre, è possibile un attacco più generico ai ricercatori o ai tecnici che stanno addestrando i modelli, arrivando a modificare i comportamenti dei modelli magari con l’aiuto di un insider che fornisca ulteriori informazioni sul lavoro e dia una mano con gli accessi. È un caso abbastanza tipico, e anche in questo caso molto insidioso. La verifica della qualità del modello è, oltre alla sicurezza perimetrale, uno dei principali problemi di chi lavora nel settore del machine learning.
Creare la confusione
Un altro approccio è basato sulla conoscenza del funzionamento dei classificatori e dei modelli. Si possono prendere delle contromisure per renderli non funzionanti come previsto.
Un esempio classico è “sporcare” le immagini che devono essere classificate utilizzando dei dati che introducono più rumore di quanto previsto dal modello, ma che sono invisibili all’occhio umano l’immagine, se guardata da un osservatore umano, sembra “pulita”.
Provate a immaginare un attacco del genere ai sistemi per il riconoscimento facciale che vengono usati ad esempio negli aeroporti o nelle stazioni per individuare automaticamente le persone note: se la foto sul documento identificativo è stata ritoccata ad arte ma in maniera indistinguibile per l’eventuale operatore umano (che la reputa perfettamente valida e uguale alla persona che ha davanti), chi sta cercando di entrare o uscire senza farsi trovare non viene più riconosciuto e può passare attraverso il tornello automatico o il controllo con operatore e lettore collegato a un database.
Oppure, un’altra tecnica concettualmente molto simile è quella di chi si veste con abiti che hanno colori e forme geometriche che impediscono alle telecamere a circuito chiuso di capire che sta passando una persona e quindi non registrarla: in questo modo, siccome i fotogrammi “vuoti” vengono di solito scartati dai server dei sistemi di sorveglianza al primo ciclo di refresh del sistema di registrazione e non vengono mai verificati da operatori umani, la persona diventa a tutti gli effetti invisibile.
Conclusione
Il Machine Learning è passato da un campo di ricerca teorica a essere una soluzione ampiamente accessibile e consolidata. Sta entrando in una nuova fase, insomma, in cui la sicurezza deve essere un punto focale, prima che sia troppo tardi.
Attenzione, non fraintendiamo l’allarme. Il pericolo oggi non sono le storie di fantascienza stile Terminator, Battlestar Galactica o 2001 Odissea nello Spazio. Ricordate il buon vecchio HAL, il computer cattivo del film di Kubrik, le cui iniziali sono la traslitterazione di IBM? Ecco, quello non è il problema, perché non esiste.
Il rischio, insomma, non è la “singolarità” con le macchine che prendono il comando. Invece, è la delega in cui viene dato sempre più spazio all’elaborazione automatica basata su black box che non sappiamo come prendono le decisioni e che possono essere facilmente sabotate o quantomeno dirottate. Ogni buon hacker etico dovrebbe preoccuparsi e fare qualcosa. Magari per provare se è vero.
Il tema sta diventando di attualità adesso. Gli articoli scientifici sugli attacchi all’apprendimento automatico sono passati da zero nel 2014 a 1.100 nel 2020 e oggi sono più di duemila. E più si va avanti, più appare evidente che qualcosa potrebbe succedere anche su questo fronte.
Un gigante dai piedi di argilla
Il problema infatti è che l’intelligenza artificiale è potente, sempre più utilizzata ma molto debole dal punto di vista della sua difesa. Basta un attacco mirato per farla inciampare. Nonostante questo, sempre più spesso le aziende e le pubbliche amministrazioni dipendono da servizi basati su modelli di machine learning addestrati per svolgere compiti normali o addirittura critici. Dalla banca che decide se erogare un mutuo alla polizia che vuole prevedere la pericolosità da una serie di comportamenti di soggetti sotto osservazione (e avviare un supplemento di indagine).
La debolezza delle AI agli attacchi esterni, che possono rendere invisibili alcuni soggetti o dirottare il funzionamento del servizio, non è ancora diventata un problema su larga scala e certamente, fino a che non scoppierà uno scandalo per un attacco particolarmente efficace, nessuno ha interesse a suonare l’allarme. Ma esiste ed è molto grave.