I ricercatori dell'Università Tecnica di Graz (Austria) informazioni su un nuovo metodo di attacco tramite canali laterali (), che consente di estrarre informazioni riservate da altri processi, dal sistema operativo, da macchine virtuali e da enclave protette (TEE, Trusted Execution Environment). Il problema interessa solo i processori Intel. I componenti per bloccare il problema nell'aggiornamento di ieri .
Il problema rientra nella classe MDS (Microarchitectural Data Sampling) ed è una versione aggiornata a maggio dell'attacco ZombieLoad. ZombieLoad 2.0, come altri attacchi della classe MDS, si basa sull'applicazione di metodi di analisi da canali laterali ai dati nelle strutture microarchitetturali (ad esempio, nei buffer di riempimento (Line Fill Buffer) e di memorizzazione (Store Buffer), in cui vengono temporaneamente conservati i dati utilizzati durante l'esecuzione delle operazioni di Load e Store).
Il nuovo variante dell'attacco ZombieLoad su una fuga di dati che si verifica durante il funzionamento del meccanismo di interruzione asincrona delle operazioni (TAA, TSX Asynchronous Abort), implementato nell'estensione TSX (Transactional Synchronization Extensions), che fornisce strumenti per lavorare con la memoria transazionale, consentendo di migliorare le prestazioni delle applicazioni multithread tramite l'esclusione dinamica di operazioni di sincronizzazione superflue (sono supportate transazioni atomiche che possono essere accettate o interrotte). In caso di interruzione, le operazioni effettuate con il segmento di memoria transazionale vengono annullate.
L'interruzione della transazione viene eseguita in modo asincrono, e nel frattempo altri thread possono accedere alla cache, che è anche utilizzata nel segmento di memoria transazionale scartato. Dal momento iniziale al completamento effettivo dell'interruzione asincrona della transazione, non è escluso che si verifichino situazioni in cui il processore, durante l'esecuzione speculativa dell'operazione, possa leggere dati dai buffer microarchitetturali interni e trasferirli all'operazione in esecuzione speculativa. Successivamente, il conflitto sarà rilevato, e l'operazione speculativa annullata, ma i dati rimarranno nella cache e potranno essere estratti utilizzando metodi di recupero della cache tramite canali laterali.
L'attacco consiste nell'aprire le transazioni TSX e nel creare condizioni per la loro interruzione asincrona, durante la quale si verificano le condizioni per la fuga di contenuti dai buffer interni, riempiti speculativamente con dati da operazioni di lettura della memoria eseguite sullo stesso core CPU. La fuga è limitata all'attuale core fisico della CPU (su cui viene eseguito il codice dell'attaccante), ma poiché i buffer microarchitettonici sono condivisi tra più thread in modalità Hyper-Threading, è possibile che si verifichino perdite di operazioni di memoria eseguite in altri thread della CPU.
Attacco alcuni modelli di processori Intel Core di ottava, nona e decima generazione, così come Intel Pentium Gold, Intel Celeron 5000, Intel Xeon E, Intel Xeon W e la seconda generazione di Intel Xeon Scalable. Sono soggetti all'attacco anche i nuovi processori Intel basati sull'architettura microarchitettonica Cascade Lake, presentata ad aprile, inizialmente non vulnerabile agli attacchi RIDL e Fallout. Oltre a Zombieload 2.0, i ricercatori hanno anche identificato la possibilità di bypassare i precedenti metodi di protezione contro gli attacchi MDS, basati sull'uso dell'istruzione VERW per pulire il contenuto dei buffer microarchitettonici al momento del ritorno dal kernel allo spazio utente o durante il passaggio di controllo a un sistema ospite.
Nel report di Intel si afferma che nei sistemi con carichi di lavoro eterogenei la possibilità di eseguire un attacco è complicata, poiché la fuga dalle strutture microarchitettoniche copre tutta l'attività del sistema e l'attaccante non può influenzare la fonte dei dati estratti, ossia può solo accumulare informazioni che emergono a seguito della fuga e tentare di individuare tra questi dati informazioni utili, senza la possibilità di intercettare intenzionalmente dati correlati a indirizzi di memoria specifici. Tuttavia, i ricercatori hanno pubblicato , funzionante su Linux e Windows, e è stata dimostrata la possibilità di applicare l'attacco per determinare l'hash della password dell'utente root.
eseguire un attacco da un sistema ospite per raccogliere dati che appaiono nelle operazioni di altri sistemi ospiti, nell'ambiente host, nel hypervisor e negli enclavi Intel SGX.

Le patch per bloccare la vulnerabilità sono state integrate nel codice sorgente del kernel Linux e sono state incluse negli aggiornamenti . Gli aggiornamenti con il kernel e il microcodice sono già stati rilasciati per le principali distribuzioni (, , , , , ). Il problema è stato identificato in aprile e la correzione è stata coordinata da Intel con gli sviluppatori dei sistemi operativi.
Il metodo più semplice per bloccare Zombieload 2.0 è disabilitare il supporto TSX nella CPU. La correzione proposta per il kernel Linux include diverse opzioni di protezione. La prima opzione offre il parametro "tsx=on/off/auto", che consente di gestire l'attivazione dell'estensione TSX nella CPU (il valore auto disabilita TSX solo per le CPU vulnerabili). La seconda opzione di protezione si attiva con il parametro "tsx_async_abort=off/full/full,nosmt" ed è basata sulla pulizia dei buffer microarchitetturali durante il cambio di contesto (il flag nosmt disattiva inoltre SMT/Hyper-Threads). Per verificare l'esposizione del sistema alla vulnerabilità, in sysfs è previsto il parametro "/sys/devices/system/cpu/vulnerabilities/tsx_async_abort".
Inoltre, nel del microcodice c'è un'altra () nei processori Intel, che è stata bloccata anche nel recente kernel Linux. La vulnerabilità consente a un attaccante non privilegiato di provocare un'interruzione del servizio, causando il blocco del sistema in uno stato di "Machine Check Error".
L'attacco può anche da un sistema ospite.
Fonte: opennet.ru
