Nuova vulnerabilità ZombieLoad scoperta sui chip Intel

Nuova vulnerabilità ZombieLoad scoperta sui chip Intel

L'indagine relativa alle vulnerabilità dipendenti dalle tecniche di esecuzione speculativa è andata avanti dal momento in cui sono stati rivelati Meltdown e Spectre. Sono stati pubblicati nuovi dettagli sullo stato di sicurezza dei processori Intel

di , Riccardo Robecchi pubblicata il , alle 20:25 nel canale Sicurezza
Intel
 

La scoperta delle vulnerabilità Spectre e Meltdown ha incentivato uno studio, sia interno a Intel che da parte di entità esterne, sulle tecniche di esecuzione speculativa proprie dei processori di recente concezione. L'esecuzione speculativa si basa sulla parallelizzazione dell'esecuzione delle istruzioni al fine di migliorare i tempi di elaborazione, ma in certi casi può comportare dei problemi di sicurezza.

L'indagine ha portato alla pubblicazione di una serie di studi che hanno individuato una nuova vulnerabilità appartenente alla stessa famiglia, identificata con vari nomi: RIDL, Fallout, ZombieLoad o Microarchitectural Data Sampling. La pluralità di nomi dipende dal fatto che diversi gruppi hanno lavorato sul problema e ciascuno di essi lo ha identificato in maniera propria. La Vrije Universiteit di Amsterdam l'ha chiamata Rogue In-Flight Data Load; un team che comprende la University of Technology di Graz, l'Università del Michigan, il Worcester Polytechnic Institute e la KU Leuven ha scelto il nome di Fallout. Gruppi di studio separati presso la University of Technology di Graz sono giunti alla conclusione che i migliori nomi potessero essere ZombieLoad e Store-to-Leak Forwarding.

Internamente, Intel sta invece usando il nome di Microarchitectural Data Sampling (MDS). La vulnerabilità è stata scoperta in maniera indipendente sia da Intel che dai vari altri gruppi, e il primo avvertimento a Intel è arrivato nel mese di giugno dello scorso anno.

Meltdown e Spectre

A livello architetturale, i processori eseguono normalmente le istruzioni in modo sequenziale, aspettando che tutti gli operandi di un'istruzione siano noti prima di eseguire quell'istruzione. Un programma che ha bisogno del valore elaborato dall'istruzione aspetterà che il lavoro di calcolo sia completato prima di accedere a quel valore. Secondo le tecniche di esecuzione speculativa, però, il processore tenta di indovinare in modo speculativo quale calcolo dovrà effettuare: in questo modo, se la condizione viene verificata, il risultato è già pronto per essere utilizzato. Per formulare questa ipotesi, la CPU generalmente si basa sui dati di precedenti calcoli custoditi in cache. Se il processore indovina, migliorerà i tempi di elaborazione; se sbaglia, ignorerà il valore presupposto e aspetterà che il calcolo del ramo di esecuzione venga portato a termine nella maniera tradizionale.

Un processo malevolo non può ovviamente accedere ai dati custoditi in cache, ma può leggere le tempistiche di accesso alle locazioni della cache. Il processore ha bisogno che le varie posizioni della cache vengano adattate rispetto al valore che sta inferendo e, a questo punto, si genera una differenza nelle tempistiche di accesso. Se dei dati sono salvati nella cache, infatti, una seconda istruzione che richiede i dati avrà un accesso istantaneo; se, invece, la posizione della cache deve essere aggiornata prelevando il dato dalla memoria si genererà una latenza. Se il processo malevolo è a conoscenza della gamma di valori che può essere memorizzata nelle celle di memoria della cache, un accesso al momento opportuno può fornirgli informazioni che possono permettergli di scoprire il contenuto della posizione ad accesso riservato. Analizzando i ritardi nell'accesso alle locazioni della cache, il processo malevolo è in grado di leggere potenzialmente ogni posizione di memoria del computer entrando in possesso di dati riservati del sistema operativo, password, dati cifrati e altro ancora.

Meltdown funziona seguendo questo principio e MDS è molto simile: tuttavia, piuttosto che accedere a dati presenti in cache, fa riferimento a dati provenienti dai vari buffer di cui si serve il processore. Il processore ha tre buffer specializzati (load, store e line fill) che utilizza per spostare i dati internamente e i valori che i buffer custodiscono vengono aggiornati o mantenuti con un meccanismo simile al funzionamento della cache.

Allo stesso tempo, però, il processo malevolo in questo caso ha uno scarso controllo sui dati che vengono utilizzati dai buffer e deve procedere a tentativi che possono rendere l'attacco particolarmente lento. Da questo il termine "sampling" (campionatura) nel nome della vulnerabilità. Il buffer di store, ad esempio, potrebbe contenere dati obsoleti provenienti da precedenti operazioni di store che sono irrilevanti per il processo malevolo. Per ottenere dati utilizzabili, devono essere fatti molti tentativi, e quindi il buffer interrogato diverse volte.

Quindi, sebbene questa problematica fosse già evidente per gli esperti che rintracciarono dapprima il sistema di individuazione dei valori delle locazioni della cache alla base di Meltdown, non esiste un modo semplice per forzare i buffer al fine di contenere informazioni sensibili per il processo malevolo. I ricercatori dell'Università di Amsterdam hanno mostrato un attacco proof-of-concept in cui un browser provava a leggere il file delle password cifrate di un sistema Linux. Tuttavia, per far funzionare questo attacco, alle vittime della dimostrazione è stato richiesto di eseguire ripetutamente il comando passwd, in modo da innescare un'alta probabilità che il contenuto del file si trovi in ​​uno dei buffer. Per queste ragioni, Intel ritiene che la vulnerabilità appena rivelata sia a basso o medio rischio.

