Azienda Intel informazioni su due nuove vulnerabilità nel CPU Intel, causate da un'uscita di dati dalla cache L1D (, L1DES — L1D Eviction Sampling) e dai registri vettoriali (, VRS — Vector Register Sampling). Le vulnerabilità appartengono alla classe (Microarchitectural Data Sampling) e si basano sull'applicazione di metodi di analisi tramite canali laterali ai dati nelle strutture microarchitetturali. I processori AMD, ARM e altri non sono soggetti a questi problemi.
La vulnerabilità L1DES rappresenta il pericolo maggiore, poiché l'insediamento di blocchi di dati memorizzati nella cache (cache line), espulsi dalla cache di primo livello (L1D), nel buffer di riempimento (Fill Buffer), che in questa fase dovrebbe essere vuoto. Per determinare i dati insediati nel buffer di riempimento, si possono applicare metodi di analisi tramite canali laterali, precedentemente proposti negli attacchi (Microarchitectural Data Sampling) e (Transactional Asynchronous Abort). La natura delle precedenti difese da
MDS e TAA consiste nella pulizia dei buffer microarchitetturali prima del cambio di contesto, ma, come si è scoperto, in certe condizioni i dati vengono speculativamente azzerati nei buffer dopo l'operazione di pulizia, quindi i metodi MDS e TAA rimangono applicabili.

Di conseguenza, l'attaccante può riuscire a determinare i dati espulsi dalla cache di primo livello, che sono stati modificati durante l'esecuzione dell'applicazione, prima occupante l'attuale nucleo CPU, o di applicazioni che operano parallelamente in altri thread logici (hyperthread) nello stesso nucleo CPU (disattivare il HyperThreading annulla l'efficacia dell'attacco). A differenza dell'attacco , L1DES non consente di selezionare indirizzi fisici specifici per il controllo, ma offre la possibilità di monitorare passivamente l'attività in altri thread logici, legata al caricamento o al salvataggio in memoria di valori.
Sulla base di L1DES, vari gruppi di ricercatori hanno sviluppato diverse varianti di attacchi, che potenzialmente consentono di estrarre informazioni riservate da altri processi, dal sistema operativo, dalle macchine virtuali e dagli enclave protetti SGX.
- Il team VUSec il metodo di attacco RIDL per la vulnerabilità L1DES. Disponibile , che include anche un metodo di protezione da MDS proposto da Intel, basato sull'uso dell'istruzione VERW per cancellare il contenuto dei buffer microarchitettonici al momento del ritorno dal kernel allo spazio utente o durante il passaggio di controllo al sistema ospite (i ricercatori inizialmente affermavano che VERW (cancellazione dei buffer microarchitettonici) non era sufficiente per la protezione e richiedeva un completo azzeramento della cache L1 a ogni cambio di contesto).
- Team ha aggiornato il suo in considerazione della vulnerabilità L1DES.
- I ricercatori dell'Università del Michigan hanno sviluppato un proprio metodo di attacco (), che consente di estrarre informazioni riservate dal kernel del sistema operativo, dalle macchine virtuali e dagli enclave protetti SGX. Il metodo si basa su del meccanismo di interruzione asincrona delle operazioni (TAA, TSX Asynchronous Abort) per determinare il contenuto del buffer di riempimento dopo una fuga di dati dalla cache L1D.
La seconda vulnerabilità VRS (Vector Register Sampling) alla fuga nel buffer di memorizzazione (Store Buffer) dei risultati delle operazioni di lettura dai registri vettoriali, modificati durante l'esecuzione di istruzioni vettoriali (SSE, AVX, AVX-512) sullo stesso core della CPU. La fuga si verifica in circostanze piuttosto rare ed è causata dal fatto che un'operazione eseguita in modo speculativo, che porta alla riflessione dello stato dei registri vettoriali nel buffer di memorizzazione, è ritardata e termina dopo la pulizia del buffer e non prima. Analogamente alla vulnerabilità L1DES, il contenuto del buffer di memorizzazione può poi essere determinato tramite metodi di attacco MDS e TAA.
I ricercatori del gruppo VUSec , che consente di determinare i valori dei registri vettoriali ottenuti come risultato di calcoli in un altro flusso logico dello stesso core della CPU. La società Intel la vulnerabilità VRS come troppo complessa per essere sfruttata in attacchi reali e le ha assegnato un livello di pericolo minimo (2.8 CVSS).
Le informazioni sui problemi sono state trasmesse a Intel nel maggio 2019 dal team Zombieload dell'Università Tecnica di Graz (Austria) e dal gruppo VUSec dell'Università Libera di Amsterdam, e successivamente, dopo l'analisi di altri vettori di attacco MDS, le vulnerabilità sono state confermate anche da altri ricercatori. Nella prima relazione MDS, le informazioni sui problemi L1DES e VRS non sono state incluse a causa dell'assenza di una correzione. La correzione non è ancora disponibile, ma il termine di divulgazione stabilito è scaduto.
Come metodo di protezione alternativo, si raccomanda di disabilitare l'HyperThreading. Per bloccare la vulnerabilità dal lato del kernel, si suggerisce di svuotare la cache L1 ad ogni cambio di contesto (bit MSR MSR_IA32_FLUSH_CMD) e disabilitare l'estensione TSX (bit MSR MSR_IA32_TSX_CTRL e MSR_TSX_FORCE_ABORT).
Intel rilasciare un aggiornamento del microcodice con implementazioni per bloccare i problemi nel prossimo futuro. Intel sottolinea anche che l'applicazione dei metodi di protezione proposti nel 2018 contro l'attacco (L1 Terminal Fault) consente di bloccare lo sfruttamento della vulnerabilità L1DES dagli ambienti virtuali. L'attacco i processori Intel Core, a partire dalla sesta generazione (Sky, Kaby, Coffee, Whiskey, Amber Lake, ecc.), così come alcuni modelli Intel Xeon e Xeon Scalable.
In aggiunta, si può notare , che permette di utilizzare metodi di attacco per determinare il contenuto dell'hash della password root da /etc/shadow durante tentativi di autenticazione periodici. Se inizialmente l'exploit proposto determinava l'hash della password in , e dopo l'applicazione della fuga durante il funzionamento del meccanismo di interruzione asincrona delle operazioni (TAA, TSX Asynchronous Abort) effettuava un'operazione simile in , la nuova variante esegue l'attacco in 4 secondi.

Fonte: opennet.ru
