Quali sistemi sono interessati?
L' attacco LVI-LFB colpisce le CPU Intel più recenti che sfruttano l'esecuzione speculativa.
L'attacco, denominato LVI-LFB (Load Value Injection nei Line Fill Buffer) consente ai malintenzionati di iniettare i valori falsi in alcune strutture di micro-architettura che vengono poi utilizzate dalla vittima, provocando potenzialmente la divulgazione di dati segreti e protetti su diversi livelli di privilegi.
Questo nuovo attacco (CVE-2020-0551) colpisce le nuove CPU Intel che sfruttano l'esecuzione speculativa.
Nella loro ricerca di CPU sempre più veloci, i venditori hanno implementato varie versioni di esecuzione speculativa. Questa funzionalità fa in modo che la CPU esegua delle previsioni plausibili sulle istruzioni, che possono essere richieste prima che siano effettivamente richieste. Questo tipo di esecuzione speculativa può lasciare tracce nella cache, che gli aggressori possono utilizzare per violare la memoria kernel e privilegiata.
Ciò che rende la ricerca relativa a questi attacchi un'attività pionieristica rispetto a quella riguardante attacchi diretti verso vulnerabilità più tradizionali ha che fare con la radice stessa del funzionamento delle moderne CPU. Per effettuare indagini adeguate, i team di ricerca devono conoscere a fondo il funzionamento interno delle CPU (predizione delle diramazioni, esecuzione fuori ordine, esecuzione speculativa, pipeline e cache), dei sistemi operativi (chiamate di sistema, gestione di interruzioni ed eccezioni, KPTI), nonché gli attacchi side-channel e gli attacchi basati su esecuzione speculativa in generale.
Questo nuovo attacco può essere particolarmente devastante in ambienti multi-tenant e multi-workload eseguiti su hardware condiviso tra gruppi di workload all'interno di un'organizzazione o tra organizzazioni, ad esempio cloud pubblici e privati. Questo perché, come mostrato nel proof-of-concept, è possibile che un processo con privilegi inferiori sotto il controllo dell'aggressore dirotti speculativamente il flusso di controllo in un processo con privilegi più elevati, in presenza di requisiti specifici.
Il rischio più diretto è il furto di dati segreti che verrebbero altrimenti mantenuti privati dalle protezioni perimetrali a livello di hardware, hypervisor e sistema operativo. Queste informazioni possono includere qualsiasi cosa, dalle chiavi di crittografia, alle password, o altre informazioni che un utente malintenzionato potrebbe esfiltrare o utilizzare per ottenere un ulteriore controllo del sistema preso di mira.
Questa nuova tecnica di attacco si chiama Load Value Injection e gli è stato assegnato il codice CVE-2020-0551 nel Common Vulnerabilities and Exposure.
I ricercatori avevano precedentemente esaminato MDS (Microarchitectural Data Sampling) da una sola direzione; la vittima accede al dato segreto, che viene caricato nei buffer MDS, mentre l'attaccante divulga il contenuto dei buffer MDS inviando un'istruzione di caricamento che richiede l'intervento di microcodice (ad esempio, attraverso lettura di un indirizzo non valido). Ma anche i buffer MDS possono essere utilizzati in modo improprio; se un malintenzionato esegue lo spraying di un determinato valore sui buffer MDS, una vittima può caricare speculativamente tale valore quando un'istruzione di load attiva tale microcodice (ad esempio, l'istruzione di load genera un errore). Analizzando in modo attento cos'è Spectre e cos'è MDS, un occhio allenato non tarderà a individuare la causa principale della nuova vulnerabilità LVI-LFB: una diramazione della memoria indiretta richiede l'intervento di un microcodice alimentato da valori obsoleti da buffer MDS che possono essere controllati da un attaccante, portando così all'esecuzione speculativa di codice arbitrario.
Altri scenari di attacco sono stati descritti da ricercatori accademici che lo hanno scoperto in modo indipendente e il problema è stato segnalato per la prima volta a Intel ad aprile 2019. Bitdefender ha segnalato il problema a Intel a febbraio 2020. Nella loro risposta del 25 febbraio riconoscevano l'esistenza del problema e dichiaravano che lo avrebbero reso pubblico il 10 marzo 2020.
Le strategie di mitigazione per gli attacchi side-channel basati su hardware possono rientrare in diverse categorie, ognuna con un differente grado di impatto operativo sulle organizzazioni.
Un altro attacco side-channel scoperto da Bitdefender, l' attacco SWAPGS può essere mitigato usando Bitdefender Hypervisor Introspection.
Il team di ricerca avanzata di Bitdefender vuole riconoscere il dovuto merito ai ricercatori che per primi hanno segnalato questo problema a Intel nell'aprile 2019, oltre che ringraziarli per la loro cooperazione e collaborazione, che hanno permesso la divulgazione al pubblico del problema (e non solo). Questi ricercatori accademici sono:
Jo Van Bulck, Daniel Moghimi, Michael Schwarz, Moritz Lipp, Marina Minkin, Daniel Genkin, Yuval Yarom, Berk Sunar, Daniel Gruss, e Frank Piessens
Questi ricercatori hanno creato un sito web dedicato e redatto un paper accademico dettagliato, disponibili ai seguenti link:
https://lviattack.eu/ (una descrizione dettagliata del problema)
https://lviattack.eu/lvi.pdf (un whitepaper accademico)
Ulteriori informazioni sono anche disponibili da Intel come segue:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00334.html (visoria)
https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection (immersione tecnica)