GhostRace: un attacco di esecuzione speculativa che colpisce i processori Intel, AMD, ARM e IBM

Corsa dei fantasmi

Vulnerabilità GhostRace

Informazioni su a nuovo attacco di esecuzione speculativa, soprannominato GhostRace (elencato sotto CVE-2024-2193), si tratta di un nuovo metodo sviluppato dai ricercatori della Vrije Universiteit Amsterdam e IBM per sfruttare il meccanismo di esecuzione speculativa presente nei moderni processori Intel, AMD, ARM e IBM.

I ricercatori menzionano che, GhostRace si concentra sulla manipolazione delle condizioni di gara speculative per accedere ad aree di memoria precedentemente liberate, che possono portare all'estrazione di dati sensibili dal kernel Linux, soprattutto negli ambienti di virtualizzazione in cui un utente malintenzionato su un sistema ospite può compromettere la sicurezza del sistema host o di altri sistemi ospiti.

Come funziona l'attacco si basa sull'esecuzione speculativa di istruzioni condizionali con primitive di sincronizzazione threading, come mutex e spinlock.

Se il processore prevede erroneamente dei rami nel codice che gestiscono queste operazioni, possono essere effettuati accessi speculativi alla memoria che è già stata liberata. Sebbene il processore scarti questi accessi dopo aver rilevato la previsione errata, le tracce di esecuzione rimangono nella cache e possono essere recuperate utilizzando tecniche di analisi del canale laterale.

GhostRace richiede la presenza di determinate sequenze di istruzioni nel kernel, noto come gadget, che vengono utilizzati per esecuzioni speculative in base alle condizioni esterne controllate dall'attaccante. Questi gadget Sono formati da sezioni di codice in cui lo stato viene controllato in un ciclo infinito ed esce dal ciclo dopo aver rimosso il blocco di accesso alla risorsa. Ciò consente di attivare erroneamente una transizione ed eseguire istruzioni protette da un blocco, anche se la risorsa rimane bloccata.

Durante l'analisi delle vulnerabilità, che è stato fatto nel codice kernel Linux 5.15.83, è stata rilevata la presenza di 1283 dispositivi che potrebbero portare ad accessi speculativi alla memoria già liberata. Questo tipo di attacco rappresenta un potenziale rischio per i sistemi di virtualizzazione, qualsiasi kernel del sistema operativo e programmi che utilizzano primitive di sincronizzazione dei thread verificate da istruzioni condizionali ed eseguite su piattaforme che consentono l'esecuzione speculativa di operazioni di ramo, come x86, ARM, RISC-V, tra gli altri.

Per testare la vulnerabilità, i ricercatori sviluppato un prototipo di exploit che ne dimostra l'efficacia del attaccare consentendo l'estrazione di dati dalla memoria del kernel Linux con un throughput di 12 KB al secondo e un livello di affidabilità simile agli attacchi della classe Spectre.

I Sono stati informati gli sviluppatori del kernel Linux e le aziende produttrici di CPU riguardo a questo problema alla fine del 2023. AMD ha già pubblicato un rapporto sulla vulnerabilità e consiglia di utilizzare tecniche standard per proteggersi da attacchi simili a Spectre v1. D'altra parte, Intel e ARM non hanno ancora risposto a questa notifica.

Sebbene Gli sviluppatori del kernel Linux non hanno piani immediati per implementare la serializzazione delle primitive sincronizzazione A causa della perdita di prestazioni, hanno già incorporato delle restrizioni per proteggersi dalla tecnica di exploit IPI Storming (CVE-2024-26602). Questa tecnica di attacco prevede l'interruzione di un processo al momento opportuno per fornire una finestra temporale per l'accesso speculativo alla memoria liberata.

Per mitigare questo tipo di attacco, Se propone di utilizzare la serializzazione delle primitive sincronizzazione includendo un'istruzione LFENCE dopo l'istruzione cmpxchq che controlla lo stato di blocco. Tuttavia, Questa misura di protezione comporta una penalizzazione della performance di circa il 5% nel benchmark LMBench, perché l'istruzione LFENCE disabilita l'esecuzione preventiva delle istruzioni successive prima di eseguire tutte le operazioni precedenti.

Nel caso dell'hypervisor Xen, gli sviluppatori hanno preparato delle modifiche per implementare il meccanismo di blocco protetto LOCK_HARDEN, simile al metodo BRANCH_HARDEN utilizzato in precedenza. Tuttavia, a causa dei potenziali impatti negativi sulle prestazioni e della mancanza di prove di attacchi in Xen, la modalità LOCK_HARDEN è disabilitata per impostazione predefinita.

finalmente se lo sei interessati a saperne di più, puoi controllare i dettagli in il seguente collegamento.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile del trattamento: AB Internet Networks 2008 SL
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.