Red Hot Cyber

La cybersecurity è condivisione.
Riconosci il rischio, combattilo, condividi le tue esperienze ed 
incentiva gli altri a fare meglio di te.

Cerca

Apple è nei guai. Con GoFetch è possibile ottenere dati crittografati su processori M1, M2 e M3

Redazione RHC : 24 Marzo 2024 09:11

Un gruppo di scienziati ha pubblicato informazioni su un attacco side channel denominato GoFetch. Il problema riguarda una grave vulnerabilità nei processori Apple M1, M2 e M3 che consente il furto di informazioni crittografate dalla cache del processore quando i processori Apple eseguono implementazioni di protocolli crittografici ampiamente utilizzati. 

L’attacco GoFetch sfrutta una vulnerabilità nei processori Apple relativa al DMP (prefetcher dipendente dalla memoria dei dati). Questo prefetcher di nuova generazione viene utilizzato solo nei processori Apple e Intel Raptor Lake, caricando i contenuti della memoria nella cache prima che siano necessari. Questa ottimizzazione dell’hardware prevede gli indirizzi dei dati in memoria a cui è possibile accedere nel prossimo futuro.

La vulnerabilità è dovuta al fatto che il prefetcher può caricare i dati nella cache del processore con un puntatore utilizzato per caricare altri dati. Infatti, DMP a volte confonde il contenuto della memoria e carica dati errati nella cache del processore.

La radice del problema è che la vulnerabilità neutralizza completamente l’effetto della protezione a tempo costante, che è la protezione contro gli attacchi al processore legati a side channel verso la cache. Questa protezione garantisce che tutte le operazioni richiedano la stessa quantità di tempo, indipendentemente dai loro operandi. Ma, a causa della vulnerabilità, le applicazioni che sfruttano GoFetch possono inserire dati sensibili nella cache e un’applicazione dannosa sarà in grado di rubarli.

“L’idea principale è che mentre DMP si limita a dereferenziare i puntatori, un utente malintenzionato può preparare i dati di input del programma in modo tale che, se mescolati con i segreti crittografici”, scrivono gli esperti.

Vale la pena notare che i processori della serie M sono divisi nei cosiddetti cluster. Ad esempio, l’M1 ha due cluster: uno contiene quattro core a basso consumo (aka Icestorm), e l’altro contiene quattro core ad alte prestazioni (aka Firestorm). Finché l’applicazione GoFetch e l’applicazione crittografica di destinazione sono in esecuzione sullo stesso cluster (anche su core diversi all’interno del cluster), GoFetch può ottenere segreti sufficienti per rubare la chiave privata.

La vulnerabilità colpisce tutti i tipi di algoritmi di crittografia, da quelli classici agli algoritmi di nuova generazione che dovrebbero essere resistenti agli attacchi futuri utilizzando computer quantistici.

Pertanto, GoFetch impiega meno di un’ora per estrarre una chiave RSA a 2048 bit e poco più di due ore per estrarre una chiave Diffie-Hellman a 2048 bit. L’attacco per estrarre il materiale necessario per assemblare la chiave Kyber-512 dura 54 minuti. E per la chiave Dilithium-2 saranno necessarie circa 10 ore, escluso il tempo necessario per elaborare i dati grezzi offline.

“Sfortunatamente, valutare se una particolare implementazione è vulnerabile richiede la crittoanalisi e l’ispezione del codice per capire quando e come i valori intermedi possono essere trasformati in indicatori di fuga dei segreti. Questo processo è manuale, molto lento e non esclude altri approcci di attacco”, scrivono gli autori di GoFetch.

Quel che è peggio, è che non c’è modo di risolvere questa vulnerabilità nei processori stessi. L’unica soluzione è la protezione del software e l’applicazione di patch al software crittografico di terze parti, che rallenterà le prestazioni di crittografia e decrittografia su M1, M2 e M3 e renderà la vita più difficile agli sviluppatori. Un’altra possibile difesa è eseguire processi crittografici sui core Icestorm precedentemente menzionati, che non dispongono di DMP. Ma è improbabile che tale protezione sia ideale e influirà anche sulle prestazioni.

L’unica eccezione è il processore M3, che i ricercatori hanno scoperto avere uno speciale ” interruttore ” che gli sviluppatori possono utilizzare per disabilitare DMP. Tuttavia, non è ancora chiaro quanto le prestazioni verranno ridotte disabilitando questa funzionalità.

Si sottolinea che l’impatto sulle prestazioni si farà sentire solo se il software interessato esegue determinate operazioni crittografiche. Cioè, quando si lavora nei browser e in molti altri tipi di applicazioni, le modifiche potrebbero non essere affatto evidenti.

Vale la pena notare che l’architettura Intel Raptor Lake (che include processori di 13a e 14a generazione) non è interessata dalla vulnerabilità descritta, nonostante l’utilizzo dello stesso prefetcher dei processori Apple della serie M.

Redazione
La redazione di Red Hot Cyber è composta da un insieme di persone fisiche e fonti anonime che collaborano attivamente fornendo informazioni in anteprima e news sulla sicurezza informatica e sull'informatica in generale.