Azienda Intel informazioni su due nuove vulnerabilità nel CPU Intel, provocate da perdite 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'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 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 (Microarchitectural Data Sampling) e (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.

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 , 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 il metodo di attacco RIDL per la vulnerabilità L1DES. Disponibile , 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 ha aggiornato il suo tenendo conto della vulnerabilità L1DES.
- I ricercatori dell'Università del Michigan hanno sviluppato un proprio metodo di attacco (), che consente di estrarre informazioni riservate dal nucleo del sistema operativo, dalle macchine virtuali e dai enclavi 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) 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 , 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 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 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 (L1 Terminal Fault) consente di bloccare l'exploitation della vulnerabilità L1DES dagli ambienti virtuali. L'attacco 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 , che consente di applicare metodi di attacco 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 , 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 , la nuova variante effettua l'attacco in 4 secondi.

Fonte: opennet.ru
