Hanno rilevato una vulnerabilità nei processori Intel che porta alla perdita di dati

vulnerabilità

Se sfruttati, questi difetti possono consentire agli aggressori di ottenere l'accesso non autorizzato a informazioni riservate o, in generale, causare problemi

Un gruppo di I ricercatori delle università in Cina e negli Stati Uniti hanno identificato una nuova vulnerabilità nei processori Intel che porta alla fuga di informazioni sul risultato di operazioni speculative attraverso canali di terze parti, che possono essere utilizzati, ad esempio, per organizzare un canale di comunicazione nascosto tra i processi o rilevare perdite durante gli attacchi Meltdown.

L'essenza della vulnerabilità è un cambiamento nel registro del processore EFLAGS, verificatosi a seguito dell'esecuzione speculativa delle istruzioni, influisce sul successivo tempo di esecuzione delle istruzioni JCC (salta quando sono soddisfatte le condizioni specificate).

Le operazioni speculative non vengono completate e il risultato viene scartato, ma la modifica EFLAGS scartata può essere determinata analizzando il tempo di esecuzione delle istruzioni JCC. Le operazioni di confronto pre-salto eseguite in modo speculativo, se il confronto ha esito positivo, determinano un piccolo ritardo che può essere misurato e utilizzato come funzionalità di corrispondenza del contenuto.

L'attacco di esecuzione transitoria è un tipo di attacco che sfrutta la vulnerabilità delle tecnologie di ottimizzazione della CPU. Nuovi attacchi emergono rapidamente. Il canale laterale è una parte fondamentale degli attacchi di esecuzione transitoria per esfiltrare i dati.

In questo lavoro, abbiamo scoperto una vulnerabilità che ha modificato il registro EFLAGS in esecuzione transitoria che potrebbe avere un effetto collaterale sull'istruzione Jcc (Jump Condition Code) sulle CPU Intel. Sulla base della nostra scoperta, proponiamo un nuovo attacco del canale laterale che sfrutta i tempi di esecuzione transitori e le istruzioni Jcc per fornire dati.

Questo attacco crittografa i dati segreti modificando il registro che rallenta leggermente il tempo di esecuzione e che può essere misurato dall'attaccante per decodificare i dati. Questo attacco non dipende dal sistema di cache.

A differenza di altri attacchi simili attraverso canali di terze parti, il nuovo metodo non analizza la variazione del tempo di accesso ai dati memorizzati nella cache e non memorizzato nella cache e non richiede la fase di reimpostazione del record EFLAGS allo stato iniziale, il che rende difficile rilevare e bloccare l'attacco.

per demo, i ricercatori hanno implementato una variante dell'attacco Meltdown, utilizzando in esso un nuovo metodo per ottenere informazioni sul risultato di un'operazione speculativa. Il funzionamento del metodo per organizzare la fuga di informazioni durante un attacco Meltdown è stato dimostrato con successo su sistemi con CPU Intel Core i7-6700 e i7-7700 in un ambiente con kernel Ubuntu 22.04 e Linux 5.15. Su un sistema con CPU Intel i9-10980XE, l'attacco ha avuto successo solo in parte.

La vulnerabilità Meltdown si basa sul fatto che durante l'esecuzione speculativa delle istruzioni, il processore può accedere a un'area dati privata e quindi scartare il risultato, poiché i privilegi impostati vietano tale accesso al processo utente.

In un programma, un blocco eseguito speculativamente è separato dal codice principale da un salto condizionato, che in condizioni reali viene sempre attivato, ma a causa del fatto che l'istruzione condizionale utilizza un valore calcolato che non è noto al processore durante il codice preventivo . esecuzione, tutte le opzioni di filiale vengono eseguite in modo speculativo.

Nel Meltdown classico, poiché la stessa cache viene utilizzata per le operazioni eseguite speculativamente come per le istruzioni eseguite normalmente, è possibile durante l'esecuzione speculativa impostare marcatori nella cache che riflettano il contenuto dei singoli bit in un'area di memoria chiusa, e quindi in esecuzione normale codice per determinarne il significato attraverso l'analisi del tempo di accesso ai dati memorizzati nella cache e non memorizzati nella cache.

La nuova variante utilizza la modifica nel registro EFLAGS come indicatore di una perdita. Nella demo di Covert Channel, un processo ha modulato i dati inviati per modificare il contenuto del record EFLAGS e un altro processo ha analizzato la modifica nel runtime JCC per ricreare i dati inviati dal primo processo.

Infine, se sei interessato a saperne di più, puoi consultare il dettagli nel 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.