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

Azienda Intel ha rivelato informazioni su due nuove vulnerabilità nel CPU Intel, provocate da perdite 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'uso di tecniche di analisi attraverso canali laterali sui dati nelle strutture microarchitettoniche. I processori AMD, ARM e altri non sono soggetti ai problemi.

La vulnerabilità L1DES rappresenta il maggior rischio, in quanto consente l'accumulo di blocchi di dati memorizzati nella cache (cache line), espulsi dalla cache di livello uno (L1D), nel buffer di riempimento (Fill Buffer), che in questa fase dovrebbe essere vuoto. Per identificare i dati accumulatisi nel buffer di riempimento, si applicano metodi di analisi attraverso canali laterali, precedentemente proposti negli attacchi MDS (Microarchitectural Data Sampling) e TAA (Transactional Asynchronous Abort). Il principio della protezione precedentemente implementata contro
MDS e TAA consiste nella pulizia dei buffer microarchitettonici prima del cambio di contesto, ma, come si è rivelato, in determinate condizioni i dati vengono speculativamente ripristinati nei buffer dopo l'operazione di pulizia, pertanto i metodi MDS e TAA rimangono applicabili.

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

Di conseguenza, un attaccante può ottenere informazioni sui dati espulsi dalla cache di primo livello, che sono stati modificati durante l'esecuzione dell'applicazione, che utilizzava il nucleo CPU corrente, o da applicazioni che vengono elaborate in altri thread logici (hyperthread) sulla stessa CPU (disattivare 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, correlata al caricamento o al salvataggio nella memoria di valori.

Sulla base di L1DES, vari team di ricercatori hanno sviluppato diverse varianti di attacchi che possono potenzialmente estrarre informazioni riservate da altri processi, sistemi operativi, macchine virtuali e enclave sicure SGX.

  • Il team VUSec ha adattato il metodo di attacco RIDL per la vulnerabilità L1DES. Disponibile prototipo di exploit, che include anche un metodo che aggira il metodo di protezione MDS proposto da Intel, basato sull'utilizzo 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 guest (gli studiosi hanno inizialmente sostenuto che VERW (cancellazione dei buffer microarchitettonici) non fosse sufficiente per la protezione e che fosse necessaria una pulizia completa della cache L1 ad ogni cambio di contesto).
  • Team ZombieLoad ha aggiornato il suo metodo d'attacco tenendo conto 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 nucleo del sistema operativo, dalle macchine virtuali e dai enclavi 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 - nuove vulnerabilità nelle strutture microarchitettoniche dei CPU Intel

La seconda vulnerabilità VRS (Vector Register Sampling) è collegata con un'interazione con il buffer di archiviazione (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 CPU. L'interazione si verifica in condizioni piuttosto rare ed è causata dal fatto che un'operazione eseguita in modo speculativo, che porta a riflettere lo stato dei registri vettoriali nel buffer di archiviazione, subisce un ritardo e termina dopo la pulizia del buffer, anziché prima. Analogamente alla vulnerabilità L1DES, il contenuto del buffer di archiviazione può quindi essere determinato tramite metodi di attacco MDS e TAA.

I ricercatori del gruppo VUSec hanno preparato prototipo di exploit, che consente di determinare i valori dei registri vettoriali ottenuti a seguito di calcoli in un altro flusso logico dello stesso core CPU. L'azienda Intel ha valutato la vulnerabilità VRS come troppo complessa per realizzare attacchi effettivi e ha assegnato un livello di pericolo minimo (2.8 CVSS).

Le informazioni sui problemi sono state trasmesse a Intel a maggio 2019 dal team Zombieload del Politecnico di Graz (Austria) e dal gruppo VUSec dell'Università libera di Amsterdam, e successivamente, dopo un'analisi di altri vettori di attacco dell'MDS, le vulnerabilità sono state confermate anche da altri ricercatori. Nel primo report MDS, le informazioni sui problemi L1DES e VRS non erano incluse a causa della mancanza di una correzione. Attualmente non è disponibile alcuna correzione, ma i termini di riservatezza sono scaduti.
Come misura di protezione, si raccomanda di disabilitare l'HyperThreading. Per bloccare la vulnerabilità a livello di 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 l'implementazione di meccanismi per bloccare i problemi nel prossimo futuro. Intel segnala inoltre che l'applicazione dei metodi di protezione proposti nel 2018 contro l'attacco L1TF (L1 Terminal Fault) consente di bloccare l'exploitation della vulnerabilità L1DES dagli ambienti virtuali. L'attacco suscettibili processori Intel Core, a partire dalla sesta generazione (Sky, Kaby, Coffee, Whiskey, Amber Lake, ecc.), oltre a alcuni modelli Intel Xeon e Xeon Scalable.

Inoltre, si può notare miglioramento exploit, che consente di applicare metodi di attacco RIDL per determinare il contenuto dell'hash della password root da /etc/shadow durante i tentativi di autenticazione periodici. Se l'exploit inizialmente 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) eseguiva un'operazione simile in 36 secondi, la nuova variante effettua l'attacco in 4 secondi.

Riproduci video

Fonte: opennet.ru

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