L1DES (CacheOut) e VRS — nuove vulnerabilità nelle strutture microarchitettoniche dei CPU Intel

Azienda Intel ha rivelato informazioni su due nuove vulnerabilità nel CPU Intel, causate da un'uscita di dati dalla cache L1D (CVE-2020-0549, L1DES — L1D Eviction Sampling) e dai registri vettoriali (CVE-2020-0548, VRS — Vector Register Sampling). Le vulnerabilità appartengono alla classe MDS (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é permette 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 MDS (Microarchitectural Data Sampling) e TAA (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.

L1DES (CacheOut) e VRS sono nuove vulnerabilità nelle strutture microarchitettoniche dei CPU Intel

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 L1TF, 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 ha adattato il metodo di attacco RIDL per la vulnerabilità L1DES. Disponibile un prototipo di exploit, 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 ZombieLoad ha aggiornato il suo un metodo di attacco in considerazione della vulnerabilità L1DES.
  • I ricercatori dell'Università del Michigan hanno sviluppato un proprio metodo di attacco CacheOut (PDF), che consente di estrarre informazioni riservate dal kernel del sistema operativo, dalle macchine virtuali e dagli enclave protetti SGX. Il metodo si basa su manipolazioni 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.

    L1DES (CacheOut) e VRS sono nuove vulnerabilità nelle strutture microarchitettoniche dei CPU Intel

La seconda vulnerabilità VRS (Vector Register Sampling) è correlata 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 hanno preparato un prototipo di exploit, 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 ha valutato 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 promette 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 L1TF (L1 Terminal Fault) consente di bloccare lo sfruttamento della vulnerabilità L1DES dagli ambienti virtuali. L'attacco sono soggette 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 miglioramento exploit, che permette di utilizzare metodi di attacco RIDL 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 24 ore, 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 36 secondi, la nuova variante esegue l'attacco in 4 secondi.

Guarda il video

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster