Meltdown e Spectre: le falle di sicurezza più pericolose di sempre

DiMarco Nisticò

PUBBLICATO IL 5 Gen 2018 ALLE 21:48 - AGGIORNATO IL 19 Agosto 2019 ALLE 14:21

Meltdown e Spectre sono i nomi di due falle di sicurezza che hanno sconvolto il mercato dei processori. Ma in cosa consistono? Scopritelo nel nostro articolo.

Si sente spesso parlare di falle di sicurezza, che siano nei browser o in un sistema operativo. Prontamente vengono risolte con delle patch o degli aggiornamenti e tutto ritorna alla normalità. Ciò di cui invece parleremo oggi non è un problema come tanti, ma qualcosa che ha realmente sconvolto il mondo della tecnologia, in particolare dei processori e microprocessori.

La scoperta delle falle

3 Gennaio 2018. Per alcuni è una giornata come tante altre. Ma in quel di Google è successo qualcosa di sorprendente. Una scoperta ad opera di Jann Horn del team Project Zero che manderà sottosopra l’umore delle più grandi aziende produttrici di processori e microprocessori. Ovviamente parliamo di Intel e AMD.

Il problema riguarda la distinzione tra la memoria del kernel e quella relativa all’utente. Nella prima sono alloggiate tutte quelle informazioni e dati che non vorremmo che fossero scoperti, come dati bancari, password e codici vari. La falla risiede nella cosiddetta esecuzione speculativa. Come afferma anche il team Project Zero:

“In order to improve performance, many CPUs may choose to speculatively execute instructions based on assumptions that are considered likely to be true. During speculative execution, the processor is verifying these assumptions; if they are valid, then the execution continues. If they are invalid, then the execution is unwound, and the correct execution path can be started based on the actual conditions.” 

Che tradotto significa:

“Per incrementare le performance, molte CPU possono scegliere di eseguire specularmente le istruzioni basate su assunzioni che vengono considerate come vere. Durante l’esecuzione speculativa, il processore sta verificando tali assunzioni; se sono valide, l’esecuzione continua. Se non sono valide, l’esecuzione è interrotta e il percorso di esecuzione corretto può essere inizializzato basandosi sulle condizioni attuali.”

Tutto ciò significa che durante questa operazione, se qualcosa dovesse andare storto potrebbero venir divulgate informazioni sensibili degli utenti a loro insaputa.

Meltdown

Meltdown sfrutta il bug dell’esecuzione speculativa per poter leggere tranquillamente tutti i dati presenti nella memoria del kernel. Solitamente la memoria del kernel e quella dell’utente sono ben distinte. Tramite questa falla è possibile rimuovere questa distinzione e prendere possesso di qualunque dato. Si tratta di un problema di tipo hardware che risiede nell’architettura dei processori finora sviluppati. I modelli colpiti sono tutti quelli rilasciati da oggi fino a 20 anni fa. Per cui molto probabilmente anche voi che state leggendo siete affetti da questo incredibile bug.

Di seguito trovate un video dimostrativo di come funziona un possibile attacco di tipo Meltdown:

Risolvere il problema

L’unica maniera per poter risolvere il problema è aggiornare i propri dispositivi, soprattutto PC e laptop, in maniera da rimuovere il problema. Purtroppo si potrebbe avere un calo di prestazioni dal 5% al 30%. Ma meglio un PC un pò meno performante che poco sicuro.

Una possibile soluzione adottata da Intel e da altre aziende consiste nel rendere la memoria kernel perfettamente invisibile, in maniera tale da non poter essere violata in alcun modo.

[adsense]

Spectre

Spectre è forse la falla più pericolosa tra le due. Innanzitutto richiede una completa riscrittura dell’architettura hardware di un processore per poter essere risolta. Per cui i processori finora rilasciati dovranno accontentarsi di qualche aggiornamento software per tamponare il problema.

Il problema consiste nel fatto che un possibile hacker può prendere possesso delle informazioni che risiedono nella memoria kernel semplicemente sfruttando uno qualsiasi dei processi aperti in quel momento. Tramite un semplice codice in JavaScript inserito in un programma malevolo è possibile accedere alla porzione di memoria controllata dal kernel, dove risiedono i dati personali degli utenti. Nel comunicato rilasciato proprio dal team di Google si legge:

“In addition to violating process isolation boundaries using native code, Spectre attacks can also be used to violate browser sandboxing, by mounting them via portable JavaScript code. We wrote a JavaScript program that successfully reads data from the address space of the browser process running it.”

Che traducendo significa:

“Oltre a violare i limiti di isolamento del processo utilizzando codice nativo, gli attacchi di tipo Spectre possono inoltre essere usati per violare i processi di sandbox del browser, aggirandoli via codice JavaScript portatile. Abbiamo scritto un programma JavaScript che legge con successo i dati dallo spazio di indirizzo del processo del browser in cui gira.”

Microsoft ha rilasciato un aggiornamento per Windows 10 che migliora sicuramente la sicurezza del sistema operativo sotto questo aspetto.

Per Chrome è disponibile una soluzione che viene definita Site Isolation:

  1. Copiare la stringa chrome://flags/#enable-site-per-process nella barra degli indirizzi e premere Invio.
  2. Abilitare la voce Strict Site Isolation e riavviare il browser.

Tale procedura è valida per qualunque sistema operativo, anche Android.

Per ulteriori informazioni, potete consultare il sito ufficiale dedicato o i comunicati stampa di varie aziende:

  1. Comunicato stampa di Apple
  2. Security exploits and Intel products
  3. An Update on AMD Processor Security
  4. Comunicato stampa di Google

Quali dispositivi sono a rischio?

Inizialmente si pensò che solamente i processori Intel erano stati colpiti da queste falle. Nelle ultime ore invece è parso di capire che anche i dispositivi mobile con processori ARM sono a rischio, come conferma anche Apple con i suoi iPhone, iPad e Mac, rilasciando prontamente un aggiornamento per iOS e MacOS. In questo momento tutti stanno correndo ai ripari, rilasciando patch ed aggiornamenti di sicurezza per ogni architettura. Per il problema Meltdown sembra che ci sia una soluzione definitiva mentre per Spectre bisognerà attendere ulteriori sviluppi. Purtroppo sono due falle completamente diverse, che richiedono ognuna un intervento a parte.

Intel continua però ad affermare che i suoi processori sono i più sicuri al mondo, dicendo che queste due falle non andranno ad influire così negativamente sui dati e sulle prestazioni. Inoltre facendo il nome di ARM ed AMD come altre vittime di questo problema, ha fatto chiarezza sul fatto che non sia un difetto esclusivo dei suoi prodotti. Sembra però che i processori AMD siano quelli meno vulnerabili sotto questo aspetto, secondo il comunicato ufficiale.

Non sappiamo ancora quanto potranno essere pericolose Meltdown e Spectre e fino a che punto la falla darà del filo da torcere alle aziende produttrici. Rimaniamo in attesa di aggiornamenti.

Di Marco Nisticò

Sviluppatore informatico, cerco sempre di stare al passo con i tempi in un mondo ormai circondato dalla tecnologia.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.