Trail of Bits, societ di sicurezza newyorkese, ha identificato “LeftoverLocals“, una vulnerabilit che consente di recuperare dati, creati da un altro processo, dalla memoria locale di una GPU. Il problema colpisce le GPU di Apple, Qualcomm, AMD e Imagination Technologies.
In altre parole, una “scarsa pulizia” della memoria della GPU tra un compito e l’altro potrebbe consentire a un malintenzionato di leggere senza autorizzazione i dati di altri utenti dalla memoria locale della GPU di un sistema, superando i limiti di utenza o applicazione, con conseguente perdita di privacy dei dati.
Per sfruttare la vulnerabilit i malintenzionati devono avere un certo grado di accesso al sistema operativo del dispositivo da cui vogliono sottrarre i dati. PC e server permettono a pi utenti di condividere le stesse risorse di calcolo senza accedere ai dati degli altri, ma la vulnerabilit LeftoverLocals abbatte quei muri.
Secondo i ricercatori, LeftoverLocals mette a nudo l’architettura di sicurezza delle GPU nel complesso, “con particolare importanza per i modelli LLM e ML eseguiti sulle GPU interessate“. In un momento in cui il binomio GPU e IA altamente popolare, la sicurezza dei dati assume un ruolo fondamentale.
I ricercatori di Trail of Bits sono “stati in grado di creare un Proof of Concept (PoC) in cui un malintenzionato pu ascoltare la sessione LLM interattiva di un altro utente (ad esempio, llama.cpp) oltre i confini del processo o del container”.
Nel PoC mostrato nel tweet (e disponibile su Github) si vede il sistema bersaglio, a sinistra, chiedere all’LLM open source Llama.cpp di fornire dettagli sulla stessa Trail of Bits. In pochi secondi, il dispositivo del malintenzionato, a destra, raccoglie dalla memoria locale della GPU la maggior parte della risposta fornita dal grande modello linguistico sfruttando la vulnerabilit LeftoverLocals. L’attacco messo a puntodai ricercatori richiede meno di 10 righe di codice.
LeftoverLocals pu consentire il leak di ~5,5 MB di dati per ogni chiamata alla GPU su una AMD Radeon RX 7900 XT che, quando si esegue un modello 7B su llama.cpp, aggiunge fino a ~ 181 MB per ogni query LLM.
“Queste sono informazioni sufficienti per ricostruire la risposta della LLM con elevata precisione. La vulnerabilit evidenzia che molte parti dello stack di sviluppo ML presentano rischi per la sicurezza sconosciuti e non sono state rigorosamente esaminate da esperti di sicurezza”.
La vulnerabilit, tracciata come CVE-2023-4969, stata identificata a settembre, dando modo ai produttori di GPU di intervenire. A tal proposito, i ricercatori affermano che Apple ha patchato alcuni dispositivi e non altri, come il MacBook Air (M2) che risulta ancora vulnerabile. iPhone 15 non sembra esposto a LeftoverLocals come le versioni precedenti, in quanto A17 e M3 hanno apposite contromisure.
AMD, invece, non ancora intervenuta. “Abbiamo avuto la conferma da AMD che i loro dispositivi sono ancora interessati, sebbene continuino a indagare su potenziali piani di mitigazione. La loro dichiarazione sulla questione pu essere letta qui“.
AMD fa sapere che ha intenzione di creare “una nuova modalit che impedisca l’esecuzione dei processi in parallelo sulla GPU e pulisca la memoria locale tra i processi sui prodotti supportati”.
Questa modalit sar progettata per essere impostata da un amministratore e non abilitata di default. “AMD si aspetta di iniziare a distribuire le opzioni di mitigazione a partire da marzo 2024 tramite futuri aggiornamenti dei driver”.
Qualcomm ha rilasciato un firmware per alcuni dispositivi, ma non da escludersi che ve ne siano altri interessati.
Nel caso delle GPU Imagination, nonostante i ricercatori non abbiano osservato direttamente LeftoverLocals sulle GPU testate, Google ha confermato che alcune di queste GPU sono effettivamente vulnerabili. Imagination ha rilasciato una correzione a dicembre.
Le GPU NVIDIA non sono interessate dall’attacco, forse perch la societ era gi stata vittima di altri attacchi ed intervenuta sull’integrit dei dati in memoria. Anche le soluzioni ARM non risultano impattate, mentre per quanto riguarda Intel, i ricercatori affermano di aver testato “almeno una loro GPU” senza riuscire a portare a termine l’attacco. Infine, Google ha dichiarato di aver pubblicato dei fix per ChromeOS sui sistemi con le GPU AMD e Qualcomm coinvolte.