EntrySign colpisce anche i processori AMD Zen 5 e compromette la verifica del microcodice.

Il logo della vulnerabilità EntrySign

Qualche settimana fa abbiamo condiviso qui sul blog la notizia della Vulnerabilità EntrySign che consente di eludere il meccanismo di verifica della firma digitale durante gli aggiornamenti del microcodice nei processori AMD.

Che cosa Inizialmente sembrava un bug limitato alle generazioni Zen 1 a Zen 4, Ora si estende a chip attuali come Ryzen 9000, EPYC 9005, Ryzen AI 300 e Ryzen 9000HX. Questa falla consente, in determinate condizioni, di modificare il microcodice della CPU bypassando il meccanismo di verifica della firma digitale, con gravi implicazioni per la sicurezza dei sistemi virtualizzati.

La radice del problema è nel uso inappropriato dell'algoritmo CMAC durante il processo di convalida del microcodice. AMD tradizionalmente utilizza una chiave RSA privata per firmare digitalmente il contenuto di questi aggiornamentie una chiave pubblica inclusa nella patch per verificare l'autenticità del microcodice al momento del carico. Tuttavia, l'hash della chiave pubblica che dovrebbe garantire tale integrità viene generato utilizzando AES-CMAC, un MAC crittografico che, a differenza di una funzione hash robusta, non offre alcuna garanzia contro le collisioni.

Questo design, aggiunto al fatto che AMD ha utilizzato una chiave di crittografia comune per tutte le tue CPU da Zen 1, ha permesso ai ricercatori di estrarre la chiave da qualsiasi processore interessato e riutilizzarlo per manipolare patch di microcodice su altri computer. Sorprendentemente, questa chiave corrisponde a un esempio pubblico di pratiche di crittografia NIST SP 800-38B, dimostrando un uso negligente delle buone pratiche crittografiche.

Microcodice falso, firme valide

Da questa debolezza, il I ricercatori sono riusciti a generare chiavi pubbliche che producono lo stesso hash della chiave originale di AMD., che loro ha permesso la costruzione di patch false in grado di aggirare i controlli di integrità. Queste collisioni si ottengono inserendo blocchi aggiuntivi alla fine del microcodice, apparentemente casuali ma attentamente calcolati, consentendo alla firma digitale di rimanere apparentemente intatta. In questo modo è possibile modificare il comportamento interno del processore senza attivare meccanismi di avviso.

Questo processo è stato facilitato dagli strumenti di analisi come Zentool, un set di utilità open source che consente di studiare il microcodice AMD e di preparare patch modificate. Affinché questo tipo di attacco si concretizzi, l'attaccante deve avere privilegi Ring 0, cioè accesso al livello più alto del sistema operativo, cosa fattibile in ambienti virtualizzati se l'hypervisor è compromesso o tramite configurazioni non sicure di tecnologie come VT-x o AMD-V.

Impatto su AMD SEV e sulla virtualizzazione sicura

Oltre alla manipolazione del microcodice, EntrySign rappresenta una minaccia diretta per AMD SEV (Secure Encrypted Virtualization) e la sua estensione SEV-SNP (Secure Nested Paging), tecnologie progettate per garantire l'integrità e la riservatezza delle macchine virtuali anche in caso di attacchi provenienti dall'hypervisor o dal sistema host. Questa vulnerabilità consente di interferire con i registri protetti del processore, modificare le tabelle delle pagine nidificate e alterare il comportamento dei sistemi guest, compromettendone profondamente la sicurezza.

Misure di risposta e mitigazione dell'AMD

In questa situazione, AMD ha iniziato a distribuire aggiornamenti del microcodice che correggono il bug.oppure, sebbene nei sistemi che utilizzano SEV-SNP sia necessario aggiornare anche il firmware del modulo SEV, il che richiede un aggiornamento del BIOS. L'azienda ha già inviato un nuovo pacco ai produttori denominato ComboAM5PI 1.2.0.3c AGESA, ma si stima che potrebbero volerci settimane o addirittura mesi prima che le patch finali siano disponibili per gli utenti finali.

Oltre a questo, il Gli ingegneri AMD hanno proposto una patch per il kernel Linux che impedisce il caricamento del microcodice. non ufficiale. Questa misura mira a impedire la diffusione di patch modificate da terze parti, come quelle create dagli appassionati partendo da frammenti di BIOS estratti. Nel frattempo, si consiglia vivamente di attendere gli aggiornamenti ufficiali del BIOS e di astenersi dall'installare versioni non verificate.

Infine, se sei interessato a saperne di più, puoi controllare i dettagli nel file seguente link