Una nuova vulnerabilità che colpisce le CPU AMD Zen2 e che potrebbe consentire a un utente malintenzionato di rubare dati sensibili, come password e chiavi di crittografia, a una velocità di 30 KB/sec da ciascun core delle CPU, sarebbe stata scoperta dal ricercatore di sicurezza di Google Project Zero Tavis Ormandy.
“Ci è voluto un po’ di lavoro, ma ho trovato una variante che può far trapelare circa 30 kb per core, al secondo. Questo tempo è sufficiente per monitorare le chiavi di crittografia e le password quando gli utenti accedono! Rilasciamo oggi il nostro avviso tecnico completo, insieme a tutto il codice associato. I dettagli completi saranno disponibili nel nostro repository di ricerca sulla sicurezza”, ha spiegato il ricercatore nel suo rapporto tecnico.
Indice degli argomenti
I dettagli della vulnerabilità Zenbleed
La vulnerabilità, tracciata come CVE-2023-20593, sarebbe causata dalla gestione impropria di un’istruzione chiamata “vzeroupper” durante l’esecuzione di una tecnica comune utilizzata in tutti i processori moderni per migliorare le prestazioni.
Il ricercatore avrebbe utilizzato un approccio chiamato “Oracle Serialization” per riuscire a rilevare delle incongruenze che hanno portato alla scoperta di questo difetto presente nelle CPU Zen 2.
Ormandy, nell’ambito di una buona pratica di divulgazione responsabile, ha segnalato il difetto ad AMD il 15 maggio 2023.
“In specifiche circostanze microarchitettoniche, un registro nelle CPU Zen 2 potrebbe non essere scritto correttamente su 0”, ha spiegato AMD nel suo bollettino di sicurezza. “Ciò potrebbe causare l’archiviazione dei dati di un altro processo e/o thread nel registro YMM, il che potrebbe consentire a un utente malintenzionato di accedere potenzialmente a informazioni sensibili”.
Exploit e impatto della vulnerabilità Zenbleed
L’exploit proof-of-concept (PoC) per CVE-2023-20593, sebbene scritto per Linux, sfrutta un bug che secondo il ricercatore interesserebbe tutti i sistemi operativi in esecuzione su CPU AMD basate sull’architettura Zen 2, inclusi:
- AMD Ryzen 3000 Series Processors
- AMD Ryzen PRO 3000 Series Processors
- AMD Ryzen Threadripper 3000 Series Processors
- AMD Ryzen 4000 Series Processors with Radeon Graphics
- AMD Ryzen PRO 4000 Series Processors
- AMD Ryzen 5000 Series Processors with Radeon Graphics
- AMD Ryzen 7020 Series Processors with Radeon Graphics
- AMD EPYC “Rome” Processors
Ormandy, dopo aver attivato il suo exploit ottimizzato per il difetto, sarebbe riuscito a far trapelare dati sensibili da qualsiasi operazione di sistema, comprese quelle svolte in macchine virtuali e sandbox.
Possibili soluzioni di mitigazione
Sebbene non ci siano prove che tale vulnerabilità venga sfruttata in natura, è sempre consigliabile mantenere i sistemi aggiornati con le ultime patch di sicurezza e applicare eventuali aggiornamenti del BIOS non appena disponibili.
È lo stesso ricercatore di sicurezza che ha scoperto la vulnerabilità Zenbleed a proporre alcune soluzioni per la mitigazione del problema in attesa che i fornitori di computer incorporino la correzione in un futuro aggiornamento dei relativi BIOS.
First big result from our new CPU research project, a use-after-free in AMD Zen2 processors! 🔥 AMD have just released updated microcode for affected systems, please update! https://t.co/NVPWFpVopz pic.twitter.com/HgKwu9w8Av
— Tavis Ormandy (@taviso) July 24, 2023
In particolare, consiglia di applicare il nuovo aggiornamento del microcodice rilasciato da AMD o, in alternativa, il cosiddetto metodo di mitigazione dell’impostazione del “chicken bit” su DE_CFG[9], precisando però che questa soluzione alternativa comporta un calo delle prestazioni delle CPU.