Scoperto un metodo per estrarre dati criptati dai processori proprietari di Apple M1, M2 e M3.

Apple è sempre stata una pioniera del settore informatico. Basti pensare all’Apple II, all’interfaccia grafica che esordì prima su Lisa e che divenne in seguito uno standard grazie al Macintosh. Il trend di innovazione è proseguito soprattutto a partire dal 2002, con la rivoluzione apportata da iPod, iPhone, iPad e infine iMac.
In tempi recenti, Apple ha dato vita ad un vero e proprio ecosistema proprietario blindato destinato sia ai consumatori comuni, che ai professionisti. L’ultimo tassello aggiunto al loro progetto è stata la creazione dei SoC proprietari Apple Silicon, in modo da non ricorrere alle tecnologie di Intel e AMD per i propri prodotti.

GoFetch

Ciò costituisce un grosso vantaggio in termini di sicurezza per l’azienda di Cupertino, in quanto esercita un controllo totale sia sul software che sull’hardware. Tuttavia, ogni sistema ha le proprie falle e anche per i processori Apple Silicon non sfuggono a tale regola.
In questo caso l’obiettivo principale sono le chiavi crittografiche custodite nella loro cache, che possono essere estratte mediante un complesso attacco laterale denominato GoFetch.
Ma come sempre andiamo con ordine.

  1. Cos’è GoFetch?
  2. I processori Apple a rischio
  3. Come comportarsi se si è possessori di un processore Apple Silicon?

Cos’è GoFetch?

GoFetch è il nome attribuito ad un attacco proof-of-concept che prende di mira il Data Memory Prefetching (DMP), una funzione proprietaria ed innovativa sviluppata da Apple proprio per la sua linea di processori Silicon.

Il prefetcher viene addestrato nel momento in cui accede alla memoria per estrarre dei dati, creando così una tabella di accessi precedenti che viene costantemente aggiornata. Questo training set gli consente di anticipare l’estrazione dalla cache i dati richiesti dal software in esecuzione, andando così a migliorare notevolmente le prestazioni del sistema.

L’attacco GoFetch si inserisce nel mezzo del processo, in quanto sfrutta la capacità predittiva del DMP per estrarre le chiavi crittografiche salvate nella memoria cache dei processori. Stando all’analisi degli esperti e ai risultati dei test da loro condotti, è emerso che il DMP di Apple viola ampiamente le regole di sicurezza del paradigma di programmazione a tempo costante, in quanto mescola tra loro i pattern dei dati e degli accessi alla memoria.

Questo fa sì che le prestazioni siano superiori, ma al costo di scambiare il valore effettivo di un dato con un puntatore in qualità della somiglianza tra i due valori. Ciò comporta quindi che il dato venga trattato come un indirizzo di memoria, quando invece non lo è, provocando di fatto una trasmissione diretta dei valori direttamente nella cache.

Un attore malevolo che intende appropriarsi delle chiavi crittografiche presenti sugli Apple Silicon può fabbricare input specifici per indurre il prefetcher a dereferenziare i dati, i quali appaiono come puntatori software nel momento in cui il DMP indovina correttamente alcuni dei bit presenti nella chiave segreta memorizzata nella cache.

A questo punto il malintenzionato interferisce gradualmente con i bit restanti, a prescindere che il DMP continui a essere attivo, o meno.
Ripetendo il processo alcune volte, il risultato finale è proprio l’ottenimento dell’intera chiave crittografica.

GoFetch cyber attack apple

C’è da dire che una soluzione hardware simile al DMP è presente anche sui processori Intel di tredicesima generazione, Raptor Lake, ma questi presentano un’implementazione molto più restrittiva rispetto a quella di Apple, sventando così la possibilità di sfruttamento a proprio vantaggio.

Tra gli algoritmi di criptazione maggiormente esposti a GoFetch si citano:

  • OpenSSL
  • Diffie-Hellman-2048
  • RSA-2048
  • Kyber-512
  • Dilithium-2.

I processori Apple a rischio

La dimostrazione condotta nell’inverno 2023 da parte di sette esperti statunitensi, ha sollevato una questione critica nei confronti di Apple.
La criticità risulta infatti mitigabile negli Apple Silicon M3, con la disattivazione del DMP, ma pressoché irrisolvibile nei suoi predecessori M1 e M2, in quanto il sistema non prevede una sua disabilitazione.

L’allarme è stato ampiamente diffuso proprio per la natura di GoFetch, poiché si tratta di un attacco che non richiede l’accesso diretto al computer fisico, ma che viene eseguito da remoto mediante un codice in esecuzione sul sistema bersaglio.

A peggiorare la situazione ci si mette soprattutto la natura della falla.
Essendo un problema a livello hardware, non è possibile intervenire direttamente via software per applicare una patch correttiva, ma richiederebbe il ritiro e la sostituzione completa di tutti i processori Apple Silicon M1 e M2.
Stando alle parole degli ingegneri software di Apple, una soluzione software sarebbe praticabile, ma la contromisura per mitigare i danni dell’attacco GoFetch comporterebbe un crollo prestazionale non indifferente nei processori interessati, con un grave danno d’immagine verso l’azienda che ha fatto leva proprio sulle prestazioni della sua architettura durante la campagna di marketing.

Come comportarsi se si è possessori di un processore Apple Silicon?

Alla luce di quanto discusso, sfortunatamente non è possibile mitigare i danni di un attacco GoFetch, se non intervenendo direttamente a livello hardware. Se si è possessori di un recente Apple M3, è possibile disabilitare direttamente il DMP a livello software, potendo così evitare di cadere vittima dell’attacco. Ma se il sistema in uso è dotato di un Apple M1 o di un M2, non è possibile fare nulla.

Gli sviluppatori e gli esperti di sicurezza del mondo intero sono a lavoro per un miglioramento generale delle contromisure intrinseche agli Apple Silicon.
In particolare, è in fase di testing un sistema che include l’offuscamento dell’input e il mascheramento dell’attivazione del DMP. Ciò comporterebbe l’offuscamento completo della chiave estratta da un attore malevolo mediante attacco GoFetch.

Alla data di pubblicazione di questo articolo, non risulta ancora rilasciata una dichiarazione in merito da parte di Apple.
Per cui si dovranno attendere adeguate contromisure da parte della casa di Cupertino.

In conclusione

L’evoluzione del mondo ormai viaggia sullo stesso binario di quello occupato dall’informatica.
I tempi cambiano, la velocità aumenta esponenzialmente, ma le abitudini rimangono sempre le stesse. Nuove vulnerabilità vengono scoperte giornalmente, molte di queste legate specialmente a prodotti presenti sul mercato già da alcuni anni.

L’attacco GoFetch dimostra che l’ossessione di Apple verso la velocità e le performance superiori ad ogni suo concorrente, sono controproducenti per chiunque. Questo perché, se ci si fosse fermati a riflettere un attimo e ad implementare le stesse contromisure adottate contro Spectre e Meltdown, i processori Apple Silicon avrebbero goduto di misure di sicurezza molto robuste e non soggette all’impossibilità di una loro risoluzione.
Il voler primeggiare ad ogni costo, specialmente andando in contro ad ogni violazione in termini di sicurezza informatica, danneggia tutti quanti, specialmente chi ne è l’artefice. Questo Apple lo ha scoperto a proprie spese.