Intel ha rilasciato un aggiornamento del microcodice per risolvere lato software la vulnerabilità per quanto riguarda i processori Sandy Bridge e i processori Coffee Lake e Whiskey Lake di prima generazione. I sistemi operativi ripuliranno in maniera forzosa i vari buffer per garantire che siano privi di dati sensibili. I più recenti processori Coffee Lake, Whiskey Lake e Cascade Lake, invece, includono adeguamenti hardware che inibiscono il funzionamento delle varie vulnerabilità.

Per i sistemi che dipendono dalle correzioni del microcodice, Intel prevede una perdita di prestazioni media di circa il 3%, anche se questa percentuale potrebbe aumentare nel caso di carichi di lavoro sfavorevoli.

"Microarchitectural Data Sampling (MDS) è già stato affrontato a livello hardware in molti dei nostri recenti processori Intel Core di ottava e nona generazione, nonché nella famiglia di processori scalabili Intel Xeon di seconda generazione" si legge in una nota ufficiale diramata da Intel. "Per gli altri prodotti interessati, la risoluzione del problema è possibile tramite gli aggiornamenti del microcodice, insieme agli aggiornamenti del sistema operativo e agli hypervisor software appena rilasciati. Forniamo ulteriori informazioni sul nostro sito e incoraggiamo tutti gli utenti a mantenere aggiornati i loro sistemi, perché rimane il modo migliore per rimanere protetti. Ringraziamo i ricercatori che hanno collaborato con noi e con i nostri partner per il contributo che hanno dato ad affrontare il problema".

Come nel caso di Meltdown, ZombieLoad (o MDS) sembra un problema specifico dei processori Intel. Questi usano l'elaborazione speculativa per una questione di miglioramento delle prestazioni, ma anche di semplicità di implementazione, mentre i chip di AMD e di ARM funzionano secondo logiche leggermente differenti che li tengono alla larga dal problema.

55 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
mik9115 Maggio 2019, 20:58 #1
Our attacks affect all modern Intel CPUs in servers, desktops and laptops. This includes the latest 9th-generation processors, despite their in-silicon mitigations for Meltdown. Ironically, 9th-generation CPUs are more vulnerable to some of our attacks compared to older generation hardware.


Stando ai ricercatori che hanno scoperto la falla sono vulnerabili anche le ultime architetture.
maxsin7215 Maggio 2019, 21:12 #2
Originariamente inviato da: mik91
Stando ai ricercatori che hanno scoperto la falla sono vulnerabili anche le ultime architetture.


Avresti il link per favore? Ti ringrazio
mik9115 Maggio 2019, 21:14 #3
Originariamente inviato da: maxsin72
Avresti il link per favore? Ti ringrazio


https://mdsattacks.com/
Nui_Mg15 Maggio 2019, 21:26 #4
Originariamente inviato da: maxsin72
Avresti il link per favore? Ti ringrazio

Io ho letto (non ricordo più dove) che quelli vulnerabili sono le cpu dal 2011 in avanti, incluso anche il 9900K che non ha il fix in hardware perché facente parte del più "vecchio" step 12 (Intel64 Family 6 Model 158 Stepping 12), mentre ce l'hanno i proci di nona generazione con stepping 13, di più nin zo

edit: aspè, da rimarcare che ci sono dei 9900K anche con step 13
bagnino8915 Maggio 2019, 21:44 #5
Non se ne può più.
Sandro kensan15 Maggio 2019, 21:57 #6
3% di qua, 3% di la, alla fine cosa rimane?
maxsin7215 Maggio 2019, 22:24 #7
Originariamente inviato da: Nui_Mg
Io ho letto (non ricordo più dove) che quelli vulnerabili sono le cpu dal 2011 in avanti, incluso anche il 9900K che non ha il fix in hardware perché facente parte del più "vecchio" step 12 (Intel64 Family 6 Model 158 Stepping 12), mentre ce l'hanno i proci di nona generazione con stepping 13, di più nin zo

edit: aspè, da rimarcare che ci sono dei 9900K anche con step 13


E' un macello, bisogna aspettare per avere le idee più chiare
rockroll16 Maggio 2019, 05:32 #8
Originariamente inviato da: mik91


Questa vulnerabilità interessa solo i processori Intel, più recenti compresi, ma AMD ed ARM sono esenti.

La patch di M$ e/o Intel, che fa perdere ottimisticamente il 3% di prestazioni per correzione microcode (e/o presumibilmente ben di più per update software), viene disinvoltamente applicata anche ai processori AMD, che non ne hanno bisogno, tanto per mantenere la par condicio.
fraussantin16 Maggio 2019, 08:35 #9
Devono trovare un sistema per escludere determinate app da questi fix.
È realmente difficile bloccare ogni tipo di speculazione a browser e app importanti , ma lasciarle attive a programmi di rendering e giochi?



Originariamente inviato da: rockroll
Questa vulnerabilità interessa solo i processori Intel, più recenti compresi, ma AMD ed ARM sono esenti.

La patch di M$ e/o Intel, che fa perdere ottimisticamente il 3% di prestazioni per correzione microcode (e/o presumibilmente ben di più per update software), viene disinvoltamente applicata anche ai processori AMD, che non ne hanno bisogno, tanto per mantenere la par condicio.
se amd non fa quel tipo di indovina indovinello non credo blocchi nulla.
coschizza16 Maggio 2019, 08:58 #10
Originariamente inviato da: Sandro kensan
3% di qua, 3% di la, alla fine cosa rimane?


non si perde il 3%

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^