AMD hà cunfirmatu a vulnerabilità potenziale di CPU AMD Zen 3 à l'attaccu Spectre-STL

AMD hà publicatu un rapportu chì analizà a sicurità di a tecnulugia di ottimisazione PSF (Predictive Store Forwarding) implementata in i prucessori di a serie Zen 3. U studiu teoricamente cunfirmatu l'applicabilità di u metudu di attaccu Spectre-STL (Spectre-v4), identificatu in May 2018. Tecnulugia PSF, ma in pratica, nisun mudellu di codice capace di guidà à un attaccu hè ancu statu trovu è u periculu generale hè valutatu cum'è insignificante.

Ricurdemu chì l'attaccu Spectre-v4 (Speculative Store Bypass) hè basatu annantu à a ristaurazione di dati chì si sò stallati in a cache di u processatore dopu à scartà u risultatu di l'esekzione speculativa di l'operazioni durante u processu di l'operazioni di scrittura è di lettura alternate cù l'indirizzu indirettu. Quandu una operazione di lettura seguita una operazione di scrittura (per esempiu, mov [rbx + rcx], 0x0; mov rax, [rdx + rsi]), l'offset di l'indirizzu di lettura pò esse digià cunnisciutu per via di operazioni simili chì sò eseguite (operazioni di lettura sò realizatu assai più frequentemente è leghje pò esse realizatu da a cache) è u processatore pò speculativamente eseguisce letture prima di scrive senza aspittà chì l'offset indirettu di scrittura sia calculatu.

Questa funzione permette à una struzzione di lettura per accede à un vechju valore à qualchì indirizzu mentre l'operazione di a tenda ùn hè micca finita. Se ci hè un errore di prediczione, l'operazione speculativa senza successu serà scartata, ma e tracce di a so esecuzione restanu in a cache di u processatore è ponu esse recuperate da unu di i metudi per determinà u cuntenutu di u cache basatu annantu à una analisi di cambiamenti in accessu. tempu di dati cached è uncached.

Aghjunghjendu à i prucessori AMD Zen 3, PSF ottimizza STLF (Store-To-Load-Forwarding), chì esegue operazioni di lettura speculativamente predicendu a relazione trà e operazioni di lettura è scrittura. Quandu si usa STLF classicu, u processatore esegue una operazione di "caricamentu" nantu à i dati direttamente trasmessi da u cumandamentu "magazzinu" precedente, senza aspittà chì u risultatu sia veramente scrittu in memoria, ma assicurendu chì l'indirizzi utilizati in u "caricamentu" è i cumandamenti "magazzinu" currispondenu. L'ottimisazione PSF rende speculativa a verificazione di l'indirizzu è eseguisce una operazione di "carica" ​​prima chì l'infurmazione di l'indirizzu hè stata calculata se una coppia di magazzini / carica chì manipula un indirizzu unicu hè stata prima eseguita. Se a prediczione falla, u statu hè ritruvatu, ma i dati restanu in a cache.

Un attaccu à PSF hè pussibule solu in u quadru di un livellu di privileggi, copre solu u cuntestu di u prucessu attuale è hè bluccatu da i metudi di isolamentu di u spaziu di indirizzu o di i meccanismi di sandbox hardware. In questu casu, i metudi di sandboxing di u software in i prucessi ponu esse potenzialmente affettati da u prublema. L'attaccu pone una minaccia per i sistemi cum'è i navigatori, e macchine virtuali di esecuzione di codice, è i JIT chì eseguinu codice di terzu in un unicu prucessu (l'attaccu puderia permette à un codice sandboxed micca fiduciale per accede à altri dati di prucessu).

AMD hà furnitu una quantità di metudi per disattivà completamente o selettivamente PSF, ma datu u risicu insignificante per a maiò parte di l'applicazioni, hà cunsigliatu chì sta ottimisazione ùn sia micca disattivata per automaticamente. Per prutege selettivamente i prucessi chì isolanu quelli chì eseguenu codice micca affidabile, hè prupostu di disattivà PSF stabilendu i bit MSR "SSBD" è "PSFD", ancu per i fili individuali. I patches sò stati preparati per u kernel Linux cù l'implementazione di l'opzioni di linea di cumanda "psfd" è "nopsfd" chì cuntrollanu cumu PSF hè attivatu è disattivatu.

Source: opennet.ru

Add a comment