Un gruppo di ricercatori ha individuato un grosso problema di sicurezza presente nei chip M1, M2 e M3 silicon di Apple che è risolvibile solo tramite una revisione dell’architettura. Chiamato “GoFetch”, il bug permette a un attaccante di sottrarre informazioni crittografiche dalla cache CPU, ottenendo le chiavi utilizzate e riuscendo quindi ad accedere ai dati cifrati.
La vulnerabilità colpisce il DMP (data memory-dependent prefetcher), una funzionalità hardware usata per ottimizzare la cifratura. Nel dettaglio, DMP riesce a prevedere gli indirizzi di memoria a cui i programmi potrebbero accedere, pre-caricando i dati corrispondenti in cache; questo migliora notevolmente le performance.
I ricercatori hanno effettuato il reverse engineering del DMP nelle CPU Apple serie M e hanno scoperto che la funzionalità carica non solo i gli indirizzi di memoria ma anche il valore stesso dei dati, violando un importante requisito di sicurezza per la crittografia dato dal paradigma constant-time.
Questo paradigma viene usato per proteggere i dispositivi da attacchi side-channel e si assicura che tutte le operazioni della CPU impieghino lo stesso tempo, indipendentemente da ciò che fanno. Il codice constant-time prevede che non si possano mischiare dati e indirizzi di memoria, cosa che succede invece nelle CPU Apple: il DMP genera accessi alla memoria che sono dipendenti dal contenuto, dando origine a codice di esecuzione variabile che diventa vulnerabile agli attacchi.
“Per sfruttare il DMP, creiamo input specifici per le operazioni crittografiche in modo che i valori simili a puntatori appaiano solo se abbiamo indovinato correttamente alcuni bit della chiave segreta” ha spiegato il team. “Verifichiamo queste ipotesi controllando se il DMP esegue una de-referenziazione attraverso l’analisi del tempo di cache. Una volta indovinato, procediamo a indovinare il gruppo successivo di bit della chiave”.
Il team ha dimostrato l’efficacia dell’attacco sulle principali implementazioni crittografiche, sia classiche che post-quantistiche. Il bug colpisce anche le microarchitetture Intel Raptor Lake di 13° generazione.
I ricercatori specificano che non esistono fix per risolvere GoFetch, ma solo dei modi per mitigare i rischi. Il team ha condiviso diverse alternative, tra le quali disabilitare completamente DMP o applicare tecniche a livello di codice per il blinding crittografico che però penalizzano notevolmente le performance.
“Dato che abbiamo scoperto che i DMP esistono anche sulle CPU Apple M2/M3 e Intel di 13a generazione, il problema sembra trascendere i processori e i fornitori di hardware specifici” spiegano i ricercatori, evidenziando che il problema andrebbe risolto con delle contromisure hardware dedicate che modificano la microarchitettura delle CPU.
Condividi l’articolo
Articoli correlati
Altro in questa categoria
https://www.securityinfo.it/2024/03/26/gofetch-il-bug-dei-chip-apple-che-non-puo-essere-risolto/?utm_source=rss&utm_medium=rss&utm_campaign=gofetch-il-bug-dei-chip-apple-che-non-puo-essere-risolto