I ricercatori di Google pubblicano un video con il codice proof-of-concept (PoC) che permette di sfruttare le vulnerabilità Spectre e leggere il contenuto della memoria del browser.
Partiamo dall’inizio
Cos’è Spectre?
Spectre è una vulnerabilità hardware nell’implementazione della predizione delle diramazioni nei moderni microprocessori con esecuzione speculativa, che consente ai processi dannosi di accedere al contenuto della memoria mappata di altri programmi.
Come funziona Spectre?
Spectre è una vulnerabilità che forza i programmi in esecuzione ad accedere a locazioni di memoria che in teoria dovrebbero essere inaccessibili al programma.
I moderni processori al fine di fornire prestazioni elevate sono dotati di una serie di unità di calcolo che lavorano in parallelo.
Per poter utilizzare al meglio queste unità di calcolo a volte i processori fanno ipotesi sulle istruzioni da eseguire (esecuzione speculativa) basandosi su quel che è successo in passato.
Quando le ipotesi sono corrette il processore ha già eseguito una parte del lavoro e questo velocizza l’esecuzione dei programmi; se le ipotesi si rivelano errate, il processore elimina le istruzioni eseguite per errore.
L’esecuzione di queste istruzioni non necessarie modifica tutta una serie di stati interni del processore, ma questo, quando annulla le istruzioni, non corregge gli stati interni alterati ma solo quelli che possono influenzare direttamente l’esecuzione del programma.
Spectre, utilizzando questi stati interni “non corretti”, estrae informazioni riservate dalla CPU.
Google dimostra come funziona Spectre
Di recente sono state rinvenute tra i campioni trasmessi a VirusTotal esempi di codici exploit funzionanti capaci di sottrarre informazioni personali dai sistemi Windows e Linux proprio usando gli attacchi Spectre e Meltdown
Google ha quindi deciso di rompere gli indugi e pubblicare il codice PoC (proof-of-concept) che dimostra come sia possibile sfruttare le vulnerabilità Spectre per leggere il contenuto della memoria con un ampio ventaglio di configurazioni hardware e software.
Le varie soluzioni che i produttori di browser hanno fino ad oggi implementato non scongiurano l’eventualità di un attacco ma più semplicemente aiutano a rendere indisponibili le aree di memoria contenenti i dati personali dell’utente.
A questo indirizzo gli esperti di Google hanno pubblicato un test che mostra come sia possibile leggere il contenuto della memoria del browser facendo leva su Spectre (su GitHub è stata pubblicata la relativa documentazione).
Il video mostra l’esempio di un attacco che ha successo su un sistema Ubuntu basato su processore Intel i7-6500U utilizzando Chrome 88. I ricercatori di Google hanno comunque voluto sottolineare come lo stesso problema interessi piattaforme Windows, Linux, macOS, Android e ChromeOS oltre che processori AMD e ARM.