AMD, PSF croce e delizia delle CPU Zen 3: migliori prestazioni ma potenziale punto debole

AMD, PSF croce e delizia delle CPU Zen 3: migliori prestazioni ma potenziale punto debole

AMD ha pubblicato un'analisi di sicurezza legata alla tecnologia Predictive Store Forwarding (PSF) presente nell'architettura Zen 3 per migliorare le prestazioni. L'azienda riconosce che potrebbe essere sfruttata per attacchi side channel, anche se il rischio è molto basso.

di pubblicata il , alle 09:01 nel canale Processori
AMDRyZenZenEPYCThreadripper
 

Si chiama Predictive Store Forwarding (PSF), è una tecnologia che permette ai processori AMD basati su architettura Zen 3 di offrire migliori prestazioni, ma al tempo stesso rappresenta un potenziale punto debole in termini di sicurezza. È la stessa AMD a parlare di "implicazioni per la sicurezza" in un documento pubblicato sul proprio sito. I processori Zen 3 al momento in commercio sono i Ryzen 5000 desktop, gran parte dell'offerta mobile e gli EPYC 7003 per l'ambito server, ma in arrivo c'è anche una nuova famiglia di Ryzen Threadripper per il mondo workstation.

"PSF", si legge, "è un'ottimizzazione microarchitetturale basata sull'hardware progettata per migliorare le prestazioni nell'esecuzione del codice tramite la previsione delle dipendenze tra operazioni di load e store. In modo simile a tecnologie come la branch prediction, con PSF il processore suppone quale dovrebbe essere il risultato di un load ed esegue speculativamente le istruzioni successive".

Nel caso in cui l'ipotesi fatta sia errata (fortunatamente non accade così spesso), i risultati sbagliati vengono eliminati dalla pipeline dalla CPU, ed è proprio questo processo che negli ultimi anni si è dimostrato potenzialmente vulnerabile ai cosiddetti attacchi "side channel" che permettono a malintenzionati di ottenere informazioni sensibili - pensate alle diverse versioni dell'attacco Spectre.

"In particolare", scrive AMD, "i programmi che implementano l'isolamento interamente via software, noto come sandboxing, potrebbero doversi preoccupare delle speculazioni errate della CPU, le quali possono avvenire a causa di predizioni errate di PSF. Poiché la speculazione PSF è limitata la contesto del programma corrente, l'impatto di una speculazione errata è simile a quello di uno 'speculative store bypass', ad esempio Spectre v4".

AMD illustra due casi in cui si può verificare una predizione errata di PSF. La prima è quando l'accoppiata store/load ha avuto una dipendenza per un po', ma poi tale dipendenza viene interrotta. "Questo può avvenire se l'indirizzo di store o load cambia durante l'esecuzione del programma". La seconda può verificarsi "se c'è un alias nella struttura predittiva di PSF. "Il preditore PSF è progettato per tracciare coppie store/load su porzioni del loro registro RIP (instruction pointer). È possibile che una coppia store/load con una dipendenza possa avere un alias nel predittore con un'altra coppia che non lo fa. Questo potrebbe portare a una speculazione errata quando viene eseguita la seconda accoppiata store/load". Non vi sarebbero invece rischi ove l'isolamento venga fatto tramite meccanismi hardware come, ad esempio, implementando spazi di indirizzamento separati.

In ambedue i casi indicati, sorge un problema di sicurezza se esiste un codice che implementa un qualche tipo di controllo che può essere aggirato quando la CPU specula in modo errato. Ciò può verificarsi se un programma (come un browser) ospita parti di codice non attendibile e il codice in questione è in grado di influenzare il modo in cui la CPU specula in altre regioni in un modo che si traduce in perdita di dati.

In conclusione, benché AMD consigli di lasciare Predictive Store Forwarding attivato come di default, l'azienda ne sottolinea - in un atto di estrema trasparenza, questo va sottolineato - le potenziali implicazioni per la sicurezza. AMD non è al momento a conoscenza di alcun codice che potrebbe essere considerato vulnerabile a causa del comportamento di PSF, ma nel documento illustra come disabilitare da Linux la funzionalità "se lo si desidera", in attesa che le patch proposte vengano integrate nel kernel.

AMD ritiene che per la maggior parte delle applicazioni il rischio per la sicurezza di PSF "è probabilmente basso" e, laddove viene richiesto l'isolamento, tecniche come address space isolation siano preferibili rispetto al sandboxing software. È plausibile che AMD stia lavorando anche con Microsoft per aggiornare Windows, mentre è al momento non è noto il potenziale impatto prestazionale derivante dalla disattivazione della tecnologia PSF.

AGGIORNAMENTO 06-04-2021

Il sito Phoronix ha svolto diversi test in ambiente Linux dimostrando che la disattivazione di PSF non comporta perdite prestazionali gravi, ma un leggero calo del tutto trascurabile.

4 Commenti
Gli autori dei commenti, e non la redazione, sono responsabili dei contenuti da loro inseriti - info
supertigrotto03 Aprile 2021, 10:50 #1
Beh,almeno sono onesti nel dichiararlo!
Forse hanno messo le mani avanti per non fare la stessa figura di Intel che ha nascosto i bachi per anni,nonostante lo sapessero.
In questo modo AMD ha evitato di fare gli stessi errori di Intel,in modo da non danneggiarsi l'immagine.
Credo che la cosa sia servita anche a Intel,non penso rifaranno gli stessi errori.
Penso che questo tipo di baco verrà chiuso in hardware alla prossima generazione.
nickname8803 Aprile 2021, 10:51 #2
Almeno lato desktop la performance sarebbe da preferire.
elessar03 Aprile 2021, 10:58 #3
Originariamente inviato da: supertigrotto
Penso che questo tipo di baco verrà chiuso in hardware alla prossima generazione.


E' improbabile.

Tutte le CPU (compresi ARM) sono soggette agli attacchi Spectre-like. Intel ha fatto una gran cagata con Meltdown (che è oggettivamente un bug), ma i bug di classe Spectre sono difficilissimi da mitigare in toto, a meno di non voler eliminare completamente la branch prediction e la speculative execution. Il che abbatterebbe in maniera impressionante le performance delle CPU.
LL103 Aprile 2021, 17:10 #4
messo nei segnalibri

Devi effettuare il login per poter commentare
Se non sei ancora registrato, puoi farlo attraverso questo form.
Se sei già registrato e loggato nel sito, puoi inserire il tuo commento.
Si tenga presente quanto letto nel regolamento, nel rispetto del "quieto vivere".

La discussione è consultabile anche qui, sul forum.
 
^