Meltdown e Spectre: attacco alla sicurezza di base per la maggior parte dei computer

Meltdown e Spectre

La vulnerabilità di cui si sta parlando tanto consente, in alcune condizioni, di accedere in modo fraudolento attraverso il processore ad informazioni riservate. Queste informazioni possono includere password, chiavi segrete, dati sensibili, autorizzazion ad accedere ad altri servizi.

L’attacco avviene in modo sofisticato, facendo eseguire ai processori particolari sequenze di istruzioni macchina tali da portare i processori stessi in quelle condizioni molto particolari nelle quali è possibile sfruttare le vulnerabilità. Di fatto, i dispositivi coinvolti sono praticamente tutti i computer prodotti negli ultimi 20 anni, ed anche smartphone e tablet.

In realtà, la scoperta di questa falla risale al maggio 2017, quando ricercatori diversi hanno iniziato ad interessarsi della cosa ed a scambiarsi i primi risultati. Il rincorrersi di Intel, AMD e Apple con affermazioni e comunicati in cui si negava, o perlomeno si minimizzava, il fatto che i propri processori fossero affetti dal problema, la definizione di due diverse varianti della falla con nomi accattivanti (“Meltdown” e “Spectre”), e il fatto che durante le  festività a cavallo tra 2017 e 2018 una simile notizia poteva trovare un ascolto maggiore da parte del pubblico, sono alcuni dei motivi che ne hanno causato solo ora la diffusione.

Ma cosa è accaduto e di cosa si tratta esattamente?  

Nel magio 2017 molti ricercatori nel settore sicurezza si sono accorti di una serie di modifiche che gli sviluppatori di Linux e Windows avevano iniziato ad implementare all’interno di aggiornamenti beta per risolvere un grave problema di sicurezza: un bug nei chip Intel consente ai processi a basso privilegio di accedere alla memoria nel kernel del computer (il vero e proprio “cuore pulsante” della macchina). Gli attacchi che sfruttano questo bug, dovuto a funzionalità che Intel ha implementato per garantire un’elaborazione più rapida, potrebbero consentire a software appositamente programmati di spiare in profondità altri processi e dati sul computer o sullo smartphone di destinazione. E su macchine multi-utente, come i server gestiti da Google Cloud Services o Amazon Web Services, potrebbero persino consentire agli hacker di entrare in un processo di acquisto come utente regolare, uscendone poi per accedere ad altri processi in esecuzione sullo stesso server condiviso.

Un team di ricercatori del Project Zero di Google, istituti universitari che comprendono la Graz University of Technology, la University of Pennsylvania, la University of Adelaide in Australia e aziende di sicurezza tra cui Cyberus e Rambus hanno rilasciato insieme i dettagli di due attacchi basati su quel difetto, che sono stati battezzati Meltdown e Spectre.

Questi bug hardware consentono ai programmi di rubare dati che sono elaborati sul computer in un dato momento“, recita una descrizione degli attacchi su un sito Web creato dai ricercatori. “Mentre i programmi non sono in genere autorizzati a leggere i dati da altri programmi, un programma dannoso può sfruttare Meltdown e Spectre per ottenere segreti memorizzati nella memoria di altri programmi in esecuzione“.

Sebbene entrambi gli attacchi si basino sullo stesso principio generale, Meltdown consente ai programmi dannosi di accedere alle parti con privilegi più elevati della memoria del computer, mentre Spectre ruba i dati dalla memoria di altre applicazioni in esecuzione su una macchina. E mentre i ricercatori affermano che Meltdown è limitato ai chip Intel, dicono di aver verificato gli attacchi di Spectre anche sui processori AMD e ARM.

Ben Gras, un ricercatore del settore sicurezza presso la Vrije Universiteit di Amsterdam, specializzato in sicurezza hardware a livello di chip, afferma che gli attacchi rappresentano una profonda e grave violazione della sicurezza. “Con queste falle hardware, se c’è un modo in cui un utente malintenzionato può eseguire codice su una macchina, non può più essere fermato“, ha detto Gras, e ancora “Per qualsiasi processo che non è attendibile e isolato, la sicurezza è finita ora: ogni processo può spiare qualsiasi altro processo e accedere ad informazioni riservate nel kernel del sistema operativo“.

