Come gli hacker possono leggere le tue chat con ChatGPT o Microsoft Copilot

Come gli hacker sfruttano le funzionalità dei chatbot per ricostruire chat criptate di OpenAI ChatGPT, Microsoft Copilot e molti altri chatbot di intelligenza artificiale

Come leggere i messaggi criptati di ChatGPT e di altri chatbot IA

I ricercatori israeliani di Offensive AI Lab hanno pubblicato un articolo che descrive un metodo per ricostruire il testo dei messaggi dei chatbot IA intercettati. Oggi diamo un’occhiata a come funziona questo attacco e quanto sia pericoloso nella realtà.

Quali informazioni possono essere estratte dai messaggi di chatbot IA intercettati?

I chatbot inviano messaggi in forma criptata, naturalmente. Tuttavia, l’impiego di modelli linguistici di grandi dimensioni (LLM, Large Language Models) e dei chatbot basati su di essi sfrutta una serie di funzionalità capaci di indebolire il criptaggio. Insieme, queste funzionalità consentono di eseguire un attacco side-channel quando il contenuto di un messaggio viene ricostruito a partire da frammenti di informazioni trapelate.

Per capire cosa succede durante questo tipo di attacco, dobbiamo vedere più in dettaglio gli LLM e i meccanismi dei chatbot. La prima cosa da sapere è che gli LLM non operano su singoli caratteri o parole in quanto tali, ma su token, paragonabili a unità semantiche di testo. La pagina Tokenizer sul sito Web di OpenAI offre uno sguardo sul loro funzionamento.

Esempio di tokenizzazione del testo utilizzando i modelli GPT-3.5 e GPT-4

Questo esempio dimostra come funziona la tokenizzazione dei messaggi con i modelli GPT-3.5 e GPT-4. Fonte

La seconda caratteristica che agevola questo attacco è evidente per chi ha già avuto modo di interagire con i chatbot IA, le cui risposte infatti non arrivano in blocco, bensì gradualmente, più o meno come se una persona le stesse digitando. Ma a differenza di una persona, gli LLM scrivono in token, non in singoli caratteri. I chatbot inviano i token generati in tempo reale, uno dopo l’altro. O meglio, la maggior parte dei chatbot lo fa: l’eccezione è Google Gemini, che pertanto risulta invulnerabile a questo attacco.

La terza particolarità è la seguente: al momento della pubblicazione dell’articolo, la maggior parte dei chatbot non utilizzava la compressione, la codifica o il padding (l’aggiunta di dati spazzatura a testo significativo per ridurre la prevedibilità e aumentare la forza del criptaggio) prima di criptare un messaggio.

Gli attacchi side-channel sfruttano tutte e tre queste peculiarità. Sebbene i messaggi del chatbot intercettati non possano essere decriptati, gli aggressori possono estrarne dati utili, in particolare la lunghezza di ciascun token inviato dal chatbot. Il risultato è simile a un gioco enigmistico: non sai esattamente quale sia la frase nascosta, ma solo la lunghezza delle singole parole.

Gli aggressori possono dedurre la lunghezza dei token inviati

Sebbene sia impossibile decriptare il messaggio, gli aggressori possono estrarre la lunghezza dei token inviati dal chatbot; la sequenza risultante è simile a una frase nascosta di cui si conosce la lunghezza delle parole. Fonte

Utilizzo delle informazioni estratte per ripristinare il testo del messaggio

Non resta che indovinare quali parole si nascondono dietro i token. E chi è bravo a indovinare le cose? Proprio gli LLM. Si può dire anzi che sia questo il loro scopo principale: indovinare le parole giuste in un dato contesto. Quindi, per ripristinare il testo del messaggio originale dalla sequenza risultante delle lunghezze dei token, i ricercatori si sono rivolti a un LLM…

A due LLM, per la precisione, poiché i ricercatori hanno osservato che gli scambi di apertura nelle conversazioni con i chatbot seguono quasi sempre delle formule, e quindi facilmente indovinabili da un modello appositamente addestrato su una serie di messaggi introduttivi generati da modelli linguistici di largo uso. Pertanto, il primo modello viene utilizzato per ripristinare i messaggi introduttivi e passarli al secondo modello, che gestisce il resto della conversazione.

