Intelligenza artificialeSicurezza informatica

Quando la sicurezza dell'intelligenza artificiale diventa un'arma contro se stessa

Quando la sicurezza dell'intelligenza artificiale diventa un'arma contro se stessa

Il paradosso di un mondo in cui basta una parola per mettere in difficoltà un'intelligenza artificiale.

Siamo arrivati a un punto piuttosto surreale nell'evoluzione dell'intelligenza artificiale. Un punto in cui, per rendere un programma difficile da analizzare, potrebbe non essere più necessario ricorrere soltanto a complessi algoritmi di cifratura o sofisticate tecniche di offuscamento. Potrebbe bastare inserire nel codice una serie di parole che l'intelligenza artificiale preferisce non affrontare.

Non è fantascienza. È quanto emerge da una recente indagine condotta dal ricercatore di sicurezza informatica conosciuto come veritas, che ha individuato uno script JavaScript contenente riferimenti ad armi biologiche, sostanze tossiche, attacchi informatici e argomenti politicamente sensibili come il massacro di Piazza Tiananmen e l'indipendenza di Taiwan.

La scoperta è avvenuta durante uno studio sulle tecniche di browser fingerprinting, utilizzate dai siti web per identificare i dispositivi dei visitatori. Analizzando il codice di uno di questi sistemi, il ricercatore ha trovato funzioni con nomi apparentemente assurdi, riferiti al calcolo di dosi letali di sostanze tossiche e ad altre attività pericolose.

Approfondendo l'indagine, ha scoperto anche lunghi testi nascosti attraverso particolari caratteri Unicode. Una volta decodificati, questi testi contenevano false istruzioni di sistema che pretendevano di disattivare le protezioni dell'intelligenza artificiale, insieme a richieste relative ad attività illegali o pericolose.

La domanda sorge spontanea: che cosa c'entrano le armi biologiche, l'evasione fiscale e Piazza Tiananmen con un programma che dovrebbe semplicemente raccogliere informazioni sul browser?

Una possibile risposta è tanto semplice quanto inquietante: quelle parole potrebbero essere state inserite proprio per impedire alle intelligenze artificiali di comprendere il codice.

Il paradosso della sicurezza

I moderni modelli di intelligenza artificiale vengono addestrati a riconoscere e limitare richieste potenzialmente dannose. È una precauzione comprensibile e, in molti casi, necessaria.

Il problema nasce quando questi meccanismi non distinguono adeguatamente tra una richiesta di eseguire un'azione pericolosa e la necessità di analizzare un contenuto che parla di quella stessa azione.

Un conto è chiedere a un'intelligenza artificiale istruzioni per produrre un'arma biologica. Un altro è chiederle di esaminare un programma sospetto che contiene quelle parole e spiegare che cosa faccia realmente.

Sono due situazioni profondamente diverse.

Eppure, negli esperimenti descritti dal ricercatore, alcuni modelli di OpenAI hanno finito per rifiutare l'analisi, nonostante fosse stato spiegato che le espressioni pericolose potevano essere state inserite intenzionalmente per provocare proprio quel comportamento.

Un altro modello, sviluppato dall'azienda cinese Z.ai, avrebbe invece completato l'analisi.

Questo dimostra che non tutte le intelligenze artificiali reagiscono allo stesso modo e che il problema non è necessariamente insuperabile. Ma evidenzia una debolezza importante.

Abbiamo costruito strumenti capaci di analizzare milioni di righe di codice, individuare vulnerabilità, riconoscere schemi complessi e assistere ricercatori nella sicurezza informatica.

E poi scopriamo che, in determinate circostanze, una sequenza di parole può essere sufficiente a interrompere tutto.

È difficile non vedere l'assurdità della situazione.

Quando le regole diventano una vulnerabilità

Nella sicurezza informatica esiste un principio fondamentale: qualsiasi comportamento prevedibile di un sistema può diventare un elemento sfruttabile da un avversario.

Le regole di sicurezza delle intelligenze artificiali non fanno eccezione.

Se un modello tende a rifiutare certe categorie di contenuti, qualcuno può tentare di utilizzare deliberatamente quegli stessi contenuti per provocare un rifiuto.

Non si tratta necessariamente di convincere l'AI a fare qualcosa di proibito. Anzi, in questo caso l'obiettivo ipotizzato sarebbe esattamente l'opposto: impedirle di fare qualcosa di perfettamente legittimo.

