GoFetch: vulnerabilità side-channel nei chip Apple

GoFetch: vulnerabilità side-channel nei chip Apple

Una vulnerabilità hardware presente nei chip Apple M1, M2 e M3 può essere sfruttata da un attacco side-channel per estrarre le chiavi crittografiche.
GoFetch: vulnerabilità side-channel nei chip Apple
Una vulnerabilità hardware presente nei chip Apple M1, M2 e M3 può essere sfruttata da un attacco side-channel per estrarre le chiavi crittografiche.

Un team di ricercatori di sei università statunitensi ha scoperto una vulnerabilità nei chip Apple M1, M2 e M3 che permette di estrarre le chiavi segrete dai Mac durante le operazioni crittografiche. L’attacco side-channel, denominato GoFetch, sfrutta una funzionalità della CPU chiamata DMP (Data Memory-dependent Prefetcher). Il bug non può essere risolto, ma solo mitigato con una drastica riduzione delle prestazioni.

Vulnerabilità nella microarchitettura

Il Data Memory-dependent Prefetcher (DMP) è un’ottimizzazione hardware che prevede gli indirizzi di memoria a cui è probabile che il codice in esecuzione acceda nel prossimo futuro. Caricando i contenuti nella cache della CPU prima che siano effettivamente necessari, DMP riduce la latenza tra la memoria principale e la CPU.

I prefetcher tradizionale caricano gli indirizzi dei dati, ignorando il valore dei dati. Il DMP carica nella cache anche il valore dei dati. L’attacco side-channel consente quindi di accedere a questi dati. GoFetch può estrarre le chiavi quando è in esecuzione sullo stesso cluster performance dell’app crittografica. Nel caso dei chip Apple M1, M2 e M3, un cluster è formato da quattro core performance o quattro core efficiency.

I ricercatori sono riusciti ad estrarre una chiave RSA a 2.048 bit in meno di un’ora, una chiave Diffie-Hellman a 2.048 bit in circa due ore, una chiave Kyber-512 in 54 minuti e una chiave Dilithium-2 in circa 10 ore.

Come per altre vulnerabilità side-channel, la soluzione definitiva richiede la modifica della microarchitettura. Potrebbero essere implementate alcune mitigazioni a livello di codice (applicazioni), come l’esecuzione delle app crittografiche sui quattro core efficiency (che non hanno DMP), ma in tutti i casi si ottiene un netto calo delle prestazioni.

Fonte: ArsTechnica
Link copiato negli appunti

Ti potrebbe interessare

Pubblicato il
22 mar 2024
Link copiato negli appunti