È emersa una vulnerabilità non patchabile nei chip della serie M di Apple che consente agli attaccanti di estrarre chiavi di crittografia segrete da Mac in determinate condizioni, secondo un nuovo studio accademico.
Chiamato “GoFetch”, il tipo di attacco informatico descritto coinvolge i prefetcher dipendenti dalla memoria dei dati (DMP), che cercano di prevedere quali dati il computer necessiterà successivamente e li recuperano in anticipo. Questo dovrebbe velocizzare l’elaborazione, ma può involontariamente rivelare informazioni su ciò che il computer sta facendo.
Lo studio scopre che i DMP, soprattutto quelli nei processori di Apple, rappresentano una minaccia significativa per la sicurezza fornita dai modelli di programmazione a tempo costante, utilizzati per scrivere programmi in modo che impieghino lo stesso tempo per essere eseguiti, indipendentemente dai dati con cui operano.
Il modello di programmazione a tempo costante è progettato per proteggere contro gli attacchi a canali laterali, o tipi di attacchi in cui qualcuno può ottenere informazioni sensibili da un sistema informatico senza accedervi direttamente (osservando determinati pattern, ad esempio). L’idea è che se tutte le operazioni impiegano lo stesso tempo, ci sono meno cose per un attaccante da osservare e sfruttare.
Tuttavia, lo studio scopre che i DMP, soprattutto nei chip Apple, possono rivelare informazioni anche se il programma è progettato per non rivelare alcun pattern su come accede alla memoria. La nuova ricerca scopre che i DMP possono talvolta confondere il contenuto della memoria, il che fa sì che trattino i dati come un indirizzo per eseguire l’accesso alla memoria, il che va contro il modello a tempo costante.
Gli autori presentano GoFetch come un nuovo tipo di attacco che può sfruttare questa vulnerabilità nei DMP per estrarre chiavi di crittografia da software sicuro. L’attacco funziona contro alcuni popolari algoritmi di crittografia che si pensava fossero resistenti agli attacchi a canali laterali, compresi sia i metodi crittografici tradizionali (ad esempio, lo scambio chiave Diffie-Hellman di OpenSSL, la decrittazione RSA di Go) che quelli post-quantistici (ad esempio, CRYSTALS-Kyber e CRYSTALS-Dilithium).
In una email ad ArsTechnica, gli autori hanno spiegato:
“I prefetcher solitamente guardano agli indirizzi dei dati accessibili (ignorando i valori dei dati accessibili) e cercano di indovinare gli indirizzi futuri che potrebbero essere utili. Il DMP è diverso da questo punto di vista poiché, oltre agli indirizzi, utilizza anche i valori dei dati per fare previsioni (prevedere gli indirizzi da visitare e prefetchare). In particolare, se un valore dei dati ‘sembra’ un puntatore, sarà trattato come un ‘indirizzo’ (quando in realtà non lo è affatto!) e i dati provenienti da questo ‘indirizzo’ saranno portati nella cache. L’arrivo di questo indirizzo nella cache è visibile, rivelando i canali laterali della cache.
Il nostro attacco sfrutta questo fatto. Non possiamo rivelare direttamente le chiavi di crittografia, ma ciò che possiamo fare è manipolare i dati intermedi all’interno dell’algoritmo di crittografia in modo che sembrino un puntatore tramite un attacco a input scelto. Il DMP quindi vede che il valore dei dati ‘sembra’ un indirizzo e porta i dati provenienti da questo ‘indirizzo’ nella cache, che rivela l’ ‘indirizzo’. Non ci interessa che il valore dei dati venga prefetchato, ma il fatto che i dati intermedi sembrassero un indirizzo è visibile tramite un canale laterale della cache ed è sufficiente per rivelare la chiave segreta nel tempo.”
In sintesi, il documento mostra che la funzionalità DMP nei processori Apple silicon potrebbe essere utilizzata per aggirare le misure di sicurezza nel software di crittografia che si pensava proteggessero da tali fughe, consentendo potenzialmente agli attaccanti di accedere a informazioni sensibili, come una chiave RSA da 2048 bit, in alcuni casi in meno di un’ora.
Secondo gli autori, il difetto nei chip di Apple non può essere risolto direttamente. Invece, il vettore di attacco può essere solo ridotto integrando difese nel software crittografico di terze parti che potrebbero comportare un’eccessiva degradazione delle prestazioni durante l’esecuzione delle operazioni crittografiche, in particolare sui chip M1 e M2 precedenti. Il DMP sul M3, l’ultimo chip di Apple, ha un bit speciale che gli sviluppatori possono invocare per disabilitarlo, ma i ricercatori non sono ancora sicuri di quale tipo di penalità si verificherà quando questa ottimizzazione delle prestazioni sarà disabilitata.
Come sottolinea ArsTechnica, non è la prima volta che i ricercatori individuano minacce nei DMP di Apple. La ricerca documentata nel 2022 ha scoperto una minaccia del genere sia nel M1 che nel chip A14 Bionic di Apple per iPhone, che ha portato all’attacco “Augury”. Tuttavia, questo attacco alla fine non è riuscito a estrarre i dati sensibili quando sono state utilizzate pratiche a tempo costante.
“GoFetch mostra che il DMP è significativamente più aggressivo di quanto precedentemente pensato e quindi rappresenta un rischio per la sicurezza molto maggiore”, affermano gli autori sul loro sito web. “In particolare, scopriamo che qualsiasi valore caricato dalla memoria è candidato a essere dereferenziato (letteralmente!). Questo ci consente di aggirare molte delle limitazioni di Augury e dimostrare attacchi end-to-end su codice reale a tempo costante.”
Gli attacchi di tipo DMP non sono comuni e di solito richiedono un accesso fisico a un Mac. I ricercatori hanno informato Apple della vulnerabilità nel dicembre 2023.
Leggi o Aggiungi Commenti