I chip possono essere intrinsecamente vulnerabili agli attacchi Spectre e Meltdown

Songsak Wilairit / EyeEm





Il software dannoso rappresenta una minaccia continua per la vita moderna, attaccando qualsiasi cosa, dai database alle telecamere, all'e-commerce, alle centrali elettriche e agli ospedali. Nelle sue forme più insidiose, il malware può rubare informazioni sensibili senza che nessuno sappia che si è verificata una fuga di notizie.

La lotta a questi attacchi si basa su un presupposto importante: che un software opportunamente potente e ben progettato possa garantire la sicurezza di qualsiasi informazione. In effetti, le grandi aziende di sicurezza informatica si basano su questa idea.

Ma oggi, Ross McIlroy e colleghi di Google affermano che questa ipotesi è pericolosamente sbagliata. Il loro lavoro si concentra su una nuova generazione di attacchi dannosi che li ha costretti a riconsiderare la natura della sicurezza informatica e il suo funzionamento.



I nuovi attacchi, noti come Spectre e Meltdown, sono stati studiati dall'inizio del 2018. Ma il loro significato più ampio sta diventando chiaro solo ora.

La scioccante scoperta di Google è che sfruttano un difetto fondamentale nel modo in cui funzionano i processori di informazioni. E per questo motivo, gli esperti di sicurezza potrebbero non essere mai in grado di proteggere questi dispositivi, anche in linea di principio.

Il team di Google afferma che la minaccia colpisce tutti i produttori di chip, inclusi Intel, ARM, AMD, MIPS, IBM e Oracle. Questa classe di difetti è più profonda e più ampiamente distribuita di qualsiasi altra falla di sicurezza nella storia, colpendo miliardi di CPU in produzione su tutte le classi di dispositivi, affermano McIlroy e co.



In passato, il malware tendeva a sfruttare il codice mal progettato e gli errori che contiene. Questi errori forniscono agli attori malintenzionati modi per interrompere i calcoli o accedere a informazioni riservate. Quindi un approccio importante è correggere questi errori con patch software prima che possano essere sfruttati.

Ma quando il difetto è alla base della progettazione del computer, le patch software offrono una scarsa protezione. La sfida è che la natura stessa del calcolo consente alle informazioni di fuoriuscire attraverso meccanismi chiamati canali laterali.

Un esempio di canale laterale sono le luci lampeggianti su un modem, un router o anche un PC. Vari ricercatori di sicurezza hanno sottolineato che il flashing è correlato al trasferimento di dati e che un attore malintenzionato può semplicemente guardare i flash per intercettare. In effetti, i ricercatori della sicurezza hanno dimostrato attacchi simili con una sconcertante serie di canali laterali, inclusi il consumo di energia, microfoni e telecamere ad alta risoluzione.



La nuova minaccia è più insidiosa perché esiste nell'interfaccia tra hardware e software, nota come architettura della macchina. A questo livello, un processore tratta tutti i linguaggi di programmazione allo stesso modo. Esegue i comandi uno dopo l'altro indipendentemente dal programma che li ha richiesti.

Gli informatici hanno sempre presupposto che questi comandi possano essere separati in modo da garantire la riservatezza. L'idea è che alcuni software opportunamente avanzati dovrebbero essere in grado di eseguire il marshalling dei comandi in un modo che li tenga separati.

Ma il risultato chiave del team di Google è mostrare che questa ipotesi è sbagliata. Un processore non è in grado di distinguere tra un buon comando e uno dannoso, nemmeno in linea di principio. Quindi, se un comando gli dice di inviare informazioni a un'area della memoria a cui è possibile accedere facilmente in seguito, la macchina obbedisce.



È facile immaginare che ciò possa essere evitato con un software che separa i comandi buoni da quelli cattivi. Ma il team di Google mostra che questo aggiunge solo un altro livello di complessità alla sfida, insieme a una nuova serie di potenziali canali secondari.

Per mostrare l'ubiquità della minaccia, il team di Google ha costruito un gadget di lettura universale. Questo è l'ultimo intercettatore, una routine in grado di leggere tutta la memoria indirizzabile in un processore, sconosciuta all'utente.

Non è affatto un software perfetto. A volte opera in modo probabilistico e quindi può fallire. Ma non c'è modo di impedirgli di funzionare quando lo fa.

McIlroy e co hanno creato quattro varianti di questo gadget. Abbiamo sviluppato prove di concetto in C++, JavaScript e WebAssembly per tutte le vulnerabilità segnalate, afferma il team. Hanno scoperto che questi gadget di lettura trapelano informazioni a velocità fino a 2,5 kilobyte al secondo.

La variante 4 del gadget di lettura universale è particolarmente preoccupante. McIlroy e compagni affermano di non essere stati in grado di trovare un modo efficace per combatterlo o ridurre la sua minaccia. Non crediamo che la variante 4 possa essere mitigata efficacemente nel software, dicono.

I tentativi del team di combattere questi attacchi hanno avuto un impatto significativo sulle prestazioni di elaborazione. Ad esempio, una forma di mitigazione per la prima variante del gadget di lettura universale ha portato a un rallentamento di 2,8 volte, come misurato da un programma di benchmarking Java chiamato Octane.

Durante l'ultimo anno, Intel ha riprogettato i suoi chip nel tentativo di mitigare le minacce più gravi degli attacchi Spectre e Meltdown. Ma secondo quanto riferito, ciò è avvenuto al costo di un calo delle prestazioni fino al 14%. Ed è improbabile che le modifiche siano a prova di errore.

Uno dei motivi della preoccupazione di Google è la minaccia all'e-commerce. Non è difficile immaginare un attacco che riveli le chiavi crittografiche utilizzate per proteggere le transazioni, consentendo così furti su larga scala.

Quindi l'azienda ha già distribuito versioni di Chrome con le prime linee di difesa. Le versioni da 64 a 67 prevengono gli attacchi nel browser tramite JavaScript.

Ma la minaccia è molto più profonda. Molti dei problemi sorgono a causa della complessa architettura dei dispositivi basata sulla proprietà intellettuale che viene accuratamente custodita.

Questa complessità è essa stessa parte del problema. I progetti si basano su modelli astratti che sono diventati più complessi man mano che i produttori hanno perseguito l'obiettivo di un calcolo più veloce. McIlroy e colleghi mostrano che questi modelli astratti hanno sempre canali laterali che esistono al di fuori del modello. Abbiamo scoperto che il codice non affidabile può costruire un gadget di lettura universale per leggere tutta la memoria nello stesso spazio di indirizzi attraverso i canali laterali, dicono. Ciò mette a rischio i dati arbitrari in memoria, anche i dati 'a riposo' che non sono attualmente coinvolti nei calcoli e che in precedenza erano considerati al sicuro dagli attacchi del canale laterale.

C'è una piccola buona notizia, tuttavia. Finora non sono noti attacchi che sfruttino Spectre o Meltdown. Per il momento, la minaccia è confinata nei laboratori di ricercatori di cybersecurity come McIlroy e i suoi colleghi.

Ma questo offre poco comfort ai produttori di chip e agli esperti di sicurezza. Non è difficile immaginare che attori malintenzionati, inclusi i team sponsorizzati dallo stato, possano sviluppare modi per sfruttare questa vulnerabilità. Questo è un problema, come dicono McIlroy e compagni, che sembra destinato a perseguitarci da molto tempo.

Rif: arxiv.org/abs/1902.05178 : Spectre è qui per restare: un'analisi dei canali laterali e dell'esecuzione speculativa

nascondere