È un rovesciamento del problema delle cosiddette prompt injection, gli attacchi che cercano di manipolare il comportamento di un modello attraverso istruzioni inserite nei dati che deve elaborare.

Qui il sabotaggio potrebbe funzionare anche senza convincere l'intelligenza artificiale a obbedire a istruzioni malevole. Sarebbe sufficiente spingerla a fermarsi.

In altre parole, non serve necessariamente violare le regole di sicurezza. Potrebbe bastare usarle contro il sistema stesso.

E questo cambia radicalmente la prospettiva.

Perché se domani gli strumenti di analisi del software si baseranno sempre più sull'intelligenza artificiale, chiunque voglia ostacolare un'indagine potrebbe cercare di inserire nel proprio codice elementi progettati specificamente per attivare queste restrizioni.

Non per rendere il programma incomprensibile a un essere umano, ma per renderlo problematico agli occhi di una macchina.

Una nuova forma di offuscamento

Tradizionalmente, l'offuscamento del codice serve a rendere difficile comprendere il funzionamento di un programma.

Si possono modificare i nomi delle variabili, complicare inutilmente le istruzioni, nascondere stringhe o trasformare operazioni semplici in sequenze apparentemente incomprensibili.

L'obiettivo è ostacolare chi tenta di ricostruire la logica del software.

Con l'arrivo delle intelligenze artificiali capaci di analizzare codice, questo scenario sta cambiando.

Un modello linguistico può spesso individuare strutture e ricostruire significati anche quando il programma è stato deliberatamente reso poco leggibile.

Ma proprio perché queste AI non si limitano a interpretare istruzioni informatiche e attribuiscono un significato anche al linguaggio naturale presente nel codice, si apre una nuova possibilità di manipolazione.

Il codice diventa contemporaneamente un insieme di istruzioni per il computer e un messaggio rivolto all'intelligenza artificiale che lo sta analizzando.

Ed è qui che il fenomeno diventa particolarmente interessante.

Stiamo entrando in un'epoca nella quale il software potrebbe essere progettato non soltanto per essere eseguito dalle macchine e letto dagli esseri umani, ma anche per influenzare il comportamento delle AI incaricate di studiarlo.

È quasi una forma di ingegneria sociale applicata alle intelligenze artificiali.

Solo che, invece di manipolare le emozioni o le convinzioni di una persona, si tenta di sfruttare i vincoli e i meccanismi decisionali di un modello.

Il rischio di confondere il contenuto con l'intenzione

C'è però una questione ancora più profonda.

Una parola, da sola, non dovrebbe determinare automaticamente la pericolosità di una richiesta.

La parola "veleno" può comparire in un manuale di tossicologia, in un romanzo poliziesco, in un documento giudiziario oppure in un programma informatico sospetto.

Il suo significato dipende dal contesto.

Allo stesso modo, parlare di un attacco informatico non significa necessariamente volerlo eseguire. Può significare volerlo comprendere, prevenire o contrastare.

Se un'intelligenza artificiale non riesce a distinguere adeguatamente questi contesti, le sue protezioni possono generare conseguenze indesiderate.

Il risultato rischia di essere paradossale: gli strumenti progettati per aumentare la sicurezza potrebbero ostacolare proprio le persone che lavorano per garantirla.

Un ricercatore che analizza un malware, un investigatore che studia documenti compromettenti o uno specialista che cerca di individuare una vulnerabilità non dovrebbe trovarsi impossibilitato a lavorare semplicemente perché il materiale esaminato contiene argomenti sensibili.

La sicurezza non può ridursi alla censura automatica delle parole.

Dovrebbe basarsi sulla comprensione dello scopo, del contesto e delle conseguenze di una richiesta.

Naturalmente, stabilire queste distinzioni non è sempre facile. Esistono situazioni ambigue e informazioni che, anche quando richieste con finalità apparentemente innocue, potrebbero essere utilizzate per provocare danni reali.

Ma proprio questa complessità dimostra quanto sia importante sviluppare sistemi capaci di valutazioni più sofisticate rispetto al semplice riconoscimento di contenuti sensibili.

Un mondo che impara a manipolare le AI

Per anni ci siamo chiesti quanto le intelligenze artificiali sarebbero diventate capaci di comprendere gli esseri umani.

Oggi emerge anche la domanda inversa: quanto diventeranno capaci gli esseri umani di comprendere e manipolare il comportamento delle intelligenze artificiali?