Meltdown e Spectre

Prima della scoperta di Meltdown e Spectre, Erik Bosman, un collega di Gras che lavora nel gruppo di sicurezza di VUSEC della Vrije Universiteit di Amsterdam, ha riprodotto con successo uno degli attacchi Intel, che sfruttano una caratteristica dei chip nota come “esecuzione speculativa”. Quando i moderni processori Intel eseguono codice e arrivano a un punto in un algoritmo in cui le istruzioni si diramano in due direzioni diverse, a seconda dei dati di input  (ad esempio, se c’è abbastanza denaro in un account per effettuare una transazione) risparmiano tempo “azzardando speculativamente” in tale direzione. In altre parole, fanno un’ipotesi ed eseguono le istruzioni per seguirla. Se il processore apprende che si è avventurato lungo il percorso sbagliato, torna indietro alla biforcazione e getta via il lavoro speculativo. Bosman di VUSEC ha confermato che quando i processori Intel eseguono la citata operazione speculativa, non separano completamente i processi che devono essere a basso privegio e non affidabili dalla memoria con privilegi più elevati nel kernel del computer. Ciò significa che un hacker può ingannare il processore permettendo a codice non privilegiato di esplorare la memoria del kernel con un’esecuzione speculativa.

Il processore di fatto va troppo avanti, eseguendo istruzioni che non dovrebbero essere eseguite“, afferma Daniel Gruss, uno dei ricercatori della Graz Univrsity of Technologyche ha scoperto gli attacchi.

Recuperare dati sensibili in questo modo non è semplice, dal momento che una volta che il processore interrompe la sua esecuzione speculativa e torna indietro alla biforcazione iniziale, scarta i risultati. Ma prima che lo faccia, li memorizza nella sua cache, una memoria temporanea assegnata al processore per dargli un rapido accesso ai dati recenti. Creando attentamente richieste al processore e osservando quanto velocemente risponde, il codice di un hacker potrebbe capire se i dati richiesti sono nella cache o meno. E con una serie di test di esecuzione speculativa e controllo della cache, può iniziare ad assemblare parti della memoria ad alto privilegio del computer, incluse anche le informazioni personali sensibili o le password.

Molti ricercatori nel settore sicurezza che hanno individuato le azioni degli sviluppatori che lavorano per risolvere quel bug avevano ipotizzato che il difetto di Intel consentisse semplicemente agli hacker di sconfiggere una protezione di sicurezza nota come Kernel Address Space Layout Randomization, il che rende molto più difficile per gli hacker trovare la posizione del kernel in memoria prima di utilizzare altri trucchi per attaccarlo. Ma Bosman ha confermato le teorie sul fatto che l’errore sia più grave: consente al codice dannoso non solo di localizzare il kernel in memoria, ma anche di rubare i contenuti di quella memoria.

Tra le due cose che sono state ipotizzate, questo è l’esito peggiore“, afferma Bosman.

Correggere le vulnerabilità è possibile, ma non facile

In una dichiarazione che risponde alla ricerca relativa a Meltdown and Spectre, Intel ha osservato che “questi exploit non hanno il potenziale per corrompere, modificare o eliminare dati“, sebbene abbiano la capacità di spiare i dati privilegiati. La dichiarazione sosteneva inoltre che “molti tipi di dispositivi informatici – con processori e sistemi operativi di molti produttori diversi – sono suscettibili a questi exploit“, citando anche i processori ARM e AMD.

Il direttore delle relazioni pubbliche ARM Phil Hughes ha affermato “Posso confermare che Arm ha collaborato con Intel e AMD per affrontare un metodo di analisi che sfrutta le tecniche di esecuzione speculative utilizzate in alcuni processori high-end, inclusi alcuni processori Cortex-A. Questo metodo richiede che il malware venga eseguito localmente e potrebbe causare l’accesso ai dati dalla memoria privilegiata“. Hughes ha affermato che la linea Cortex-M incentrata su IoT di ARM non è influenzata.

