Spectre e Meltdown: la lista delle varianti si aggiorna

Undici mesi fa il portale The Register rivelava l’esistenza delle vulnerabilità Spectre e Meltdown (SP ed MT per comodità), note da diversi anni ai vendor ma mai rese note all’opinione pubblica. L’azienda che più di altre subì le ripercussioni di tale vicenda fu Intel, leader indiscusso del mercato CPU le cui soluzioni erano però le più afflitte dai “bug” architetturali e software.

Nei mesi successivi l’attenzione della stampa e dei siti per SP-MT calò rapidamente ma i ricercatori continuarono a studiare con attenzione le due vulnerabilità, in modo da comprenderne tutte le possibili applicazioni ed implicazioni in ambito di sicurezza: ed i risultati non tardarono ad arrivare, come visto nei due precedenti post di aggiornamento pubblicati ad aprile (“Spectre e Meltdown: tre mesi dopo”) e settembre 2018 (“Vulnerabilità dei processori: 2018 anno nero delle CPU?”).

Il paper “A Systematic Evaluation of Transient Execution Attacks and Defenses”, pubblicato a novembre 2018 grazie allo sforzo congiunto di due università europee ed una statunitense, aggiunge importanti elementi al quadro generale apportando inoltre alcuni cambiamenti alla terminologia impiegata fino ad ora in relazione a SP ed MT: piuttosto che adoperare “esecuzione speculativa” (procedura della CPU per la previsione delle operazioni da compiere a breve), suggerisce infatti il termine “esecuzione transitoria”.

L’esecuzione speculativa è impropriamente [e di frequente] utilizzata come termine [generale al quale associare] attacchi basati sulla speculazione di un risultato di un particolare evento (ad esempio conditional branches, return addresses o memory disambiguation), esecuzioni fuori ordine ed [utilizzo delle pipeline]. […] Tuttavia, Spectre e Meltdown sfruttano le vulnerabilità di molteplici proprietà delle CPU. Un processore può essere vulnerabile a SP ma non a MT (es: AMD), e viceversa. L’unica proprietà in comune tra i due attacchi è che utilizzano l’exploit di effetti collaterali interni al campo dell’esecuzione transitoria, ad esempio all’interno delle esecuzioni mai assegnate. Quindi, il termine più appropriato per descrivere in modo accurato il comune effetto sottostante è esecuzione transitoria

si legge nel paragrafo dedicato alle differenze tra SP e MT.

Elenco delle nuove varianti

Per quanto riguarda MT, alle già note 5 varianti (quella base, Foreshadow, variante 1.2, variante 3a, Lazy FP) si aggiungono:

  • Meltdown-PK – exploit che interessa le CPU della famiglia Intel Skylake (segmento server) e la memory-protection keys correlata allo spazio utente (user space), una funzione che consente alle applicazioni dell’user space di isolare (via hardware) elementi considerati affidabili (è quindi una misura di sicurezza). L’attacco illustrato dai ricercatori è in grado di bypassare i permessi di isolamento (sia in scrittura che in lettura).
  • Meltdown-BR – exploit che riguarda le soluzioni Intel ed AMD. L’attacco si concentra sulle procedure di bound checking e permette di carpire dati che non sarebbero altrimenti accessibili. Lo studio sottolinea che è la prima volta che un attacco d’esecuzione transitoria di questo tipo viene eseguito su CPU AMD.

Spectre vede invece l’arrivo di 5 inedite modalità di attacco che si basano sui princìpi di due varianti già note, Spectre-PHT (Bounds Check Bypass) e Spectre-BTB (Branch Target Injection). Tutti i vendor del mercato sono vulnerabili agli inediti espedienti (sono citate la CPU mobile Intel Skylake i5-6200u, Intel Haswell i7-4790, AMD Ryzen 1950x e 1920x, il chip ARM Nvidia Jetsob TX1) anche se la loro applicabilità con SP-BTB resta molto limitata rispetto a SP-PHT.

La risposta dei vendor

The Register ha raccolto le reazioni e considerazioni dei vendor chiamati in causa dal paper:

  • un portavoce Intel ha dichiarato che le vulnerabilità menzionate nel paper sono neutralizzabili dalle patch software (tecniche di mitigazione) rilasciate nel 2018 – sia quelle ricordate nel paper che quelle messe in campo da altri produttori di chip. “Proteggere i clienti continua ad essere la nostra priorità [assoluta], ringraziamo [gli autori dello studio per le loro ricerche]” ha aggiunto;
  • il portavoce ARM ha dato una risposta simile: le strategie di mitigazione elencate in un paper pubblicato da ARM sono in grado di neutralizzare le vulnerabilità menzionate;
  • AMD non ha rilasciato alcuna dichiarazione.

L’evidente fiducia delle compagnie nelle tecniche di mitigazione è stata messa però in dubbio da una successiva affermazione dei ricercatori:

Perfino con tutte le misure di mitigazione attive, siamo stati in grado di eseguire [gli attacchi Meltdown-BR, PK ed RW]. […] Alcuni attacchi d’esecuzione transitoria non sono mitigati con successo dalle patch rilasciate, [altri sono stati semplicemente trascurati].

Vulnerabilità-Intel_b1

Intel ha applicato alcuni fix a livello hardware nelle famiglie di CPU più recenti (sia desktop che mobile) ma restano ancora diverse modifiche da apportare alle architetture, affermano i ricercatori. Fonte tabella: AnandTech.com.

Se consideriamo il fatto che diversi utenti hanno volontariamente evitato l’applicazione di alcune (o tutte) delle patch software (perché impattavano in modo negativo sulle prestazioni globali della CPU), è chiaro come l’unica soluzione, suggerita anche dal paper, sia quella di riprogettare da zero le attuali architetture dei processori.

Da parte sua Intel sembra essere sulla giusta strada (da Coffee Lake Refresh in poi sono stati implementati alcuni fix a livello hardware) ma si è ancora lontani dalla risoluzione completa del problema: “fino a quando i processori utilizzeranno l’esecuzione speculativa, si continueranno a scoprire queste tipologie di bug” ha aggiunto un esperto di sicurezza interpellato dal giornalista.

Fonti: 1 (paper) a cura dei ricercatori della Graz University of Technology (Austria), dell’imec-DistriNet – KU Leuven (Belgio) e del College of William and Mary (USA, Virginia), 2.