AMD rimuove una funzione di sicurezza dai Ryzen consumer?

AMD avrebbe rimosso TSME dai Ryzen consumer tramite AGESA 1.2.7.0. La cifratura completa della RAM resta disponibile sui modelli PRO, alimentando dubbi e polemiche.
AMD rimuove una funzione di sicurezza dai Ryzen consumer?

Una protezione nata per difendere i sistemi basati su chip AMD dagli attacchi fisici alla memoria sembra essere sparita dai Ryzen consumer senza un avviso chiaro agli utenti. La tecnologia si chiama TSME, Transparent Secure Memory Encryption, e cifra l’intero contenuto della RAM in modo trasparente: chi prova a estrarre dati dai moduli di memoria legge soltanto blocchi inutilizzabili.

AMD introdusse questa classe di protezioni circa 10 anni fa sui processori di fascia alta, soprattutto per contrastare i cosiddetti cold boot attack, intercettazioni del bus DRAM e rimozione fisica dei moduli di memoria. Col tempo, però, TSME ha trovato spazio anche su diversi modelli di processori Ryzen consumer, meno costosi dei modelli PRO. Molti utenti hanno quindi finito per considerarla una difesa disponibile di fatto, anche se AMD non l’ha mai promossa apertamente come funzione commerciale dei Ryzen non professionali.

Il punto critico non riguarda soltanto la rimozione della funzione, ma il modo in cui sarebbe avvenuta: tramite aggiornamento firmware AGESA, senza un changelog esplicito e con controlli difficili da svolgere su Windows. Su Linux, invece, l’anomalia richiede strumenti specifici e un minimo di lavoro diagnostico.

Perché la cifratura della RAM non è un dettaglio marginale

Un cold boot attack sfrutta la persistenza residua dei dati nella RAM dopo lo spegnimento o il riavvio della macchina. In condizioni favorevoli, un aggressore con accesso fisico può tentare di recuperare chiavi crittografiche, token, password o frammenti di sessioni ancora presenti nei chip di memoria.

TSME riduce questo rischio perché cifra tutto il traffico tra processore e DRAM attraverso una chiave generata all’avvio dall’AMD Secure Processor. Il sistema operativo non deve gestire pagine speciali, driver o configurazioni complesse: quando l’opzione risulta attiva nel BIOS, la protezione lavora sotto il livello software visibile all’utente.

La funzione, ovviamente, non può offrire protezione da malware già in esecuzione, exploit remoti o compromissioni del sistema operativo. Serve contro una classe precisa di minacce: quelle fisiche.

SME e TSME non sono la stessa cosa

La distinzione tecnica è importante. SME, Secure Memory Encryption, consente al sistema operativo di cifrare selettivamente alcune pagine di memoria usando una chiave unica. TSME, invece, opera a livello firmware e cifra tutta la RAM senza coinvolgere il sistema operativo.

In pratica, SME richiede supporto e gestione lato software; TSME lavora prima, durante l’inizializzazione della piattaforma. AMD descrive questa modalità come trasparente e compatibile con qualunque sistema operativo quando il BIOS la espone correttamente.

Sui Ryzen PRO, AMD vende una protezione equivalente sotto il marchio Memory Guard, parte delle AMD PRO Technologies. La società ha dichiarato ad Ars Technica che TSME è una funzione di sicurezza applicata solo alle CPU PRO; a quanto risulta, è la prima formulazione pubblica così esplicita di questa restrizione.

La scoperta di Ben Kilpatrick con AGESA 1.2.7.0 e il controllo con HSI

La vicenda parte ad aprile, quando Ben Kilpatrick, utente Linux attento alla privacy, installa un nuovo sistema operativo su una macchina con Ryzen 7 9700X basato su architettura Zen 5. Per controllare lo stato delle protezioni hardware utilizza HSI, Host Security ID, una funzione di audit integrata nel mondo fwupd che valuta configurazioni firmware e impostazioni di sicurezza della piattaforma.

Il risultato sorprende: la voce relativa alla RAM cifrata indica “not supported“. Ancora più strano, poche righe sotto HSI segnala che in precedenza la stessa protezione risultava “encrypted“. Kilpatrick non aveva disattivato nulla nel BIOS: da lì è partita un’indagine durata mesi.

Con firmware più vecchi basati su AGESA, AMD Generic Encapsulated Software Architecture, i Ryzen consumer mantengono TSME attivo; con AGESA 1.2.7.0 la stessa funzione risulta non più supportata.

AGESA inizializza processore, memoria e parte della piattaforma prima del caricamento del sistema operativo: una modifica in quel codice può quindi cambiare il comportamento della CPU senza toccare fisicamente il silicio.

Il ruolo di ABL e del flag DfIsTsmeEnabled

La prova più tecnica arriva dai dump dell’AMD Boot Loader, spesso abbreviato in ABL, componente interno ad AGESA che prepara l’hardware prima dell’avvio del sistema operativo. Nei confronti tra CPU consumer e PRO emerge un flag interno chiamato DfIsTsmeEnabled.

Sui Ryzen consumer, il flag restituisce FALSE anche quando il BIOS mostra TSME su AUTO o ENABLED. Sui Ryzen PRO e sugli EPYC, invece, restituisce TRUE quando la funzione viene abilitata.

Kilpatrick ha posto agli ingegneri AMD la domanda centrale: si tratta di una limitazione del silicio oppure di una policy firmware introdotta in AGESA?

Tom Lendacky, AMD fellow software engineer, ha inizialmente suggerito di disattivare e riattivare l’opzione nel BIOS, ipotizzando un problema del produttore della scheda madre. Mario Limonciello, senior principal software engineer AMD e maintainer della versione fwupd di HSI, ha dato un consiglio simile: se il problema persiste, segnalarlo al vendor della scheda.

Rimozione deliberata o bug?

Le ipotesi restano due. La prima: AMD ha deciso di riservare TSME ai prodotti PRO, introducendo un blocco nei firmware più recenti per separare meglio le linee consumer e business. La seconda: AGESA 1.2.7.0 ha introdotto una regressione non voluta, mai corretta e poi ricondotta a posteriori alla segmentazione commerciale.

Entrambe le letture lasciano zone d’ombra. Se la scelta è deliberata, AMD ha rimosso una funzione che per anni ha funzionato su processori già venduti. Se è un bug, dovrebbe trattarlo come tale e spiegare perché il comportamento differisce fra SKU consumer, PRO ed EPYC.

Joe FitzPatrick, esperto di sicurezza a livello silicio, ha riassunto bene il problema: AMD potrebbe non essersi resa conto dell’effetto prodotto, oppure potrebbe averlo fatto intenzionalmente senza comunicarlo. In entrambi i casi, una spiegazione tecnica servirebbe. Anche una frase del tipo “TSME non avrebbe mai dovuto funzionare su quei modelli” chiarirebbe almeno la posizione ufficiale.

Ti consigliamo anche

Link copiato negli appunti