In un’e-mail a WIRED, AMD ha osservato che la ricerca è stata eseguita in un “ambiente di laboratorio dedicato e controllato” e che, grazie all’’architettura del processore, l’azienda ritiene che “al momento il rischio per i prodotti AMD sia vicino allo zero“.

Microsoft, che fa molto affidamento sui processori Intel nei suoi computer, afferma che dispone di aggiornamenti imminenti per risolvere il problema. “Siamo consapevoli di questo problema di settore e abbiamo lavorato a stretto contatto con i produttori di chip per sviluppare e testare le soluzioni più adatte per proteggere i nostri clienti“, ha detto la società in una nota. “Stiamo implementando soluzioni di mitigazione ai servizi cloud e stiamo rilasciando aggiornamenti di sicurezza per proteggere i clienti Windows da vulnerabilità che riguardano chip hardware prodotti da AMD, ARM e Intel. Non abbiamo ricevuto alcuna informazione che indicasse che queste vulnerabilità siano state utilizzate per attaccare i nostri clienti “.

Gli sviluppatori Linux hanno già rilasciato una correzione, apparentemente basata su un documento che raccomanda cambiamenti profondi ai sistemi operativi conosciuto come KAISER, rilasciato all’inizio del 2018 dai ricercatori della Graz University of Technology.

Apple ha rilasciato una dichiarazione confermando che “tutti i sistemi Mac e i dispositivi iOS sono interessati“, anche se Apple Watch non lo è. “Apple ha già rilasciato mitigazioni in iOS 11.2, macOS 10.13.2 e tvOS 11.2 per aiutare a difendersi da Meltdown“, ha detto la società. “Nei prossimi giorni prevediamo di rilasciare mitigazioni in Safari per difendersi da Spectre. Continuiamo a sviluppare e testare ulteriori attenuazioni per questi problemi e li pubblicheremo nei prossimi aggiornamenti di iOS, macOS, tvOS e watchOS“.

Amazon, che offre servizi cloud su configurazioni di server condivise, afferma che prenderà presto misure per risolvere il problema. “Questa è una vulnerabilità che esiste da più di 20 anni in moderne architetture di processori come Intel, AMD e ARM su server, desktop e dispositivi mobili“, ha detto la società in una nota. “Tutte tranne una piccola percentuale di macchine della flotta di Amazon EC2 sono già protette, le restanti saranno completate nelle prossime ore“.

Google, che offre servizi cloud simili, ha citato in una comunicazione gli effetti di Meltdown e Spectre sui suoi servizi, ed afferma che il problema di sicurezza è stato risolto in tutte le infrastrutture dell’azienda.

Le patch del sistema operativo che risolvono il difetto di Intel non sono prive di effetti negativi: isolare meglio la memoria del kernel dalla memoria non privilegiata potrebbe creare un rallentamento significativo per alcuni processi. Secondo un’analisi di Register, in alcuni casi tali ritardi potrebbero arrivare fino al 30%, anche se alcuni processi e processori più recenti potrebbero subire rallentamenti meno significativi. Intel, da parte sua, ha scritto in una sua dichiarazione che “gli impatti sulle prestazioni dipendono dal carico di lavoro e, per l’utente medio del computer, non dovrebbero essere significativi e verranno mitigati nel tempo“.

Fino a quando le patch per Meltdown e Spectre non si diffonderanno, non è chiaro quale potrebbe essere il rallentamento della velocità dei processori per la neutralizzazione di tali attacchi. Ma anche se gli aggiornamenti si traducono in un impatto sulle prestazioni, potrebbe essere una buona soluzione: meglio mettere i freni sul processore, forse, piuttosto che permetterlo di farsi rubare i segreti più sensibili dal proprio computer o smartphone.

E. P.

CHIUDI