Cea mai recentă actualizare a firmware-ului AMD stârnește o controversă privind caracteristicile de securitate
TL;DR: În urmă cu aproximativ un deceniu, AMD a adăugat Transparent Secure Memory Encryption la procesoarele sale de ultimă generație, pentru a elimina un gol în securitatea hardware. TSME criptează tot ce se află în RAM, ceea ce reduce atacurile de pornire la rece și alte exploatări de memorie hands-on care vizează datele pe măsură ce se află pe DIMM-uri. De-a lungul timpului, același mecanism a apărut în liniște și pe unele cipuri Ryzen de consum. Apoi, după o actualizare recentă a firmware-ului, a încetat să funcționeze acolo, iar AMD a oferit doar o explicație limitată de ce.
Schimbarea a ieșit la lumină în aprilie, când Ben Kilpatrick a instalat un nou sistem de operare pe un sistem Ryzen 7 9700X construit pe arhitectura AMD Zen 5. El se descrie ca un „hobbyist Linux conștient de confidențialitate”, iar o parte din rutina sa este să verifice dacă funcțiile de securitate hardware sunt activate. Pentru a face acest lucru, el folosește Host Security ID, un verificator care inspectează configurația firmware și hardware.
Pe firmware-ul anterior, HSI raportase că criptarea RAM era activată pe computerul său. De data aceasta, citirea a arătat „RAM criptată: nu este acceptată”, chiar dacă TSME era încă activat în BIOS.
Câteva rânduri mai jos, HSI a arătat că același sistem raportase anterior RAM ca fiind „criptată”. Nepotrivirea dintre setarea BIOS-ului și starea actuală este ceea ce l-a determinat să caute o explicație.
Kilpatrick a contactat MSI, care și-a fabricat placa de bază și a solicitat teste pe diferite plăci și versiuni de firmware. Inginerii MSI au confirmat în cele din urmă că procesoarele Ryzen pentru consumatori au raportat că TSME este acceptat atunci când o versiune mai veche a AGESA, arhitectura software încapsulată generică a AMD, a gestionat calea firmware-ului în timpul pornirii.
Când sistemele au pornit cu AGESA 1.2.7.0, aceleași cipuri au raportat TSME ca „neacceptat”. Piesele Ryzen pro-branded nu au schimbat comportamentul. Ei au arătat suportul TSME atât pe plăcile MSI, cât și pe cele Gigabyte, precum și pe versiunile AGESA.
Acest model a sugerat că siliciul era încă capabil de TSME și că schimbarea comportamentului a fost legată de firmware. „Marea întrebare restante este dacă aceasta este o decizie politică deliberată a AMD de a restricționa TSME la cipurile PRO sau o regresie neintenționată care a fost introdusă în AGESA 1.2.7.0”, a spus Kilpatrick pentru Ars Technica. În opinia sa, „oricum, siliciul este capabil, oricum schimbarea s-a produs în AGESA și, în orice caz, AMD a refuzat să o explice”.
Pentru a obține un răspuns mai direct, el a deschis un raport de eroare în depozitul public GitHub al AMD pentru caracteristicile sale de virtualizare și memorie sigure. Doi ingineri AMD au răspuns. Tom Lendacky, un coleg inginer de software AMD, a spus că nu știe ce a cauzat schimbarea și a sugerat să comuteți setarea BIOS: dezactivați TSME, apoi porniți-l din nou, iar dacă asta nu reușește, „bănuiesc că este o problemă de BIOS și ați dori să contactați MSI”.

