Scoperta una nuova variante dell'attacco Zombieload sui processori Intel

I ricercatori dell'Università Tecnica di Graz (Austria) hanno rivelato informazioni su un nuovo metodo di attacco tramite canali laterali ZombieLoad 2.0 (CVE-2019-11135), 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 proposti nell'aggiornamento di ieri del microcodice.

Il problema rientra nella classe MDS (Microarchitectural Data Sampling) ed è una versione aggiornata resasi nota 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 si basa 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 sono soggette 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 un prototipo di exploit, funzionante su Linux e Windows, e è stata dimostrata la possibilità di applicare l'attacco per determinare l'hash della password dell'utente root.
È possibile 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.

Guarda il video

Le patch per bloccare la vulnerabilità sono inclusi sono state integrate nel codice sorgente del kernel Linux e sono state incluse negli aggiornamenti 5.3.11, 4.19.84, 4.14.154, 4.9.201 e 4.4.201. Gli aggiornamenti con il kernel e il microcodice sono già stati rilasciati per le principali distribuzioni (Debian, SUSE/openSUSE, Ubuntu, RHEL, Fedora, FreeBSD). 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 aggiornamento del microcodice è stato risolto c'è un'altra vulnerabilità (CVE-2018-12207) nei processori Intel, che è stata bloccata anche nel recente aggiornamento kernel Linux. La vulnerabilità consente 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 essere effettuato da un sistema ospite.

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