Avatar di Manolo De Agostini

a cura di Manolo De Agostini

Un gruppo di ricercatori ha pubblicato un documento in cui propone un modo per superare i rischi di sicurezza associati all'esecuzione speculativa svolta dai microprocessori, e che ha mostrato il fianco quest'anno davanti ad attacchi come Spectre e Meltdown.

Nel documento intitolato "SafeSpec: Banishing the Spectre of a Meltdown with Leakage-Free Speculation" redatto da ricercatori della University of California Riverside, del College of William and Mary e della Binghamton University si descrive un modo per isolare gli artefatti prodotti dall'esecuzione speculativa in modo che non possano essere usati per raccogliere dati privilegiati.

SafeSpec viene descritto come un "principio di design dove lo stato speculativo è archiviato in strutture temporanee che non sono accessibili dalle istruzioni richieste". Queste strutture temporanee, dette anche "shadow" (ombra), rivedono la gerarchia della memoria in modo da prevenire gli attacchi speculativi.

processore

"In particolare espandiamo le code load-store per salvare un indicatore verso una struttura associativa temporanea che archivia le linee di cache speculative caricate. Introduciamo inoltre una simile struttura che mantiene gli inserimenti speculativi caricati in TLB (translation lookaside buffer)".

Stando ai ricercatori, questo approccio mette al ripario dalle varianti note degli attacchi Spectre e Meltdown, oltre che una nuova classe di attacchi che hanno ribattezzato "transient speculation", i quali possono essere mitigati alterando la dimensione delle strutture ombra usate per isolare il dato generato in modo speculativo.

L'esecuzione speculativa è usata nelle architetture dei processori perché garantisce aumenti prestazionali rilevanti. All'interno della CPU un componente noto come branch predictor prova a indovinare quale percorso prenderà un programma e poi esegue un insieme di istruzioni in anticipo rispetto a quando necessario. Se il programma segue quel percorso, il lavoro è già stato svolto e si risparmia tempo, velocizzando tutto. Se il branch predictor sbaglia, il dato viene semplicemente scartato.

Leggi anche: Processori AMD protetti da Spectre con l'architettura Zen 2

Il problema è che, come hanno scoperto i produttori di processori quest'anno, il codice che viene processato tramite l'esecuzione speculativa non è soggetto agli stessi controlli sui privilegi delle altre istruzioni. Di conseguenza si possono mettere a punto attacchi side channel per andare a guardare oltre la memoria utente, nella memoria del kernel.

The Register, che ha riportato la notizia, ha chiesto un commento sullo studio a Intel (la più colpita da Spectre e Meltdown), ma l'azienda non ha voluto dire la sua prima della pubblicazione. La sensazione della testata è però che Intel sia a conoscenza della ricerca.

La casa di Santa Clara nei mesi scorsi ha affermato che mentre la variante 1 di Spectre continuerà a essere affrontata tramite mitigazioni software, l'azienda opererà cambiamenti hardware ai propri processori per affrontare Meltdown e la variante 2 di Spectre. Non è chiaro però se questi cambiamenti andranno a neutralizzare anche le altre varianti emerse successivamente.

Per quanto riguarda SafeSpec, "richiede una profonda riprogettazione della CPU per separare lo stato speculativo da quello permanente", riporta il documento. Nael Abu-Ghazaleh, professore di informatica della UC Riverside e coautore dello studio, ha spiegato a The Register che SafeSpec può proteggere le CPU Intel dalla nuova falla Lazy FP state restore scoperta di recente, così come da Speculative Store Bypass, anche nota come "Variant 4".

Il professore ha aggiunto che SafeSpec richiede dello spazio extra nella cache L1, ma considera i cambiamenti hardware minimi. In termini prestazionali, invece, potrebbe persino garantire un piccolo miglioramento.

SafeSpec non è comunque da intendersi come una soluzione completa, infatti nel documento si parla anche di altri interventi necessari a livello di silicio, per esempio al branch predictor e ai buffer DRAM.


Tom's Consiglia

Le CPU AMD sono immuni a Meltdown, e per ora è il livello massimo di sicurezza che si può avere in tema di attacchi side channel. Dai un'occhiata al top di gamma Ryzen 7 2700X.