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

Intel scoperto informazioni su due nuove vulnerabilità nelle CPU Intel causate dalla perdita di dati dalla cache L1D (CVE-2020-0549, L1DES - L1D Eviction Sampling) e registri vettoriali (CVE-2020-0548, VRS - Campionamento del registro vettoriale). Le vulnerabilità appartengono alla classe MDS (Microarchitectural Data Sampling) e si basano sull'applicazione di metodi di analisi del canale laterale ai dati nelle strutture microarchitettoniche. AMD, ARM e altri processori non sono interessati da problemi.

Il pericolo maggiore è la vulnerabilità L1DES, che permessi sistemazione dei blocchi di dati memorizzati nella cache (cache line), sfrattati dalla cache di primo livello (L1D), nel Fill Buffer, che in questa fase dovrebbe essere vuoto. Per determinare i dati che si sono depositati nel buffer di riempimento, possiamo utilizzare i metodi di analisi del canale laterale precedentemente proposti negli attacchi MDS (Campionamento dati microarchitettonici) e TAA (Aborto Transazionale Asincrono). L'essenza della protezione precedentemente implementata contro
MDS e TAA scaricano i buffer della microarchitettura prima del cambio di contesto, ma si scopre che in alcune condizioni i dati vengono speculativamente scaricati nei buffer dopo l'operazione di svuotamento, quindi i metodi MDS e TAA rimangono applicabili.

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

Di conseguenza, un utente malintenzionato può ottenere il rilevamento dei dati rimossi dalla cache di primo livello che sono stati modificati durante l'esecuzione di un'applicazione che in precedenza occupava l'attuale core della CPU o di applicazioni eseguite in parallelo in altri thread logici (hyperthread) sulla stessa CPU. core (disabilitare HyperThreading non riduce l'efficacia degli attacchi). A differenza dell'attacco L1TFL1DES non consente la selezione di indirizzi fisici specifici per l'ispezione, ma fornisce la possibilità di monitorare passivamente l'attività in altri thread logici associati al caricamento o all'archiviazione di valori in memoria.

Sulla base di L1DES, diversi team di ricerca hanno sviluppato diverse varianti di attacco che possono potenzialmente estrarre informazioni sensibili da altri processi, dal sistema operativo, da macchine virtuali ed enclavi SGX protette.

  • Squadra VUSec adattato Metodo di attacco RIDL per la vulnerabilità L1DES. Disponibile sfruttare il prototipo, che aggira anche il metodo di protezione MDS proposto da Intel, che si basa sull'uso dell'istruzione VERW per cancellare il contenuto dei buffer della microarchitettura quando si ritorna dal kernel allo spazio utente o quando si trasferisce il controllo al sistema ospite (i ricercatori inizialmente hanno insistito sul fatto che VERW (clearing microarchitectural buffer) per la protezione è insufficiente e richiede uno svuotamento completo della cache L1 su ogni cambio di contesto).
  • Squadra ZombieLoad aggiornato il mio metodo di attacco tenendo conto della vulnerabilità L1DES.
  • I ricercatori dell’Università del Michigan hanno sviluppato un proprio metodo di attacco Cache Out (PDF), che consente di estrarre informazioni riservate dal kernel del sistema operativo, dalle macchine virtuali e dalle enclavi SGX protette. Il metodo si basa su manipolazioni con un meccanismo di interruzione asincrona delle operazioni (TAA, TSX Asynchronous Abort) per determinare il contenuto del buffer di riempimento dopo una perdita di dati dalla cache L1D.

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

Seconda vulnerabilità VRS (Vector Register Sampling). collegato con fuoriuscita nel buffer di memorizzazione (Store Buffer) dei risultati delle operazioni di lettura dai registri vettoriali modificati durante l'esecuzione delle istruzioni vettoriali (SSE, AVX, AVX-512) sullo stesso core della CPU. La perdita si verifica in una serie di circostanze abbastanza rare ed è causata dal fatto che un'operazione speculativa che comporta la riflessione dello stato dei registri vettoriali nel buffer di archiviazione viene ritardata e completata dopo che il buffer è stato svuotato e non prima. Analogamente alla vulnerabilità L1DES, il contenuto del buffer di archiviazione può quindi essere determinato utilizzando le tecniche di attacco MDS e TAA.

Ricercatori del gruppo VUSec preparato sfruttare il prototipo, che consente di determinare i valori dei registri vettoriali ottenuti come risultato dei calcoli in un altro thread logico dello stesso core della CPU. Società Intel apprezzato La vulnerabilità VRS è stata considerata troppo complessa per effettuare attacchi reali e gli è stato assegnato un livello minimo di gravità (2.8 CVSS).

I problemi sono stati segnalati a Intel nel maggio 2019 dal team Zombieload dell'Università Tecnica di Graz (Austria) e dal team VUSec della Libera Università di Amsterdam, e le vulnerabilità sono state successivamente confermate da diversi altri ricercatori dopo aver analizzato altri vettori di attacco MDS. Il primo rapporto MDS non includeva informazioni sui problemi L1DES e VRS a causa della mancanza di una soluzione. La soluzione non è disponibile al momento, ma il periodo di non divulgazione concordato è scaduto.
Come soluzione alternativa, si consiglia di disabilitare HyperThreading. Per bloccare la vulnerabilità lato kernel si propone di resettare 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 promesse rilasciare nel prossimo futuro un aggiornamento del microcodice con l'implementazione di meccanismi per bloccare i problemi. Intel rileva inoltre l'uso di metodi di protezione dagli attacchi proposti nel 2018 L1TF (L1 Terminal Fault) consente di bloccare lo sfruttamento della vulnerabilità L1DES da ambienti virtuali. attacco soggetto a Processori Intel Core a partire dalla sesta generazione (Sky, Kaby, Coffee, Whiskey, Amber Lake, ecc.), oltre ad alcuni modelli Intel Xeon e Xeon Scalable.

Inoltre si può notare miglioramento impresa, consentendoti di utilizzare metodi di attacco RIDL per determinare il contenuto dell'hash della password root da /etc/shadow durante i tentativi periodici di autenticazione. Se l'exploit proposto originariamente determinava l'hash della password 24 ore, e dopo aver applicato la perdita durante il funzionamento del meccanismo di interruzione asincrona (TAA, TSX Asynchronous Abort) ha eseguito un'operazione simile in secondi 36, la nuova variante effettua un attacco in 4 secondi.

Fonte: opennet.ru

Aggiungi un commento