Bug dei microprocessori, tutto su Meltdown e Spectre

Meltdown e Spectre, sono questi i nomi delle tre falle di sicurezza e conseguenti attacchi che interessano praticamente tutti i sistemi da 20 anni a oggi.

Grave vulnerabilità scovata nei microprocessori. Dopo la notizia di un grave bug hardware nelle CPU Intel e del conseguente fix che avrebbe ripercussioni sulle prestazioni, nella serata di ieri è arrivata la risposta di Intel. L’azienda statunitense ha confermato che il problema esiste, ma è diffuso nell’industria e non è esclusivamente legato ai propri prodotti.

Questa notte però sono emerse ulteriori informazioni. Partiamo da un post pubblicato da Google intitolato “Today’s CPU vulnerability: what you need to know“. Nell’articolo si apprende che il team Project Zero di Google ha scoperto “serie falle di sicurezza” causate dalla “esecuzione speculativa” (speculative execution), una tecnica usata dalla maggior parte dei processori moderni per ottimizzare le prestazioni. A tali falle di sicurezza è stato anche dato anche un nome: Spectre (due varianti) e Meltdown.

Google spiega che un suo ricercatore, Jann Horn, ha dimostrato che malitenzionati possono sfruttare la speculative execution per leggere la memoria di sistema, che di base dovrebbe rimanere inaccessibile. “Per esempio un soggetto non autorizzato potrebbe leggere dati sensibili nella memoria di sistema come password, chiavi crittografiche o informazioni sensibili nei software aperti“.

La casa di Mountain View afferma che i propri test hanno dimostrato che un attacco fatto tramite una virtual machine ha permesso di accedere alla memoria fisica del sistema e, di conseguenza, ottenere accesso in lettura alla memoria di una macchina virtuale differente sullo stesso computer.

Queste vulnerabilità interessano molte CPU, incluse quelle di AMD, ARM e Intel, così come i dispositivi e i sistemi operativi che girano su di esse“, scrive Google, dando sostegno in un certo senso alle dichiarazioni di Intel sul problema, più di carattere industriale che esclusivamente suo.

Google assicura che non appena appreso di questa nuova classe di attacco si è mobilitata per difendere i propri sistemi e i dati degli utenti. “Abbiamo aggiornato i nostri sistemi e i prodotti interessati per proteggerci. […] Abbiamo anche collaborato con i produttori di hardware e software nell’industria per aiutarli a proteggere i loro utenti e il web in generale. Questi sforzi hanno incluso un’analisi collaborativa e lo sviluppo di nuove tecniche di mitigazione”.

Il colosso statunitense conferma che in origine la divulgazione del problema doveva essere comunicata il 9 gennaio, ma le notizie apparse sui media l’hanno indotta a uscire allo scoperto. Nel post di Google c’è una lista dei prodotti per cui l’azienda ha già prodotto o sta producendo delle patch contro le vulnerabilità. Vi consigliamo di darci un’occhiata.

Forse alcuni si chiederanno in che modo la speculative execution migliora le prestazioni. Per spiegarlo ci corre in soccorso ancora una volta Google. “Per migliorare le prestazioni molte CPU possono scegliere di eseguire le istruzioni in modo speculativo, sulla base di ipotesi considerate verosimili. Durante l’esecuzione speculativa, il processore verifica queste ipotesi; se sono valide, l’esecuzione continua. Se non lo sono, l’esecuzione viene bloccata e può essere avviato il corretto percorso di esecuzione in base alle condizioni effettive. È possibile che questa esecuzione speculativa abbia effetti collaterali che non vengono ripristinati quando la CPU fa ipotesi errate e ciò può portare alla divulgazione di informazioni”.

Google afferma che non c’è un singolo fix per tutte e tre le varianti d’attacco, ma ognuna richiede una protezione indipendente. L’azienda ha anche pubblicato un post per gli addetti ai lavori, più tecnico, a questo indirizzo – lì c’è qualche nome di CPU su cui sono stati provati gli attacchi e per AMD, un nodo della discussione, si citano vecchie soluzioni come AMD FX-8320 e AMD PRO A8-9600.

A parlare non è però solo Google, ma anche Microsoft. L’azienda ha pubblicato un fix per Windows 10 (KB4056892) che si occupa proprio di intervenire sulle falle – Apple ha già pubblicato un update per l’ultimo macOS (10.13.2, ma sono previsti ulteriori modifiche con il 10.13.3) e anche il kernel Linux sta ricevendo i correttivi necessari. Arriveranno fix anche per le vecchie versioni di Windows (7 e 8), ma solo martedì. Solo Windows 10 ha ricevuto immediatamente la patch.

Attacco Meltdown all’opera

“Siamo a conoscenza del problema su scala industriale e stiamo lavorando a stretto contatto con i produttori di chip per sviluppare e testare soluzioni per proteggere i nostri clienti. Stiamo per installare soluzioni di mitigazione nei servizi cloud e abbiamo pubblicato anche aggiornamenti di sicurezza per proteggere gli utenti Windows dalle vulnerabilità che coinvolgono i chip di Intel, ARM e AMD. Non abbiamo ricevuto alcuna evidenza che indichi che queste vulnerabilità siano state usate per attaccare i nostri clienti”.

