Quando i sistemi di intelligenza artificiale divengono componenti autonome, parti di un sistema informatico più ampio, diventa essenziale conoscerne le vulnerabilità e le loro implicazioni sulla sicurezza, anche fisica, dei loro utilizzatori.
E così fare in modo che gli aspetti di sicurezza vengano considerati sin dalla fase iniziale del processo di introduzione della tecnologia.
E non parliamo di casi astratti o scenari futuristici. Questi sistemi sono già tra noi: riconoscimento del parlato, di volti ed immagini, classificazione di documenti, previsioni di scelte, consigli per gli acquisti, analisi di mercato sono solo alcuni degli ambiti che vedono un impiego crescente di questi algoritmi.
In questo caso i sistemi di IA presentano vulnerabilità specifiche, che devono essere comprese e mitigate. Il tutto senza ovviamente dimenticare che spesso le criticità maggiori in termini di sicurezza sono legate al “fattore umano”.
Dopo avere in precedenza esplorato il tema delle tecniche di Intelligenza Artificiale come strumento per la sicurezza informatica, ed i suoi possibili usi per rendere più forte ed efficace la difesa, l’oggetto di questo terzo articolo della serie è proprio quello di esplorare le vulnerabilità dei sistemi basati su algoritmi di Intelligenza Artificiale e di evidenziare l’esigenza dello sviluppo di metodi e specializzazioni specifiche per la verifica della sicurezza di tali sistemi.
Intelligenza artificiale, da dove nasce il successo
Le tecniche di Intelligenza Artificiale attuali possono essere considerate un grande successo ottenuto da una rinuncia: l’origine degli studi relativi a questa disciplina può infatti essere fatta risalire al tentativo di riprodurre le facoltà cognitive dell’essere umano, utilizzando tecniche mutuate dall’informatica.
Al centro era quindi il nodo della riproduzione della “comprensione” umana che, almeno soggettivamente, ci permette di eseguire quelle funzioni che oggi l’IA sembra finalmente in grado di replicare, seppure per altra via. Consideriamo alcuni esempi: per la catalogazione dei testi, ad esempio per separare gli articoli di attualità da quelli di sport, economia, politica ecc., noi “capiamo” di cosa un articolo tratta, e lo inseriamo nella giusta categoria. Così per la traduzione fra due lingue a noi note (al netto di considerazioni stilistiche): leggiamo una frase del testo di partenza, ne capiamo il significato e proviamo ad esprimere lo stesso in un’altra lingua… e gli esempi possono andare avanti a lungo.
Le ricerche tese a riprodurre computazionalmente questa capacità umana però sono state storicamente perdenti: le difficoltà legate alla “comprensione” (di un testo, di un’immagine ecc.) da parte di un computer, per quanto potente, si sono sinora rivelate insormontabili. Verso la fine degli anni ’90 del secolo scorso questo approccio è stato modificato per cercare di produrre risultati analoghi a quelli ottenibili dall’intelletto umano, saltando però l’elemento della “comprensione”.
Come funziona il machine learning
In generale le metodologie legate al “machine learning” – l’insieme di tecniche di IA oggi di maggior successo – fanno uso delle grandi capacità di calcolo dei moderni computer e reti di computer, insieme all’uso di algoritmi e strumenti statistici raffinati mutuati dal funzionamento dei neuroni, per ottenere risultati paragonabili a quelli ottenibili dall’uomo: ad esempio riconoscere dei volti, catalogare testi, tradurre, giocare a giochi da tavolo, ottenendo risultati spesso strabilianti: si pensi alle ricerche su Internet, alla comprensione del parlato (SIRI, Google Assistant, Alexa), alla ricerca per immagini, alla traduzione automatica ecc.
In linea generale, questi metodi di “Intelligenza Artificiale ristretta” hanno bisogno di grandi moli di dati preesistenti per poter apprendere efficacemente le caratteristiche salienti di un “oggetto cognitivo” (immagine, testo, voce umana ecc.) e da qui nascono alcune delle più interessanti vulnerabilità di questi sistemi. Consideriamo un esempio specifico per maggiore chiarezza. Un sistema di machine learning, ad esempio una rete neurale, è in grado di classificare efficacemente, ovvero riconoscere, certi insiemi di immagini, ad esempio un volto, se le vengono mostrati durante la fase di apprendimento sia immagini che contengono quel volto, sia immagini che non lo contengono, opportunamente etichettate. Dal punto di vista dell’algoritmo, però, l’immagine non è altro che un insieme di punti (i pixel del’immagine) con il relativo colore o livello di grigio. Matematicamente, ogni immagine rappresenta quindi un singolo punto in uno spazio n-dimensionale, dove n è funzione del numero di pixel che compone l’immagine. Il riconoscimento delle immagini avviene perché la rete neurale, durante l’addestramento, è stata in grado di definire in questo spazio il “volume” che contiene tutte le immagini positivamente identificate appartenenti all’insieme dei dati usati per l’apprendimento. Quando una nuova immagine si trova in quel volume la rete la “riconosce”, etichettandola correttamente.
Se consideriamo una tipica immagine VGA di 640×480 pixel, con 256 livelli di grigio, il numero di differenti immagini (ovvero di differenti configurazioni di pixel) che possono essere generate è pari a (640×480)256, ovvero un 6 seguito da 1404 zeri… È evidente che, quale che sia la numerosità della base di dati usata per l’apprendimento, il volume delimitato in uno spazio così enorme contiene un numero astronomicamente più alto di possibili immagini “riconosciute”.
Vulnerabilità dell’AI e possibili tecniche di attacco
Da questa constatazione nascono alcune possibili tecniche di attacco che mirano a generare falsi positivi o falsi negativi, ovvero ad ingannare l’algoritmo. La prima permette di identificare immagini che, seppure irriconoscibili per un occhio umano, vengono identificate dal sistema come un oggetto familiare. Le immagini che inducono dei falsi positivi sono generate a loro volta con metodi di Intelligenza Artificiale[1]. Il secondo tipo di vulnerabilità consiste nel modificare leggermente – in modo impercettibile per un occhio umano – un’immagine nota, trasformandola in una che la rete neurale non riesce a riconoscere[2] o che riconosce come un oggetto interamente differente.
Questo tipo di vulnerabilità può avere conseguenze molto pericolose. È stato infatti dimostrato che è possibile alterare un segnale stradale, ad esempio un segnale di stop, inducendo sistemi di rilevazione analoghi a quelli montati sulle automobili a guida autonoma, a riconoscere un segnale differente, ad esempio un limite di velocità[3]. La pericolosità di questo tipo di vulnerabilità risiede nel fatto che l’occhio umano non rileva nulla di strano nel segnale, magari perché le modifiche appaiono come innocui graffiti apposti sul segnale. È da notare che le modifiche da apportare possono essere definite solo utilizzando altri sistemi di machine learning. Per quanto detto sulla dimensione dello spazio degli stati in cui avviene il riconoscimento, eliminare questa vulnerabilità non è semplice, e certo non può essere fatto limitandosi ad incrementare il numero di esempi o “marcando” come non corrette le immagini modificate, perché di queste ne esistono quantità astronomiche.
Machine learning, qualità dei dati e possibili discriminazioni
Un altro genere di vulnerabilità è invece legato alla fase di addestramento, e in particolare alla qualità dei dati utilizzati[4]. Gli algoritmi di machine learning hanno bisogno di un insieme di dati di alta qualità per poter apprendere correttamente. Un attaccante che potesse accedere a questi dati, potrebbe introdurre informazioni alterate che provochino un errore sistematico nel riconoscimento, e qui torniamo nuovamente al tema della qualità dei dati, che in questo scenari assume una rilevanza estrema. Analogamente, in certe applicazioni in cui i sistemi di IA entrano a far parte della “catena decisionale” relativa a scelte che possano avere impatto sulla vita dei cittadini – si pensi all’apertura di una linea di credito, o all’accesso ad assicurazioni sanitarie – il rischio è che una scelta non adeguatamente curata dei dati utilizzati per l’addestramento possa introdurre un bias nella decisione, con impatti negativi su specifiche categorie di persone.
Tale rischio è talmente evidente che la recente norma sulla privacy GDPR lo considera, introducendo con l’art. 22 un importante elemento innovativo, ovvero l’obbligo per le Organizzazioni che utilizzano sistemi automatizzati di decisione per la valutazione delle persone, debbano garantire il diritto della persona ad esprimere il proprio punto di vista sulla decisione presa. Secondo alcune interpretazioni, questo potrebbe essere considerato anche come diritto a conoscere la logica che sottende alle decisioni governate da sistemi automatici, anche se questa interpretazione non è suffragata, ad esempio, da autorevoli esponenti del mondo normativo della privacy italiana[5]. È comunque necessario, in fase di introduzione di tecnologie di IA aventi compiti di supporto alla decisione, che il manager della sicurezza identifichi chiaramente i rischi e gli obblighi che la GDPR introduce in questa area.
Sistemi di AI e interazioni pericolose
Un ultimo elemento di riflessione sulle possibili vulnerabilità, o debolezze, dei sistemi di Intelligenza Artificiale e dei sistemi autonomi in generale riguarda le interazioni impreviste fra sistemi, ovvero la possibilità che più sistemi autonomi che interagiscono tra loro possano provocare, in condizioni particolari, dei fenomeni imprevisti e potenzialmente dannosi. Un esempio in tal senso è il cosiddetto “flash crash”, il crollo borsistico che il 6 maggio 2010 colpì l’indice Dow Jones della borsa valori di New York. In pochi minuti l’indice crollò di 9 punti percentuali. L’analisi della SEC, durata 5 mesi, ha mostrato che l’evento è stato amplificato dalla interazione imprevista di due algoritmi utilizzati per il trading automatico da due differenti attori, i quali hanno causato una rapida caduta della valutazione di uno specifico strumento finanziario (contratti E-mini). L’evento, accelerato dalla presenza di algoritmi autonomi, è stato arrestato dalla sospensione automatica delle contrattazioni, realizzata da un interruttore. Si tratta di una interessante lezione: la progressiva diffusione di sistemi variamente autonomi richiederà molto probabilmente la creazione di sistemi di salvaguardia parimenti autonomi o automatici, perché la rapidità di funzionamento di questi sistemi sarà quasi sicuramente troppo elevata perché l’uomo possa gestire efficacemente ogni potenziale stato di crisi.
L’impiego su vasta scala di sistemi autonomi in grado di interagire, seppur debolmente, combinata con la loro capacità di reazione estremamente più rapida di quella umana, ci espone al rischio di episodi simili al “flash crash”, ma proiettati in ambiti diversi. Si pensi ad esempio all’equivalente di questo evento in ambito automobilistico, o all’interno di una “smart grid” per l’ottimizzazione della fornitura di energia.
Per chi si occupa di gestire la sicurezza di un’organizzazione, quindi, l’introduzione di sistemi basati sull’intelligenza artificiale, anche se facenti parte di sistemi tradizionali più ampi (si pensi al riconoscimento automatico dei caratteri, o alle telecamere di sicurezza con riconoscimento dei volti) rappresenta un ulteriore ampliamento della superficie di attacco, che deve essere oggetto di analisi e sottoposta verifica e monitoraggio
AI, sicurezza e fattore umano
Gli organi che gestiscono la sicurezza di un’azienda hanno il compito di individuare e valutare i rischi associati, definire le strategie di gestione del rischio più opportune e garantire che l’azienda abbia le capacità e le risorse necessarie per affrontare e ridurre tali rischi durante tutto il ciclo di vita delle tecnologie. In alcuni casi questa può essere una sfida importante, a causa della scarsa esperienza pregressa relativa alle tecnologie oggetto di questo articolo da parte di molte organizzazioni.
Al di là dell’introduzione dell’Intelligenza Artificiale come strumento di sicurezza, in generale possiamo considerare che, nella maggior parte dei casi, le aziende affronteranno l’introduzione e l’uso dell’IA principalmente per esigenze di business. Uno dei primi compiti di chi gestisce la sicurezza è senz’altro quello di assicurare che gli aspetti di sicurezza vengano considerati sin dalla fase inziale del processo di introduzione della tecnologia, quella che ITIL identifica come Service Strategy. Questo per garantire che i temi di sicurezza siano parte costituente del processo di selezione della tecnologia e della definizione dei requisiti anche finanziari dell’acquisizione. Si tratta non solo di una “buona pratica” nella gestione sicura del ciclo di vita tecnologico, ma anche di un importante elemento di compliance regolamentare, visto che i concetti di “security by design” e “privacy by design” sono entrati a far parte del regolamento sulla protezione dei dati personali, meglio noto come GDPR.
In linea di massima e dal punto di vista dei processi, il ruolo che la funzione di gestione della sicurezza deve rivestire nell’acquisizione di sistemi di Intelligenza Artificiale, non si discosta da quello standard nell’acquisizione di nuove tecnologie, ma le peculiarità delle due famiglie tecnologiche qui discusse introducono degli elementi di novità che richiedono una valutazione differente. Il rischio in cui si incorre altrimenti è di procedere su binari ben noti, che però rischiano di fallire quando confrontati con queste nuove realtà.
La progressiva introduzione di sistemi di IA non può essere arrestata, ma può e deve essere governata. I temi della sicurezza e della privacy vanno affrontati a livello sistemico e non lasciati all’arbitrio dei soli produttori. La politica e l’industria devono perseguire con coerenza e rapidità l’obiettivo di determinare un quadro di riferimento chiaro relativo alla protezione della privacy e della sicurezza dei cittadini, definendo norme e standard di riferimento circa le caratteristiche di protezione dei sistemi destinati ad un largo uso. È importante però non trascurare un elemento, ben noto a chi si occupa di sicurezza: l’anello più debole di un sistema informatico è sempre quello umano. Andrà quindi fatto uno sforzo in tal senso per garantire che gli utilizzatori e le organizzazioni siano consapevoli dei potenziali rischi legati all’uso di tecnologie IoT e di Intelligenza Artificiale, e sappiano come comportarsi per limitarli. Una crescita di consapevolezza in tal senso può aiutare a far sì che questi sviluppi, inevitabili perché tutto sommato auspicabili, possano rappresentare per tutti un beneficio, ed il manager della sicurezza occupa un ruolo di primo piano nel perseguimento di questo obiettivo.
_______________________________________________________________
- “Deep Neural Networks are easily fooled: high confidence predictions for unrecognizable images” in Computer Vision and Pattern Recognition (CVPR ’15), IEEE, 2015. ↑
- “ Intriguing properties of neural networks”. C. Szegedy, W. Zaremba, I. Sutskever, J. Bruna, D. Erhan, I. Goodfellow, and R. Fergus. arXiv preprint arXiv:1312.6199, 2013 ↑
- “Robust Physical-World Attacks on Deep Learning Models”. I. Evtimov, K. Eykholt, E. Fernandes, T. Kohno, B. Li, A. Prakash, A. Rahmati, D. Song. https://arxiv.org/pdf/1707.08945.pdf ↑
- Belfer, cit. Pag 25 ↑
- Si veda ad esempio F. Pizzetti, 5.6.3 Processi decisionali automatizzati e diritto a conoscerne la “logica”, in “Intelligenza Artificiale, protezione dei dati personali e regolazione”, op. cit. ↑