L’intelligenza artificiale sta per rivoluzionare tutti i settori, dall’assistenza sanitaria alla finanza, apportando considerevoli vantaggi (e rischi) alla società. Tuttavia, l’aumento dell’utilizzo dell’AI introduce anche nuove sfide in termini di cybersecurity. I sistemi basati sull’AI possono essere vulnerabili ad attacchi informatici sofisticati, mettendo a rischio dati sensibili e infrastrutture critiche.
L’Intelligenza Artificiale e le nuove sfide in termini di cybersecurity
Al di là di tutte le raccomandazioni di cybersicurezza che rimangono sempre valide, l’IA pone ulteriori questioni che vanno a toccare direttamente l’affidabilità dei modelli di AI utilizzati. Non parliamo qui solo dei temi di etica o di resilienza dalle allucinazioni (per quanto riguarda la Generative AI) o bias ma in generale di come soggetti malevoli possono condizionare i risultati dei modelli o in maniera plateale (interrompendone le funzionalità) o in maniera più subdola condizionando i modelli e facendo in modo che restituiscano dati inesatti, parziali o errati in modo meno evidente e ancor più pericoloso.
Il campo è molto vasto e non sarà possibile affrontarlo in modo esteso, tuttavia lo affronteremo in modo introduttivo e cominceremo a porre all’attenzione alcuni temi. Recentemente (15 e 22 Marzo) l’abbiamo affrontato in modo più approfondito con la Fondazione ICSA (di cui sono consigliere scientifico) con la quale abbiamo organizzato il corso “intelligenza Artificiale per Manager della Sicurezza” che oltre ad introdurre nel mondo dell’AI chi si occupa di sicurezza ha anche affrontato come rendere quest’ultima sicura.
La necessità di controllare il perimetro in un ambiente AI
Anzitutto è opportuno trattare separatamente la Generative AI dalla Predictive AI. La prima, quella che lavora con i Large Language Models e in generale con i modelli generativi (anche audio e video) e la seconda quella che si basa su modelli basati su machine learning e reti neurali classiche e che lavora con i dati strutturati. Le reti neurali sono pervasive in tutti gli ambiti dell’AI per cui gli attacchi a questo tipo di tecnologia hanno impatti su tutti e due gli ambiti.
Per comprendere meglio lo scenario è anzitutto utile dire che in un software tradizionale il perimetro da controllare è quello relativo al software, ai dati utilizzati dall’applicazione, all’infrastruttura sottostante.
In un perimetro AI è necessario considerare anche sia i dati aziendali (o comunque i dati utili all’addestramento che più sono e meglio è), sia la parte del modello di Intelligenza artificiale adottato.
I dati in particolare acquisiscono una importanza decisiva sin dalla fase dello sviluppo. Non si può sviluppare un progetto di AI senza accedere a tutti i dati e senza utilizzare dati di ottima qualità. Mentre in un progetto tradizionale nella fase di sviluppo si utilizzano dati di test, in un progetto AI si utilizzano dati di produzione.
Il centro dello sviluppo di un progetto di AI passa dal software, che può essere anche piccolo (in termini di righe di codice), ai dati, alla loro qualità e alla capacità di valutare correttamente quali utilizzare per il training e i risultati per non incorrere in problemi (come ad esempio il bias). La capacità di valutare se i dati in ingresso sono rappresentativi dei casi da apprendere e se l’output è di qualità è centrale. Per fare questo non è assolutamente sufficiente l’approccio informatico, è necessario applicare tecniche matematico-statistiche molto complesse e spesso è compito per matematici esperti.
Il codice software per il 80-90% è codice che verrà utilizzato solo una volta nella fase di sviluppo e serve a trasformare i dati in modo da poter essere elaborati correttamente da un modello di AI. Questo codice è importante nella fase di training ma non nella fase di esercizio.
Questo ci fa comprendere facilmente che parlare di sicurezza in un perimetro così ampio ne aumenta la complessità e ci fa comprendere che i normali criteri di sicurezza nello sviluppo del software vengono in parte meno.
I dati in particolare diventano la prima area di rischio e in quest’ambito sono possibili cancellazioni totali o parziali e “avvelenamento”.
Nel caso delle cancellazioni totali si rientra nei rischi soliti della sicurezza, nel caso di cancellazioni parziali un attaccante potrebbe cancellare dati specifici o secondo una precisa strategia o a caso nei fatti pregiudicando l’addestramento del modello o, in casi più sofisticati, condizionando il modello in modo che non riconosca alcune cose.
Infine, nel caso dell’avvelenamento abbiamo che i dati vengono cambiati con altri definiti dall’attaccante. In questo caso si possono ottenere due effetti: il primo relativo alla inefficacia del modello e il secondo, più subdolo, in una manipolazione dello stesso.
Ad esempio, una rete neurale se viene addestrata opportunamente è in grado di riconoscere dei pattern. Supponiamo che in un sistema di guida autonoma un attaccante riesca ad avvelenare i dati dei segnali stradali. L’attaccante decide deliberatamente che se ad un cartello di “STOP” viene inserita una etichetta di un dato colore la rete la riconosce come via libera.
Una volta fatto questo sarebbe facile incollare sui segnali di “STOP” di interesse una etichetta nel modo predefinito per fare in modo che la vettura non lo riconosca mettendo in serio pericolo il conducente. Questo può verificarsi anche con le frodi finanziarie, se l’attaccante fosse in grado di avvelenare i dati in una modalità particolare la truffa finanziaria non sarebbe riconosciuta da un ipotetico sistema di controllo.
L’importanza della scelta dei dati di input in un modello di AI
Il tema della scelta dei dati di input è particolarmente delicato in generale, ad esempio c’è stato un caso di rete neurale addestrata con le foto dei pazienti ad identificare casi di covid. Le foto che sono state date in addestramento al modello sono foto prese dai pronto soccorso, i pazienti venivano accolti, posti in barella e gli venivano prestate le prime cure e foto annessa. Il risultato finale è stato che venivano riconosciuti malati di covid tutti quelli che erano in barella. In questo caso non c’è stato un attacco malevolo ma l’esempio chiarisce i potenziali danni dovuti ad un attacco di avvelenamento dei dati.
Quando addestriamo una rete neurale dobbiamo fare particolare attenzione che il modo nel quale la addestriamo non induca la rete ad interpretare male i fenomeni, è la rete che decide cosa cogliere come pattern e sta alla nostra abilità fare in modo che accolga le cose corrette.
Attacchi possibili all’IA: da TrojanNet al Model Inversion
Un attacco malevolo potrebbe verificarsi se si utilizzasse una rete neurale che provasse a sollecitare la rete neurale da attaccare fino a trovare una particolare combinazione che produce errori per poi sfruttarla in modo malevolo. Questo tipo di attacco si chiama a “gradiente” perché cerca la condizione di confine tra funzionamento corretto e scorretto e la utilizza, viene di solito effettuato utilizzando un’altra rete neurale.
Un altro particolare attacco è TrojanNet dove una rete “virus” si collega agli input della rete da attaccare ed elabora in parallelo il risultato, alla fine aggiunge all’output i suoi risultati portando in errore il sistema. Praticamente è come aggiungere una rete a quella già presente in grado di apprendere il comportamento della rete da una parte e produrre un risultato diverso.
Sempre in tema di attacchi possibili c’è la possibilità di fare con le reti neurali quello che si faceva (e si può fare) con il software: reverse engineering. Nello specifico si chiama Model Inversion e in questo caso l’attacco è particolarmente sofisticato e richiede grandi capacità ma si possono estrarre i dati di addestramento sottoponendo dei set di dati per capire se sono stati utilizzati per l’addestramento. Questo tipo di attacco avviene interrogando il modello. In altri casi l’attaccane riesce semplicemente a rubare i parametri della rete e ne riproduce l’architettura da un’altra parte.
È facile capire che rubare una rete neurale è un danno rilevante, nelle reti neurali durante l’addestramento vengono trasferite conoscenze e capacità e la fase di addestramento e tuning è particolarmente lunga e costosa. Il furto comporta un danno enorme perché per l’azienda significa perdere conoscenze e competitività.
Un attacco subdolo che può provocare non pochi danni è quello di sostituire le librerie che si utilizzano per far funzionare un modello di machine learning con il risultato di indurre comportamenti errati.
Infine, sempre in ambito reti neurali, l’attaccante potrebbe “inquinare” i parametri del modello attaccato per pregiudicarne il comportamento.
Questi attacchi possono essere condotti anche insieme, ad esempio rubando i parametri di un modello dedicato al credit scoring per una banca e poi “inquinando” il modello attaccato. In questo caso recando un danno enorme all’istituto sotto attacco, soprattutto perché potrebbe accorgersene dopo molto tempo.
Gli attacchi all’AI Generativa: dal prompt hacking all’inquinamento dei parametri
Sul fronte dell’AI Generativa il principale filone di attacco è quello del prompt hacking di cui ne ho parlato in mio precedente articolo, nel frattempo alcune tecniche sono diventate più sofisticate e i modelli hanno adottato contromisure per diventare più robusti. Per sintetizzare il tipo di attacco diciamo che un attaccante inserisce una serie di caratteri come fosse una domanda da fare al modello per produrre dei risultati che possono essere un furto di informazioni o un condizionamento delle risposte seguenti. Questo insieme di caratteri che vengono inseriti possono essere delle frasi logiche, tipicamente create dall’attaccante con una strategia per “mettere in confusione il modello” o essere delle sequenze casuali individuate attraverso anche sistemi automatici che un po’ come le combinazioni di una cassaforte consente di trovare la giusta sequenza per produrre il risultato atteso.
Un modello di AI generativa è una rete neurale e potenzialmente ha tutti i suoi rischi, poi ne ha alcuni particolari.
Un rischio è nella comunicazione tra le applicazioni di AI che utilizziamo e il modello LLM interrogato ci sia un attacco volto a impedire questa comunicazione. Un classico attacco di Denial of Service, con il risultato che viene bloccata l’attività dell’attaccato. Questo può essere ovviato utilizzando modelli open source internamente o le tecniche tipiche presenti su internet.
Sempre più spesso si cominciano a vedere degli agenti intelligenti che fanno delle azioni a fronte di output provenienti dai modelli, in questo caso bisogna verificare molto bene cosa questi agenti fanno perché potrebbero essere compromessi e produrre azioni pericolose. E in questo caso è bene che gli agenti siano realizzati nell’ambito di un perimetro di sicurezza in modo che abbiano una autonomia di comportamento limitata e controllata.
Un altro rischio che merita di essere sempre citato nell’AI generativa non è dovuto ad un attaccante ma è insito nella tecnologia e non risolvibile completamente. Parlo dell’allucinazione, ovvero della probabilità sempre presente che il modello fornisca risposte non veritiere o fuorvianti ad una domanda. È fondamentale averne sempre conoscenza perché il rischio di affidarsi con una eccessiva fiducia a questi modelli può produrre degli effetti dirompenti, visto l’importanza che stanno assumendo questi strumenti.
Va considerato che nel mondo dell’AI ci sono degli attacchi che possono venire messi in atto nel momento dello sviluppo (training) del modello e altri nel momento del suo utilizzo. Per ognuno di questi scenari è necessario valutare il rischio e presidiare il perimetro in modo da porre in sicurezza il sistema.
Il ruolo fondamentale della sicurezza informatica nell’era dell’IA
L’Intelligenza Artificiale sarà sempre più pervasiva nella nostra vita, anche nei compiti più banali come entrare nel nostro telefono con l’impronta digitale si nasconde una rete neurale e presto vedremo applicazioni sempre più sofisticate e delicate. La sicurezza informatica non può non muoversi per tempo per prevedere nuovi attacchi e nuove strategie di mitigazione.
Come ogni tecnologia nuova al suo crescere crescono anche ricercatori (in questo caso è un bene che si studi subito la sicurezza) o malintenzionati che puntano a sfruttare delle vulnerabilità per ottenerne un tornaconto. Non possiamo trovarci impreparati di fronte a questo tipo di situazione ed è bene che quando si pensa di inserire l’AI nella propria organizzazione si tenga conto anche di questi aspetti affidandosi a professionisti affidabili.