Mercoledì 3 Gennaio 2018: Google pubblica un articolo intitolato “Today’s CPU vulnerability: what you need to know“. In questo articolo Google spiega che alcuni ricercatori del team Google’s Project Zero hanno scoperto alcune gravi falle causate dalle tecniche di esecuzione speculativa implementate in gran parte delle CPU moderne.
James Horn, uno di questi ricercatori, ha mostrato come sfruttare l’esecuzione speculativa per trapelare i dati sensibili degli utenti (ad esempio le password salvate) dai loro dispositivi.
In particolare queste due falle sono state identificate con il nome di Meltdown e Spectre.
Attualmente Meltdown è stata testata solo sui processori della Intel e, secondo il Meltdown Paper, questa falla colpisce tutte le CPU Intel prodotte dopo il 1995 (escluse le CPU Intel Itanium e le CPU Intel Atom prodotte prima del 2013).
Spectre invece riguarda tutte le CPU che includono le tecniche di esecuzione speculativa prodotte negli ultimi 10 anni.
Che cosa è l’esecuzione speculativa?
L’esecuzione speculativa è un’ottimizzazione implementata nelle CPU moderne. Essa consiste nell’indovinare percorsi di esecuzione futuri ed eseguire in anticipo tali istruzioni. Queste istruzioni sono eseguite dai core inattivi del processore e i risultati sono memorizzati in una zona riservata della CPU. Se la predizione è corretta, i risultati vengono utilizzati, altrimenti vengono scartati. Questa tecnica aumenta notevolmente le prestazioni del processore.
Come funzionano questi exploit?
Entrambi gli exploit sfruttano le tecniche di esecuzione speculativa della CPU. Essi sono in grado di accedere agli spazi di memoria riservati (come la memoria riservata al sistema operativo o al kernel) per rubare le informazioni sensibili degli utenti. Siccome si tratta di una sorta di attacco “hardware”, esso funziona in tutti i sistemi operativi e attualmente non esiste alcun modo per individuarlo.
Esistono delle patch?
Per fortuna ci sono alcune patch per Windows, Linux e macOS come anche alcuni aggiornamenti di sicurezza per Android e iOS.
In particolare, la Microsoft ha attualmente rilasciato un fix per Windows 10 (KB4056892). Sicuramente la Microsoft provvederà a rilasciare ulteriori fix anche per le versioni più vecchie del sistema operativo (probabilmente da Windows 7 in poi).
La Apple invece ha implementato alcuni fix per Meltdown e Spectre a partire da macOS High Sierra 10.13.2.
Anche su Linux ci sono alcuni sviluppatori che stanno lavorando nello sviluppo di fix per il sistema operativo.
Attualmente però il problema di questi fix è che influenzano gravemente la performance della CPU. Si stima che queste patch riducano la performance dei processori dal 5% al 30%. Questa riduzione della performance si nota soprattutto nei server (per fare un esempio immagina cosa accadrebbe ad un server di database se ogni query SQL diventasse del 5% più lenta).
Maggiori informazioni su Meltdown e Spectre
Puoi trovare una spiegazione più dettagliata di queste falle su meltdownattack.com e spectreattack.com. C’è anche una sezione FAQ dove puoi trovare le risposte ai tuoi dubbi.