Si chiama Microarchitectural Data Sampling (MDS) il nuovo gruppo di vulnerabilità che colpisce i microprocessori Intel. Si tratta di una sottoclasse delle già note vulnerabilità side channel legate all’esecuzione speculativa (la memoria corre a Spectre e Meltdown) e si compone di quattro tecniche correlate tra loro.
L’esecuzione speculativa è una tecnica usata dalle CPU moderne per velocizzare i calcoli. I microprocessori possono scegliere di eseguire le istruzioni in modo speculativo, sulla base di ipotesi considerate verosimili.
Durante l'esecuzione speculativa, il processore verifica queste ipotesi; se sono valide, l'esecuzione continua. Se non lo sono, l'esecuzione viene bloccata e può essere avviato il corretto percorso di esecuzione in base alle condizioni effettive. È possibile che l’esecuzione speculativa inneschi cosiddetti “effetti collaterali” che non vengono ripristinati quando la CPU fa ipotesi errate, e ciò può portare alla divulgazione di informazioni.
Microarchitectural Data Sampling (MDS) “dà a un programma i mezzi potenziali per leggere dati che altrimenti non sarebbe in grado di vedere”, spiega Intel, aggiungendo che “è importante notare che non ci sono notizie di alcun exploit reale di queste vulnerabilità”.
Le tecniche MDS sono basate sul campionamento (sampling) di dati che sfuggono (leak) a piccole strutture all’interno della CPU usando un side channel legato all’esecuzione speculativa eseguito in loco. Le strutture in questione sono store buffers, fill buffers e load ports. I primi sono buffer temporanei in cui sono archiviati indirizzi di store e dati. I secondi sono buffer temporanei tra le cache della CPU e infine i load ports sono buffer temporanei usati quando si caricano dati nei registri.
“L’uso pratico di MDS è un'impresa molto complessa. MDS, di per sé, non dà a un malintenzionato un modo per scegliere i dati sui quali mettere le mani”, spiega Intel.
Quali sono i processori Intel colpiti? MDS è stata risolta in hardware a partire da processori Core di ottava e nona generazione selezionati, così come gli Xeon Scalable di seconda generazione. Ulteriori informazioni in merito potete trovarle a questo indirizzo ma anche in questo PDF. “Ci aspettiamo che tutti i futuri processori Intel includano mitigazioni in hardware per risolvere queste vulnerabilità”.
I prodotti che non hanno correttivi all’interno del silicio (virtualmente tutte le CPU a partire da Nehalem, ossia dal 2008 in poi) sono protetti tramite aggiornamenti del microcode mediante il regolare ciclo di update da parte degli OEM, insieme a patch per i differenti sistemi operativi, software e software hypervisor. Microsoft, Apple, Google, Amazon e le altre aziende si sono già mosse per distribuire aggiornamenti dedicati a mitigare MDS.
Apple, in particolare, sottolinea di aver distribuito aggiornamenti per macOS Mojave, High Sierra o Sierra al fine di proteggere i Mac su cui sono installati, ma "alcuni modelli sono incapaci di supportare i fix e mitigazioni a causa dell'assenza di aggiornamenti al microcode da parte parte di Intel. I modelli incriminati sono i seguenti:
- MacBook (13, Late 2009)
- MacBook (13, Mid 2010)
- MacBook Air (13, Late 2010)
- MacBook Air (11, Late 2010)
- MacBook Pro (17, Mid 2010)
- MacBook Pro (15, Mid 2010)
- MacBook Pro (13, Mid 2010)
- iMac (21.5, Late 2009)
- iMac (27, Late 2009)
- iMac (21.5, Mid 2010)
- iMac (27, Mid 2010)
- Mac mini (Mid 2010)
- Mac Pro (Late 2010)
Non sono previste differenze a livello di protezione tra le mitigazioni hardware e quelle software. Intel si aspetta un “impatto prestazionale minimo” con le mitigazioni in azione sulla maggioranza dei PC, mentre “l’uso delle risorse e le prestazioni con alcuni carichi datacenter potrebbe esserne influenzato e variare di conseguenza”. L’azienda ha pubblicato alcuni grafici a questo indirizzo, ma come visibile in alcuni test indipendenti in alcuni casi l'impatto delle mitigazioni è palpabile sul fronte Linux.
Intel ritiene inoltre che alcuni consumatori debbano intraprendere ulteriori passi. “Questi includono i clienti che non possono garantire che software sicuro funzioni sui propri sistemi e che usano il Simultaneous Multi-Threading (SMT). In questi casi dovrebbero considerare come usano SMT per il loro carico, le indicazioni dei fornitori di sistemi operativi e macchine virtuali e il modello di minaccia della sicurezza per il loro particolare ambiente. Poiché questi fattori variano in modo considerevole dal cliente, Intel non sta consigliando di disabilitare l’Hyper-Threading (secondo Apple tale operazione ridurrebbe le prestazioni fino al 40% con compiti che sfruttano molto i thread), ed è importante capire che farlo, in sé e per sé, non conferisce protezione da MDS”.
In questa pagina sul sito di Intel si apprendono i codici CVSS delle vulnerabilità: CVE-2018-12126 (Microarchitectural Store Buffer Data Sampling, MLPDS) CVE-2018-12130 (Microarchitectural Fill Buffer Data Sampling, MSBDS, definita dai ricercatori di Bitdefender che l'hanno scoperta "YAM - yet another Meltdown"), CVE-2018-12127 (Microarchitectural Load Port Data Sampling, MFBDS), CVE-2019-11091 (Microarchitectural Data Sampling Uncacheable Memory, MDSUM). Le prime tre sono classificate con severità media e un punteggio di 6,5, mentre l’ultima ha un grado di pericolosità basso e uno "score" di 3,8.
Le falle Microarchitectural Data Sampling sono anche conosciute con alcuni alias: Zombieload, RIDL (Rogue In-Flight Data Load), Store-to-Leak Forwarding e Fallout, in quanto le diverse vulnerabilità che compongono MDS sono state scoperte da diversi gruppi di ricerca nel mondo. A questo indirizzo è possibile approfondire come funziona MDS in modo minuzioso e dettagliato. Al momento le architetture di AMD e ARM non sembrano essere soggette a queste vulnerabilità. AMD ha rilasciato una nota:
“In base alle nostre analisi e discussioni con i ricercatori crediamo che i nostri prodotti non siano suscettibili a Fallout o RIDL in virtù dei controlli di protezione hardware presenti nella nostra architettura. Non siamo stati in grado di dimostrare questi exploit sui prodotti AMD e non siamo a conoscenza di altri che l’abbiano fatto”.
Tra le CPU Intel più allettanti del momento c'è il Core i5-9400F, processorei a sei core di ultima generazione da affiancare a una scheda video dedicata, in quanto sprovvisto di GPU integrata abilitata.