Più questi sistemi entreranno nelle nostre attività quotidiane, più crescerà l'interesse a sfruttarne caratteristiche, limiti e vulnerabilità.

Non necessariamente per ottenere risposte vietate.

A volte, semplicemente, per impedire loro di rispondere.

Questo è forse l'aspetto più sorprendente dell'intera vicenda.

Siamo abituati a immaginare gli attacchi contro le AI come tentativi di aggirare le protezioni per ottenere informazioni che non dovrebbero essere fornite.

Ma esiste anche il problema opposto: utilizzare quelle protezioni per impedire alle AI di svolgere attività che dovrebbero poter svolgere.

Una sorta di sabotaggio attraverso la sicurezza stessa.

Le conseguenze potenziali vanno ben oltre l'analisi del codice.

Se sistemi automatici saranno utilizzati per esaminare documenti, individuare frodi, classificare segnalazioni o assistere indagini, diventerà fondamentale impedire che i materiali sottoposti all'analisi possano manipolare le decisioni degli strumenti incaricati di interpretarli.

Un documento da esaminare non dovrebbe poter impartire ordini al sistema che lo esamina.

Un programma sospetto non dovrebbe poter decidere quali parti di sé stesso possano essere analizzate.

E una sequenza di parole non dovrebbe acquisire automaticamente il potere di bloccare un'indagine legittima.

Tra ipotesi e realtà

È importante precisare un punto: nel caso scoperto da veritas non è stato dimostrato definitivamente che gli autori del codice intendessero ostacolare le intelligenze artificiali.

Il programma svolgeva anche normali funzioni di protezione antibot, e l'identità degli sviluppatori, così come le loro reali intenzioni, non è stata accertata.

La presenza di parole sensibili e istruzioni nascoste costituisce un indizio interessante, non una prova conclusiva del loro scopo.

Allo stesso tempo, gli esperimenti mostrano che certi contenuti possono effettivamente interferire con l'analisi effettuata da alcuni modelli.

Il fenomeno, quindi, merita attenzione indipendentemente dalle intenzioni di chi ha scritto quello specifico programma.

Non significa che tutte le AI siano vulnerabili allo stesso modo, né che basti inserire qualche parola proibita per bloccare qualsiasi analisi.

Significa, piuttosto, che esiste una nuova superficie di attacco da studiare e comprendere.

E ignorarla sarebbe un errore.

La vera sfida non è soltanto rendere le AI più intelligenti

Questa vicenda racconta qualcosa di più grande di una curiosità tecnica.

Racconta le contraddizioni di una tecnologia che sta diventando sempre più potente, ma che deve ancora trovare un equilibrio tra capacità operative, affidabilità e restrizioni di sicurezza.

Le protezioni sono necessarie. Nessuno dovrebbe desiderare sistemi completamente privi di limiti, soprattutto quando possono facilitare attività realmente dannose.

Ma una protezione che può essere sfruttata per impedire un controllo legittimo rischia di trasformarsi essa stessa in una vulnerabilità.

La soluzione non consiste nell'eliminare indiscriminatamente le regole, bensì nel progettare intelligenze artificiali capaci di riconoscere la differenza tra dati da analizzare e istruzioni da seguire, tra un contenuto pericoloso e una richiesta pericolosa, tra la descrizione di un'attività illegale e il tentativo di realizzarla.

È una distinzione fondamentale, soprattutto in un futuro nel quale questi sistemi potrebbero essere chiamati a esaminare quantità enormi di informazioni senza una supervisione umana costante.

La vera sfida, quindi, non sarà soltanto costruire AI sempre più intelligenti.

Sarà costruire AI che non possano essere facilmente manipolate attraverso le stesse regole progettate per renderle sicure.

Perché il paradosso a cui stiamo assistendo è difficile da ignorare: abbiamo creato macchine capaci di comprendere il linguaggio, e ora cominciamo a scoprire che il linguaggio può essere utilizzato anche per impedire loro di comprendere.

E forse è proprio questa la questione che dovrebbe preoccuparci di più.

Non soltanto quanto potere saremo disposti ad affidare alle intelligenze artificiali, ma quanto diventerà vulnerabile un mondo che dipenderà da sistemi il cui comportamento può essere influenzato da contenuti progettati appositamente per confonderli.

Perché quando la sicurezza di un sistema può essere trasformata in un'arma contro il sistema stesso, il problema non riguarda più soltanto la tecnologia.

Riguarda la fiducia che decidiamo di riporre in essa.

Fonti

Scritto da Claudio