Panoramica dell'attacco per il ripristino dei messaggi di chatbot IA

Schema generale dell’attacco. Fonte

Ciò produce un testo in cui le lunghezze dei token corrispondono a quelle del messaggio originale. Le specifiche parole vengono forzate con vari gradi di successo. Una corrispondenza perfetta tra il messaggio ripristinato e l’originale è rara: più spesso invece accade che una parte del testo non venga indovinata correttamente. A volte il risultato è soddisfacente:

Esempio di ricostruzione abbastanza buona del testo

In questo esempio, il testo restaurato è abbastanza vicino all’originale. Fonte

Laddove gli esiti siano negativi, il testo ricostruito può avere poco o nulla a che fare con l’originale. Ad esempio:

Esempio di ricostruzione non riuscita

Qui le congetture degli LLM lasciano molto a desiderare. Fonte

Un esempio peggiore:

Esempio di una pessima ricostruzione del testo

Come disse Alice, “non sono queste le parole giuste, ne sono proprio sicura”. Fonte

In totale, i ricercatori hanno esaminato oltre una dozzina di chatbot IA e hanno trovato la maggior parte vulnerabile a questo attacco, a eccezione di Google Gemini (parente di Bard) e GitHub Copilot (da non confondere con Microsoft Copilot).

Elenco dei chatbot IA esaminati

Al momento della pubblicazione dell’articolo, molti chatbot erano vulnerabili all’attacco. Fonte

È il caso di preoccuparsi?

Prima di tutto, questo attacco è retroattivo. Supponiamo che qualcuno si sia preso la briga di intercettare e salvare le tue conversazioni con ChatGPT (non così facile, ma possibile), in cui hai rivelato terribili segreti. In questo caso, utilizzando il metodo sopra descritto, qualcuno sarebbe teoricamente in grado di leggere i messaggi.

Fortunatamente, le probabilità a favore dell’intercettatore non sono molto alte: come fanno notare i ricercatori, l’argomento stesso della conversazione è stato determinato solo il 55% delle volte. I casi di ricostruzione riusciti si fermano al 29%. Vale la pena ricordare che i ricercatori stessi si sono dati i criteri per stabilire se una ricostruzione sia riuscita o meno. La seguente, ad esempio, è riuscita:

Esempio di ricostruzione testuale pienamente riuscita

Esempio di ricostruzione testuale che i ricercatori hanno ritenuto pienamente riuscita. Fonte

Quanto sono importanti queste sfumature semantiche? La valutazione è, in ultima analisi, soggettiva. Facciamo poi notare che questo metodo non garantisce alcun grado di affidabilità nell’estrarre informazioni specifiche (nomi, valori numerici, date, indirizzi, dettagli di contatto, altre informazioni vitali).

Questo attacco ha inoltre un’altra limitazione non menzionata dai ricercatori: il successo del ripristino del testo dipende molto dalla lingua in cui sono scritti i messaggi intercettati: la tokenizzazione infatti varia notevolmente da lingua a lingua. La ricerca rimane focalizzata sulla lingua inglese, caratterizzata da token molto lunghi che generalmente equivalgono a un’intera parola. Il testo inglese tokenizzato mostra perciò ripetizioni peculiari che rendono la ricostruzione relativamente semplice.

Nessun’altra lingua vi si avvicina. Per le lingue germaniche e romanze, più vicine all’inglese, la lunghezza media del token è 1,5-2 volte più breve, mentre per il russo lo è di 2,5 volte: un tipico token russo è lungo solo un paio di caratteri, il che verosimilmente ridurrà a zero l’efficacia di questo attacco.

Almeno due sviluppatori di chatbot IA, Cloudflare e OpenAI, hanno già reagito all’articolo aggiungendo il metodo di padding sopra menzionato, progettato appositamente per questo tipo di minaccia. Altri sviluppatori di chatbot di intelligenza artificiale sono destinati a seguire l’esempio e, incrociando le dita, le comunicazioni future con i chatbot diventeranno impermeabili a questo attacco.

Consigli