Google ha recentemente reso note informazioni dettagliate riguardo alla vulnerabilità EntrySign, che interessa il processo di validazione delle firme digitali nel microcodice dei processori con architettura AMD Zen. Questa falla di sicurezza, la cui esistenza era stata comunicata a febbraio del 2025, presenta rischi significativi, poiché potrebbe compromettere l’integrità degli aggiornamenti del microcodice. Il difetto potrebbe, di fatto, consentire a dei malintenzionati di eseguire codice malevolo direttamente a livello di CPU.
Indice dei contenuti
Cos’è il microcodice e la sua importanza nella sicurezza
Nel panorama dei moderni processori x86, sia quelli prodotti da AMD che da Intel, viene utilizzata un’architettura ibrida che combina un complesso set di istruzioni con un motore microcodice basato su architettura RISC. Il microcodice svolge un ruolo cruciale: è responsabile dell’interpretazione e dell’esecuzione delle istruzioni complesse. Grazie a questa tecnologia, i produttori di hardware possono correggere errori critici senza necessità di riprogettare il silicio, un processo che richiederebbe notevoli tempi e costi.
A partire dall’introduzione delle prime architetture nel 1995 per Intel ed nel 2003 per AMD, i produttori hanno reso possibile l’aggiornamento del microcodice tramite patch che vengono caricate durante la fase di avvio del sistema. Nonostante questo, poiché tali patch sono cruciali per la sicurezza operativa dei processori, è fondamentale che siano protette adeguatamente contro eventuali modifiche non autorizzate.
Le patch di microcodice e il relativo codice vengono memorizzati in aree dedicate all’interno del processore, mentre una porzione di memoria RAM è riservata per le correzioni applicabili dinamicamente. AMD ha sviluppato un sistema di verifica della firma per garantire che solo gli aggiornamenti autentici e certificati possano essere installati, ma questo meccanismo è ora sotto esame alla luce della vulnerabilità EntrySign.
Vulnerabilità nel sistema di validazione delle firme
Il team di esperti di Google, composto da Josh Eads, Tavis Ormandy, Matteo Rizzo, Kristoffer Janke ed Eduardo Vela Nava, ha individuato che la vulnerabilità EntrySign deriva dall’implementazione del meccanismo di verifica della firma digitale da parte di AMD. La multinazionale, guidata da Lisa Su, utilizza l’algoritmo RSASSA-PKCS1-v1_5 per il controllo delle firme delle patch. Tuttavia, anziché ricorrere a funzioni hash standard come SHA-256, fa uso di AES-CMAC. Pur offrendo un certo livello di sicurezza crittografica, AES-CMAC è stato concepito per l’autenticazione dei messaggi e non per la firma digitale.
Questo approccio presenta una criticità: AES-CMAC, non garantendo le stesse proprietà di resistenza delle funzioni hash più consolidate come SHA-256 o SHA-3, crea uno spazio in cui un attaccante potrebbe potenzialmente generare una patch microcodice falsa con un hash AES-CMAC valido. In questo modo, il malintenzionato potrebbe superare la protezione RSA e iniettare codice arbitrario all’interno della CPU, rendendo il processo ad alto rischio.
Le possibili conseguenze di un attacco
Nel caso in cui un malintenzionato riuscisse a sfruttare la vulnerabilità identificata da Google, le conseguenze potrebbero essere gravi. Tra le possibili azioni intraprese da un attaccante ci sarebbero:
- Esecuzione di codice arbitrario a livello di microcodice, creando una via d’accesso diretta al controllo del processore.
- Manipolazione del comportamento delle istruzioni x86, risultando nell’implementazione di backdoor hardware.
- Alterazioni significative ai meccanismi di sicurezza del sistema operativo, rendendo complicato o addirittura impossibile il rilevamento di malware avanzato.
Queste possibilità non rappresentano un mero esercizio teorico. Infatti, il team di Google ha reso disponibile su GitHub un programma chiamato Zentool, strumento che consente di iniettare microcodice nei chip AMD Zen.
Zentool: uno strumento per l’analisi e la manipolazione del microcodice AMD
Il rilascio di una vulnerabilità come EntrySign nei processori AMD Zen 1-4, che permette l’installazione di patch arbitrarie a livello di microcodice, offre opportunità di ricerca e sviluppo in ambito di sicurezza. Zentool, il software specifico per l’analisi e la modifica del microcodice AMD, presenta funzioni che meritano di essere approfondite.
Tra le capacità offerte da Zentool vi sono:
- Disassemblaggio del microcodice: Anche se l’architettura del microcodice AMD non è completamente documentata, il tool può decodificare e analizzare un certo numero di istruzioni, fornendo così un’idea più chiara del loro funzionamento.
- Creazione di patch personalizzate: Gli utenti possono scrivere nuove sequenze di istruzioni adatte alle loro esigenze.
- Firma e caricamento di patch: Le patch modificate possono essere firmate e caricate nei processori vulnerabili seguendo un meccanismo standard.
- Ricerca sulla crittografia del microcodice: Il team di sviluppo di Zentool sta conducendo studi sulle modalità di cifratura e decifratura delle patch.
Questo scenario invita a una riflessione seria sulla sicurezza dei sistemi basati su microcodice, soprattutto in un contesto in cui vulnerabilità come EntrySign possono rappresentare minacce concrete per l’integrità dei dispositivi e dei dati.