Tre vulnerabilità dei plug-in ChatGPT che sono state scoperte e chiuse permettono di capire altri rischi che si nascondono dietro alle GenAI.
Autore: Redazione SecurityOpenLab
I ricercatori dei Salt Labs di Salt Security hanno scoperto alcune falle di sicurezza all'interno dell'ecosistema di ChatGPT, che hanno consentito l'accesso ad account su siti web di terze parti e dati sensibili, fra cui account degli utenti e repository GitHub.
La questione è preoccupante nella misura in cui era già chiaro da tempo che i sistemi di intelligenza artificiale generativa fossero un nuovo e interessante vettore di attacco per i cyber criminali. Per questo i ricercatori di Salt Labs hanno iniziato a indagare, alla ricerca di eventuali vulnerabilità che a rigor di logica avrebbero potuto nascondersi in due posizioni: nella piattaforma stessa di IA generativa, oppure nell'ecosistema dell'IA generativa, solitamente causati da vulnerabilità di sicurezza nel codice che collega l'IA generativa ai servizi esterni o da vulnerabilità di sicurezza riscontrate nei servizi di terze parti.
La seconda opzione è sembrata un'area relativamente inesplorata in termini di possibili rischi per la sicurezza, per questo gli esperti hanno deciso di avviare un progetto di ricerca focalizzato proprio sui possibili rischi e sui possibili esiti di attacchi riusciti agli ecosistemi delle piattaforme di IA generativa. Le scoperte sono state interessanti.
La ricerca è stata condotta sull’ecosistema di ChatGPT, la GenAI più popolare del momento, anche se i ricercatori sottolineano che i risultati complessivi siano “rilevanti per qualsiasi piattaforma di intelligenza artificiale generativa”. Nel caso specifico, l'ecosistema di connessione a servizi di terze parti si chiama “plugin ChatGPT” ed è importante sapere che “quando utilizzi questi plug-in, concedi effettivamente a ChatGPT il permesso di inviare dati sensibili per tuo conto a un sito web di terze parti e, a seconda del plug-in, dai anche il permesso a quegli stessi plug-in di accedere ai tuoi account privati su Google Drive, GitHub e altro".
La ricerca si è svolta nel luglio 2023, quando i "plugin ChatGPT" erano la caratteristica principale di questa GenAI. Oggi sono ancora molto popolari, ma nel novembre 2023 ChatGPT ha introdotto una nuova funzionalità: i GPT, che contengono un'opzione chiamata "Action" che li collega con il mondo esterno e che è un concetto simile ai plug-in. Salt Labs segnala che tra il periodo della ricerca e oggi OpenAI ha svolto un ottimo lavoro sulla sicurezza dei GPT, risolvendo molti dei problemi segnalati. Il lavoro svolto mantiene tuttavia una grande importanza perché consente di comprendere un’area di rischio delle GenAI che finora era stata trascurata.
La prima vulnerabilità riscontrata dai ricercatori si trova direttamente in ChatGPT e consente agli attaccanti di installare plug-in dannosi sugli utenti di ChatGPT. Nello scenario di test, un attaccante può manipolare le vittime per accedere a un sito web con le loro credenziali. Come si sviluppa l’attacco è piuttosto semplice: quando un utente installa un nuovo plugin, ChatGPT lo reindirizza al sito web del plugin per ricevere un codice (che equivale a un token). Una volta ricevuto il codice, ChatGPT installa automaticamente il plug-in e può interagire con il plug-in stesso per conto dell'utente. Qualsiasi messaggio che l'utente scrive in ChatGPT può essere inoltrato al plugin. Il guaio è che ChatGPT non convalida che l'utente abbia effettivamente avviato l'installazione del plug-in, quindi un criminale informatico può inviare il link a una vittima e, se questa lo attiva con un clic, installa un nuovo plug-in dannoso con le credenziali dell'aggressore.
Quello che può accadere a questo punto dipende da come l’attaccante ha scritto il proprio plugin: può istruire ChatGPT affinché inoltri quasi tutti i dati della chat a questo plug-in, così che possa vedere in tempo reale i dati della chat privata della vittima, fra cui credenziali, password o altri dati sensibili.
Una seconda vulnerabilità trovata da Salt Labs riguarda l'acquisizione dell'account di un'organizzazione su siti web di terze parti, come GitHub. Per capire: quando si installa un plug-in che interagisce con GitHub, questo plug-in crea un account aggiuntivo, sul sito web del plug-in, che memorizza le credenziali utente per GitHub. Utilizzando queste credenziali il plug-in può accedere a repository privati che contengono secrets e codice sorgente. Per i test i ricercatori hanno impiegato "AskTheCode", un plug-in sviluppato con PluginLab.AI che consente di porre domande ai repository GitHub.
Il funzionamento dell’attacco riporta alla questione del codice. Quando un utente installa il plugin "AskTheCode" (o qualsiasi altro plugin sviluppato con PluginLab.AI), AskTheCode crea un nuovo account per l'utente e gli chiede l'autorizzazione per l'accesso al proprio account GitHub. AskTheCode archivia le credenziali di GitHub, genera un codice per ChatGPT che lo stesso ChatGPT userà per connettersi all'account dell'utente su AskTheCode.
Per validare il codice AskTheCode effettua una richiesta dal browser del client per https://auth.pluginlab.ai/oauth/authorize, ma l’url in questione non autentica la richiesta. Ne segue che un attaccante può sfruttare questa falla per ottenere illegalmente un codice che rappresenta la vittima e usarlo per accedere al suo repository GitHub tramite ChatGPT. La vulnerabilità in questo caso si trovava all'interno di PluginLab.AI, quindi interessava potenzialmente dozzine di altri plugin. Fortunatamente il lavoro dei ricercatori ha portato alla scoperta del problema, che è stato corretto prima della pubblicazione della ricerca.
Passiamo alla terza scoperta, che riguarda la manipolazione del reindirizzamento OAuth. Il problema riguarda proprio OAuth ed è presente in diversi plugin, con un impatto simile a quello descritto sopra per PluginLab.AI: porta all’acquisizione dell'account sul plug-in stesso. La differenza rispetto al modello descritto sopra è che l’attaccante deve inviare un link alla vittima, quindi è richiesto un livello maggiore di interazione che può potenzialmente abbassare il rischio.
Questo caso, e la replica dello stesso modello in altri plugin, porta i ricercatori a esortare gli sviluppatori di plugin a prestare maggiore attenzione al parametro redirect_uri di OAuth nel suo complesso, ossia a tutto il percorso, non solo al dominio come spesso avviene.
Come accennato, i GPT sono la versione successiva dei plug-in, con protocolli di sicurezza più avanzati. OpenAI ha implementato delle contromisure che permettono di allertare l'utente ogni volta che i dati vengono inviati da ChatGPT a un fornitore di terze parti, aumentando la consapevolezza di quanto sta accadendo. Il problema è che, secondo i ricercatori, non risolvono del tutto le falle. Per saperne di più però sarà necessario attendere una nuova ricerca, che si svilupperà proprio su questo tema.