Mario Limonciello, un inginer principal principal de software care menține implementarea fwupd a HSI, a dat un sfat similar: încercați din nou la nivel de BIOS și, dacă tot nu funcționează, „atunci da, vă rugăm să raportați vânzătorul plăcii pentru a depana”.
Când Kilpatrick a revenit la thread șase săptămâni mai târziu, MSI făcuse analize mai detaliate. El a raportat că echipa de marketing a produselor MSI i-a spus „că AMD a comunicat oficial MSI că TSME este acceptat exclusiv pe procesoarele din seria PRO”.
De asemenea, inginerii MSI și-au extins testele. Pe o placă Asus X870E, un Ryzen 9800X3D și un Ryzen 9945 au fost schimbate cu aceeași configurație BIOS. Cu cipul Pro instalat, sistemul a raportat tsme_status = 1. Cu cipul de consum, a raportat tsme_status = 0.
Echipa a examinat apoi modul în care AGESA a luat decizii la începutul secvenței de pornire. Ei au capturat rezultatul AMD Boot Loader, o componentă din AGESA care rulează înaintea sistemului de operare și au comparat starea internă.
Un indicator, DfIsTsmeEnabled, determină dacă TSME este de fapt activat în timpul inițializării firmware-ului. În depozitele MSI furnizate, DfIsTsmeEnabled a returnat FALSE pentru Ryzen 9800X3D chiar și atunci când BIOS-ul avea TSME setat la AUTO sau ACTIVAT. Pe Ryzen 9945 și pe părțile Epyc, același steag a returnat TRUE atunci când TSME a fost activat.
Kilpatrick le-a îndrumat inginerilor la comentariile anterioare de la AMD, care arătau o poziție diferită. Într-o discuție din 2020 despre suportul pentru criptare în procesoarele AMD, Lendacky a scris că un Ryzen 3700X de calitate pentru consumatori „ar trebui să accepte TSME”, iar mai târziu a adăugat: „Recomand să utilizați TSME (Transparent SME), dar este o opțiune BIOS care trebuie expusă de furnizorul dumneavoastră de BIOS”.
Această istorie, combinată cu anii în care TSME s-a comportat conform așteptărilor pe unele cipuri non-Pro, face parte din motivul pentru care Kilpatrick și alți utilizatori l-au văzut ca o parte standard a pachetului.
După ce a prezentat noile date AGESA și ABL, Kilpatrick a pus o întrebare precisă inginerilor: „DfIsTsmeEnabled este setat la FALSE pentru SKU-urile consumatorilor o limitare la nivel de siliciu sau este o decizie de politică a firmware-ului în cadrul AGESA? Distincția contează destul de mult din perspectiva utilizatorului, deoarece unul este fix, iar celălalt este potențial modificabil”.
Limonciello a răspuns: „Scuzele mele, dar nu am mai multe informații de împărtășit despre acest subiect”. AMD, răspunzând separat prin e-mail, a spus că TSME „este o caracteristică de securitate aplicată numai procesoarelor PRO ca parte a AMD PRO Technologies”.

AMD a trasat de mult o linie între TSME și Secure Memory Encryption. SME, pe care compania l-a descris întotdeauna ca fiind limitat la nivelurile Pro și Epyc, este gestionat de sistemul de operare și poate cripta paginile de memorie selectate folosind o singură cheie. TSME este gestionat în firmware și criptează toată memoria RAM fără nicio implicare din partea sistemului de operare. Când este activat în BIOS, funcționează silențios, dar totuși protejează împotriva pornirii la rece, a snoopingului magistralei DRAM și a atacurilor fizice similare.
Pentru utilizatorii care au construit modele de amenințare în jurul acestui comportament, eliminarea liniștită a TSME de la procesoarele mai noi de consum, combinată cu absența unei rațiuni tehnice detaliate, a fost neliniștitoare.
Joe FitzPatrick, care se concentrează pe securitatea la nivel de siliciu, a susținut că lipsa de claritate este principala problemă. „Ei nu ar fi putut să-și dea seama că au făcut-o ducând la răspunsurile lor înțelepte sau ar fi putut să o facă în mod intenționat și să încerce să scape, ducând la aceleași răspunsuri înțelepte”, a spus el. „Dar chiar simt că o explicație ar trebui să fie în regulă, chiar dacă ar fi „TSME nu trebuia să fie suportat niciodată. Am livrat unele firmware-uri care l-au activat în mod eronat, dar nu ar trebui să le folosiți, deoarece nu putem garanta că va funcționa corect”.
