JDownloader Account Premium WorldBytez Filestore Easybytez Datafile Rapidgator Uploaded Easybytez Spotify IPTV DAZN SKY

GoFetch: una grave falla nei chip Apple M-series consente l'estrazione di chiavi crittografiche

« Older   Newer »
  Share  
keysersoze86
view post Posted on 22/3/2024, 14:36 by: keysersoze86     +1   -1
Avatar

PowerTech

Group:
Admin
Posts:
15,624
Punti Reputazione JDP!:
+8,389,615

Status:


GoFetch: una grave falla nei chip Apple M-series consente l'estrazione di chiavi crittografiche



Una nuova vulnerabilità scoperta nei chip M di Apple può consentire a potenziali aggressori di estrarre chiavi di cifratura dai Mac durante l'esecuzione di operazioni crittografiche con protocolli di comune e largo utilizzo.

Si tratta di una falla la cui correzione è complicata e comunque indiretta, poiché deriva dalla progettazione micoarchitetturale dei chip Apple Silicon. La vulnerabilità riguarda in particolare il prefetcher dipendente dalla memoria (Dependent-Memory Prefetcher o DMP), un'ottimizzazione hardware che prevede quali possono essere gli indirizzi di memoria dei dati a cui è probabile che il codice in esecuzione acceda nel futuro immediato. Questo meccanismo fa sì che i contenuti vengano caricati nella cache della CPU in anticipo rispetto a quando effettivamente necessari, così da ridurre la latenza tra la memoria principale e la CPU. I prefetcher "tradizionali" sono usati da anni nelle CPU, ma i prefetcher dipendenti dalla memoria al momento si trovano solo nelle architetture M di Apple e nei processori Raptor Lake di Intel.

La possibilità di sfruttare i prefetcher per condurre attacchi side-channel allo scopo di ottenere dati significativi, come le chiavi di cifratura, è un problema noto, a cui gli ingegneri crittografici hanno risposto con i principi di programmazione a tempo costante, ovvero l'approccio che garantisce che tutte le operazioni richiedano la stessa quantità di tempo per essere completate, indipendentemente dai loro operandi.

Nei chip Apple Silicon M-series il DMP si comporta in maniera leggermente differente poiché non osserva solamente gli indirizzi dei dati a cui si accede (come nel caso dei prefetcher tradizionali), ma sfrutta anche i valori dei dati per elaborare le sue previsioni di accesso. Tuttavia nel momento in cui il valore di un dato "assomiglia" ad un puntatore, verrà trattato come fosse un indirizzo anche se in realtà non lo è. La conseguenza è che i dati di questo "indirizzo" vengono trasmessi alla cache, dove sono visibili. Spiegano i ricercatori che hanno scoperto la vulnerabilità (QUI):
    "Per sfruttare il DMP, abbiamo creato input scelti per le operazioni crittografiche, in modo che i valori simili a puntatori appaiano solo se abbiamo indovinato correttamente alcuni bit della chiave segreta. Verifichiamo queste ipotesi monitorando se il DMP esegue una dereferenziazione attraverso l'analisi della temporizzazione della cache. Una volta effettuata l'ipotesi corretta, procediamo a indovinare il successivo lotto di bit della chiave. Utilizzando questo approccio, mostriamo attacchi di estrazione di chiavi end-to-end su popolari implementazioni a tempo costante della crittografia classica (OpenSSL Diffie-Hellman Key Exchange, decrittazione Go RSA) e post-quantistica (CRYSTALS-Kyber e CRYSTALS-Dilithium)."

In questo modo i ricercatori non possono ottenere direttamente le chiavi crittografiche, ma manipolando i dati intermedi all'interno dell'algoritmo di crittografia in maniera tale che assomiglino ad un puntatore diventa possibile risalire alla chiave segreta nel corso del tempo, reiterando il meccanismo. Questa scoperta ha portato i ricercatori a realizzare un attacco proof-of-concept, denominato GoFetch (QUI), che si basa su un'applicazione che non richiede l'accesso di root, ma semplicemente gli stessi permessi utente che sono necessari per qualsiasi app di terze parti in esecuzione su macOS.