E cosa dice AMD? “Ci sono molte speculazioni su un potenziale problema di sicurezza legato ai microprocessori moderni e alla speculative execution. Come solitamente facciamo quando un potenziale problema di sicurezza viene identificato, AMD sta lavorando sul proprio ecosistema per verificare e rispondere all’attacco identificato e assicurarsi che i propri utenti siano protetti”.

AMD è colpita dal problema, ma solo in parte. Quasi zero dice l’azienda.

“Per essere chiari, il team di ricercatori di sicurezza ha identificato tre varianti che colpiscono la speculative execution. Il pericolo e la risposta alle tre varianti differisce dall’azienda di microprocessori, e AMD non è soggetta a tutte e tre le varianti. A causa delle differenze dell’architettura AMD, crediamo che ci sia un rischio pari quasi a zero per i processori AMD in questo momento“.

La terza parte chiamata in causa è ARM. Ecco quindi le sue parole. “ARM sta lavorando con Intel e AMD per risolvere un metodo di analisi side-channel che sfrutta le tecniche di speculative execution usate in determinati processori di fascia alta, inclusi alcuni nostri Cortex-A. Questo metodo richiede che il malware giri localmente e potrebbe causare l’accesso ai dati da memoria privilegiata. I nostri Cortex-M, che sono diffusi nei dispositivi IoT connessi a basso consumo, non sono interessati dal problema”.

Nvidia, invece, è abbastanza tranquilla. D’altronde fa principalmente processori grafici. A ogni modo l’azienda dice che aggiornerà i propri driver aiutare a mitigare il problema che colpisce le CPU. Per quanto riguarda i suoi SoC ARM, dice di aver svolto le necessarie analisi e sta preparando i correttivi.

Intanto è stato creato un sito “FAQ” chiamato Meltdown and Spectre, raggiungibile sia da meltdownattack.com che da spectreattack.com in cui si possono apprendere ulteriori informazioni. Si legge ad esempio che sebbene teoricamente un antivirus possa rilevare e bloccare l’attacco, è improbabile in quanto difficile da riconoscere rispetto al normale funzionamento delle applicazioni. “Il tuo antivirus potrebbe rilevare malware che usa gli attacchi confrontando i binari dopo che sono diventati noti”, c’è scritto.

Si legge poi che “desktop, portatili, computer cloud potrebbero essere affetti da Meltdown. Più tecnicamente ogni processore Intel che implementa l’esecuzione out-of-order è potenzialmente affetto dal problema, il che vuol dire ogni processore dal 1995 – salvo Intel Itanium e Intel Atom prima del 2013. Abbiamo testato con successo Meltdown sulle generazioni di chip Intel distribuite dal 2011. Attualmente abbiamo verificato Meltdown solo sui processori Intel. Al momento non è chiaro se i processori ARM e AMD siano affetti da Meltdown”.

Per quanto riguarda Spectre, quasi tutti i prodotti hardware al mondo sono colpiti dal problema. “Desktop, portatili, server e smartphone. Tutti i processori moderni in grado di mantenere molte istruzioni in volo sono potenzialmente vulnerabili. In particolare, abbiamo verificato Spectre su processori Intel, AMD e ARM“.

Per quanto riguarda i provider cloud, sono vittime del problema tutti quelli che usano CPU Intel e Xeon PV come virtualizzazione senza patch applicate. A questi si aggiungono quelli senza una reale virtualizzazione hardware, che si affidano a container che condividono un kernel come Docker, LXC o OpenVZ.

A proposito di cloud, se Microsoft sta per proteggersi, deve farlo anche un gigante come Amazon. L’azienda afferma che tutte le istanze nella flotta Amazon EC2, salvo una piccola parte, è già protetta e a breve il tutto sarà completato. Ovviamente anche i clienti devono installare le necessarie patch sui sistemi operativi a istanza.

Sul fronte dell’impatto prestazionale, purtroppo la parola chiave è “dipende”. Secondo Linus Torvalds non c’è un numero. “Dipende dall’hardware e dal carico. Penso a un 5% per un carico con una notevole componente kernel (ad esempio un database). Ma se fai dei micro-benchmark che provano a mettere il problema in risalto, potresti vedere un peggioramento delle prestazioni a due cifre”.

Infine, registriamo le parole di Steve Smith, general manager del Data Center Engineering Group di Intel, secondo cui “dato che i nostri prodotti sono conformi alle specifiche, non prevediamo un impatto materiale sulla nostra attività o sui nostri prodotti, perché continuano a funzionare correttamente. Non ci aspettiamo alcuna implicazione finanziaria per i prodotti Intel”.

AGGIORNAMENTO 04-01-2018 11:30

Microsoft allerta di possibili incompatibilità tra alcuni software antivirus e la patch che risolve i problemi indicati in questo articolo. Il bollettino di sicurezza con tutte le informazioni del caso lo trovate a questo indirizzo.

Parallelamente il Computer Emergency Response Team, o CERT, ha pubblicato un bollettino in cui afferma che l’unica soluzione totalmente sicura per far fronte al problema è cambiare la propria CPU!!!

http://www.catalog.update.microsoft.com/Search.aspx?q=KB4056892