Una nuova vulnerabilità minaccia tutte le CPU AMD Zen

Una vulnerabilità che sfrutta lo scheduler di AMD sui processori con SMT attivo potrebbe portare alla fuga di dati importanti.

Avatar di Antonello Buzzi

a cura di Antonello Buzzi

Editor

I processori moderni sfruttano tecniche per massimizzare le performance che, purtroppo, possono portare a problemi di sicurezza. Sicuramente, molto di voi ricorderanno di Meltdown e Spectre, side-channel exploit che potevano colpire gran parte dei sistemi in circolazione che sfruttano tecniche di “speculative execution” e “branch prediction” per aumentare le prestazioni. Qualche anno fa, la loro scoperta causò un certo scalpore, dato che si trattava di un problema a livello hardware e quindi non completamente eliminabile, ma mitigabile tramite aggiornamenti sia del firmware che del sistema operativo impiegato. Più recentemente, invece, vi abbiamo parto di Retbleed, falla che sfrutta la branch target injection per intercettare le informazioni sui processori moderni.

Le CPU AMD sfruttano, in molti casi, la tecnologia Simultaneous Multi-Threading (SMT) per eseguire più di un thread per core, che, a quanto pare, è vulnerabile all'attacco side-channel SQUIP, che consentirebbe di rivelare abbastanza rapidamente una chiave RSA a 4.096 bit. La vulnerabilità è presente in tutti gli attuali processori dell'azienda di Sunnyvale basati sulle architetture Zen, Zen 2 e Zen 3. Come spiegato da Daniel Gruss, ricercatore della Graz University of Technology, a The Register:

Un utente malintenzionato in esecuzione sullo stesso host e sullo stesso core della CPU potrebbe spiare quali tipi di istruzioni vengono eseguite a causa del design split-scheduler delle CPU AMD. M1 (e probabilmente anche M2) segue lo stesso design, ma non è ancora interessato in quanto Apple non ha ancora introdotto l'SMT nelle sue CPU.

AMD stessa ha classificato il problema come "AMD-SB-1039: Execution Unit Scheduler Contention Side-Channel Vulnerability on AMD Processor", indicando la minaccia con "media gravità". Allo scopo di rendere più difficile la vita a eventuali malintenzionati, AMD "raccomanda agli sviluppatori di software di utilizzare le best practice esistenti, tra cui gli algoritmi constant-time e di evitare i flussi di controllo secret-dependent".