I chip M-Series sono normalmente organizzati in cluster, tipicamente suddivisi tra cluster "efficiency" e cluster "performance". Nel momento in cui l'app GoFetch e l'applicazione di crittografia "bersaglio" sono in esecuzione sullo stesso cluster performance - anche su core separati all'interno dello stesso cluster - l'attacco può riuscire ad estrarre una quantità sufficiente di informazioni tali da consentire di risalire alla chiave segreta di cifratura.

I ricercatori hanno condotto una serie di prove dimostrando il successo di GoFetch sia contro algoritmi di crittografia tradizionali, sia contro gli algoritmi di nuova generazione pensati per essere resistenti ad attacchi condotti con computer quantistici. Dalle prove dei ricercatori è emerso che GoFetch impiega meno di un'ora per risalire ad una chiave RSA a 2048-bit e circa due ore per una chiave Diffie-Hellman sempre a 2048-bit. Nel caso di un algoritmo Kyber-512 il tempo necessario è di 54 minuti, mentre sono invece necessarie 10 ore circa per una chiave Dilithium-2, più il tempo necessario per l'elaborazione dei dati grezzi.

Trattandosi di un meccanismo squisitamente hardware non è possibile andare a risolvere la vulnerabilità in maniera diretta: gli effetti potenzialmente dannosi di questa falla possono essere contenuti solamente da parte degli sviluppatori che eseguono algoritmi di crittografia sui processori Apple Silicon e con possibili ricadute in termini di prestazioni.

Tra le soluzioni a disposizione la più efficace è quella dell'oscuramento del testo cifrato che prevede l'aggiunta o rimozione di "maschere" ai valori significativi prima o dopo essere stati archiviati o caricati dalla memoria. In questo modo lo stato interno dell'algoritmo crittografico è casuale, il che impedisce un controllo da parte dell'attaccante e la conseguente neutralizzazione di attacchi come GoFetch. Si tratta però di una contromisura che deve essere usata in maniera specifica per l'algoritmo di crittografia utilizzato e che spesso rappresenta un onere significativo in termini di risorse di calcolo che possono aumentare di un fattore due.

Un'alternativa percorribile è l'esecuzione di processi di crittografia sui cluster "efficiency", che sono demandati all'esecuzione di task computazionalmente non intensi e per questo motivo privi di DMP. Non è però possibile escludere che evoluzioni architetturali future possano prevedere l'aggiunta di DMP anche a questo tipo di core, oltre al fatto che l'esecuzione di processi crittografici su questi cluster, proprio in virtù della loro natura, richiederà un tempo maggiore per il completamento delle operazioni.

Queste contromisure riguarderebbero però solamente i chip M1 ed M2, in quanto i più recenti chip M3 prevedono una funzionalità che consente agli sviluppatori di disabilitare la funzionalità DMP. Al momento, tuttavia, non sono note le effettive ricadute prestazionali se si sceglie deliberatamente di non sfruttare il prefetch dipendente dalla memoria.

I ricercatori sottolineano che sul lungo termine la strada da seguire preveda una maggior concertazione hardware-software, arrivando ad una situazione in cui l'hardware dovrebbe chiaramente mostrare al software un modo per disabilitare il DMP quando sono in esecuzione applicazioni critiche per la sicurezza.

E' comunque opportuno ricordare che le eventuali ricadute prestazionali saranno per lo più percepibili durante l'esecuzione di specifiche operazioni crittografiche, passando pressoché inosservate per le applicazioni più ordinarie.

Già nel 2022 era stata rilevata una vulnerabilità a carico del DMP nei processori Apple M1 e A14 Bionic, che aveva dato origine all'attacco proof-of-concept Augury. Allora, però, i ricercatori concordarono sulla bassa gravità della falla dal momento che non fu possibile riuscire a combinare dati e indirizzi. La nuova scoperta dimostra però che le vulnerabilità a carico del DMP possono essere più serie e rappresentare un potenziale rischio per la sicurezza maggiore rispetto a quanto precedentemente ritenuto.

Tutto ciò che al momento si può fare, lato utente, è verificare l'eventuale disponibilità di aggiornamenti di sicurezza in grado di mitigare GoFetch sui protocolli crittografici attualmente noti per essere vulnerabili.

Fonte: hwupgrade

 
Top
0 replies since 22/3/2024, 14:36   3 views
  Share