È stata scoperta una vulnerabilità nei chip della serie M di Apple che consente agli aggressori di estrarre chiavi di crittografia dai Mac in determinate condizioni, secondo un documento di ricerca accademica pubblicato in questi giorni.
Chiamato “GoFetch“, il tipo di attacco informatico descritto coinvolge i Prefetcher dipendenti dalla memoria DMP, che cercano di prevedere di quali dati avrà bisogno il computer e di recuperarli in anticipo. Questa funzione ha lo scopo di rendere l’elaborazione più veloce, ma può rivelare involontariamente informazioni su ciò che sta facendo il computer.
L’articolo rileva che i DMP, in particolare quelli presenti nei processori Apple, rappresentano una minaccia significativa per la sicurezza fornita dai modelli di programmazione a tempo costante, che vengono utilizzati per gestire i processi in modo che impieghino la stessa quantità di tempo per essere eseguiti, indipendentemente dai dati richiesti.
Il modello di programmazione a tempo costante ha lo scopo di proteggere dagli attacchi in cui qualcuno può ottenere informazioni sensibili da un sistema informatico senza accedervi direttamente (osservando determinati schemi, ad esempio). L’idea è che se tutte le operazioni richiedono la stessa quantità di tempo, un utente malintenzionato avrà meno tempo da sfruttare.
Tuttavia, lo studio rileva che i DMP, in particolare nei processori Apple Silicon, possono far trapelare informazioni anche se il programma è progettato per non rivelare alcun modello sul modo in cui accede alla memoria. La nuova ricerca rileva che le DMP a volte possono confondere il contenuto della memoria, il che porta a trattare i dati allo scopo di eseguire l’accesso alla memoria, il che va contro il modello a tempo costante.
Gli autori presentano GoFetch come un nuovo tipo di attacco in grado di sfruttare questa vulnerabilità nelle DMP per estrarre chiavi di crittografia da software sicuro. L’attacco funziona contro alcuni algoritmi di crittografia popolari che si ritiene siano resistenti agli attacchi del side-channel, sia tradizionali (ad esempio OpenSSL Diffie-Hellman Key Exchange, decrittografia Go RSA) che post-quantici (ad esempio CRYSTALS-Kyber e CRYSTALS-Dilithium) metodi crittografici.
In una e-mail inviati ad ArsTechnica, gli autori hanno spiegato:
I prefetcher di solito guardano gli indirizzi dei dati a cui si accede (ignorando i valori dei dati a cui si accede) e cercano di indovinare gli indirizzi futuri che potrebbero essere utili. La DMP è diversa in questo senso poiché oltre agli indirizzi utilizza anche i valori dei dati per fare previsioni (prevedere gli indirizzi a cui andare e precaricare). In particolare, se un valore di dati “assomiglia” a un puntatore, verrà trattato come un “indirizzo” (dove in realtà non lo è) e i dati da questo “indirizzo” verranno portati nella cache. L’arrivo di questo indirizzo nella cache è visibile, con perdite sui side-channel della cache.
Il nostro attacco sfrutta questo aspetto. Non possiamo divulgare direttamente le chiavi di crittografia, ma ciò che possiamo fare è manipolare i dati intermedi all’interno dell’algoritmo di crittografia in modo che assomiglino a un puntatore tramite un attacco di input scelto. Non ci interessa che il valore dei dati venga precaricato, ma il fatto che i dati intermedi assomiglino a un indirizzo è visibile tramite un canale di cache ed è sufficiente per rivelare la chiave segreta nel tempo.
In sintesi, il documento mostra che la funzionalità DMP nelle CPU Apple Silicon potrebbe essere utilizzata per aggirare le misure di sicurezza nel software di crittografia pensate per proteggere da tali fughe di informazioni, consentendo potenzialmente agli aggressori di accedere a informazioni sensibili, come una chiave RSA a 2048 bit, in alcuni casi in meno di un’ora.
Secondo gli autori, il difetto dei chip Apple non può essere riparato direttamente.Di fatto, il vettore di attacco può essere ridotto solo inserendo difese nel software crittografico di terze parti che potrebbero comportare un estremo degrado delle prestazioni durante l’esecuzione delle operazioni crittografiche, in particolare sui chip M1 e M2. Il DMP dell’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 limitazione si verificherà quando questa ottimizzazione delle prestazioni verrà disattivata.
Come osserva ArsTechnica, questa non è la prima volta che i ricercatori identificano minacce nelle DMP di Apple. Una ricerca documentata nel 2022 ha scoperto una di queste minacce sia nel chip M1 che nel chip A14 Bionic di Apple per iPhone, che ha provocato l’attacco “Augury”. Tuttavia, questo attacco alla fine non è stato in grado di estrarre i dati sensibili quando sono state utilizzate pratiche a tempo costante.