Minulý týden se na internet dostaly zprávy o tom, že AMD vypnulo bez varování jednu z bezpečnostních funkcí procesorů Ryzen, TSME. Je to ovšem komplikovanější, jelikož nejde o běžně aktivní ochranu, ale volitelnou funkci procesorů Pro, která se dala na běžných procesorech zapnout pouze neoficiálně nebo nedopatřením. Zdá se ale, že výsledkem mediálního ohlasu bude, že neoficiální přístup k technologii TSME bude na Ryzenech obnoven.
Co je TSME a proč kolem něj je kontroverze?
TSME znamená transparentní šifrování operační paměti (Transparent Secure Memory Encryption), kdy procesor do fyzické RAM zapisuje data zašifrovaná a při jejich čtení je zase automaticky rozšifrovává, takže běžící aplikace nic nepoznají. Technologie se poprvé objevila v první generaci procesorů Epyc (7001 „Naples“ s jádry Zen 1) v roce 2017, také pod označením SME (Secure Memory Encryption). V roce 2018 ji pak dostala také řada procesorů Ryzen Pro 2000 určená pro sestavy a notebooky používané ve velkých organizacích a firmách. Šlo o jednu z funkcí navíc, na kterou řada Pro lákala, vedle například vzdálené správy a podobných technologií. V novějších generacích se také označují jako Memory Guard, což je opět něco inzerovaného jen u procesorů Ryzen Pro.
Aktuální zprávy ale vynesly na světlo to, že tato technologie se dala už nějaký čas zapnout i na procesorech Ryzen mimo řadu Ryzen Pro, protože možnosti nastavení v BIOSech (UEFI) desek tuto možnost zpřístupňovaly. Samotná přítomnost volby v BIOSu nemusí ještě nic znamenat, ale zdá se, že někteří uživatelé i zkoušeli, zda opravdu funguje, a došli k výsledku, že ano. Je ale možné, že ji BIOSy desek zpřístupňovaly u běžných procesorů nedopatřením či kvůli nějakému opomenutí.

Jeden z uživatelů, kteří možnost TSME zapnout využili (na Ryzenu 7 9700X), nedávno zjistil, že po aktualizaci BIOSu funkce přestala být aktivní. Patrně jde o změnu, která přišla s komponentou AGESA 1.2.7.0. Odpověď AMD na bugreport vznesený tímto uživatelem byla, že TSME je technologie podporovaná pouze u procesorů Ryzen Pro. To je pokud víme pravda (firma ji zařazuje mezi jejich „Pro Technologies“).
Od vydání bylo TSME oficiálně omezeno jen na řady procesorů Epyc a Ryzen Pro a (pokud nám někde něco neuniklo) nikdy nebylo inzerováno u běžných desktopových nebo notebookových procesorů Ryzen. Není tedy úplně skandální, když ji AMD těmto procesorům zpětně znefunkčnilo a už ji nechalo vypnutou. Je dost otázka, zda jde o důvod ke stížnostem.
Aktualizace sice odebrala z CPU do té doby pracující funkci, ale šlo o něco, co u produktu nikdy nebylo inzerováno jako funkční (a ve skutečnosti ani úplně funkční být nemuselo, protože při testování procesoru tato součást vůbec nemusela být testována). V médiích nicméně vyšly poměrně kritické články, které toto nezohledňovaly, a podobně vyzníval celkem očekávatelně i ohlas na sociálních sítích.
Odebrání nezhoršilo reálně bezpečnost uživatelů
Také asi nebyla úplně fér tvrzení, které některé články uváděly, že AMD „odebralo z Ryzenů kritickou bezpečnostní technologii“ nebo že způsobilo, že uživatelé byli nevědomky zranitelní. Tato technologie rozhodně není něco běžně používaného. Její místo je zejména v cloudových serverech hostujících virtuální systémy různých uživatelů. Tím, že se každé VM přidělí vlastní šifrovací klíč (což se označuje SEV, Secure Encrypted Virtualization), se zamezí tomu, aby exploity zranitelností umožňující uživateli jednoho virtuálního serveru číst obsah fyzické paměti dovolily číst i data mimo jemu přidělený rozsah, patřící do virtuálních serverů jiných uživatelů nebo provozovatele.

Na osobním počítači je přínos spíš pochybný, TSME zde slouží snad jen jako ochrana před přečtením dat z paměťového modulu pomocí jeho kryogenického zmrazení ihned po vypnutí počítače a jeho rychlého přemístění do jiného zařízení (tzv. cold boot útok). A to je hrozba extrémně teoretická, vyžadující tak jako tak ovládnutí fyzické kontroly nad počítačem. Pokud si myslíte, že se jí musíte obávat, měli byste nejspíš k investicím do bezpečnosti přistupovat úplně jinak, než že si pořídíte hardware, na kterém tato funkce není oficiálně podporovaná, a nemáte tedy jistotu, že funguje korektně.
TSME nakonec bude na běžných procesorech přece jen k dispozici (neoficiálně)
Nicméně nakonec AMD zřejmě usoudilo, že negativní publicita za to nestojí a oznámilo, že vzhledem ke zpětné vazbě uživatelů vypnutí TSME v AGESA 1.2.7.0 vrátí zpět v jedné z budoucích naplánovaných aktualizací. Výhledově by nové verze s touto změnou měly být dostupné v červenci. Nový kód AGESA bude distribuovaný v rámci aktualizace celého BIOSu základní desky, takže termín vydání bude záležet na jednotlivých výrobcích a bude se asi lišit desku od desky.
Ovšem mělo by pořád trvat, že jde jenom o neoficiální fungování, které není nikde zaručeno a TSME není něco, co by AMD na obyčejných procesorech Ryzen někomu slibovalo. Na rozdíl od třeba od ECC, které firma explicitně uvádí jako „podporované, pokud poskytuje podporu základní deska“.
Kterých procesorů se neoficiální fungování TSME týkalo, není úplně jasné (aby ji někdo využíval, zřejmě nebyla moc častá věc), podle některých zdrojů by mohlo vedle aktuálních Ryzenů 9000 pro desktop možná už i o několik let staré Ryzeny 3000 s jádry Zen 2 a snad tedy i o generace mezi tím. Technologie na nich zřejmě po změně postoje AMD bude v stejném neoficiální režimu k dispozici (nebo alespoň zapnutelná, byť bez záruky) nadále. Nemusí to ale nutně znamenat, že to vydrží i v příštích generacích, například u nadcházejících CPU s architekturou Zen 6. U budoucích generací ji AMD může zablokovat na úrovni firmwaru hned od začátku, aby si nikdo nemohl stěžovat.
Také je otázka, zda „vítězství“ v této oblasti nemůže mít negativní efekty. AMD kvůli mediálním nepříjemnostem může začít dávat větší pozor na to, aby technologie a funkce, které nejsou oficiálně inzerované, nešlo takto neoficiálně zapnout a používat. Nebo aby se neděly věci, jako že nedopatřením unikne kód FSR4 kompatibilní se staršími grafikami, což bylo pro uživatele hodně užitečné, jelikož oficiální podporu této technologie AMD dlouho připravenou nemělo (Radeony RX 7000 ji dostávají až teď). Ale firma pak čelila kritice za to, že tato podpora není oficiální. Toto naštěstí skončilo dobře (oficiální podporou), ale zodpovědní manažeři by si z toho také mohli vzít lekci příště na vývojáře dávat větší pozor a nepustit ven nic.
TSME byste nejspíš měli nechat být
Drtivá většina procesorů (v podstatě kromě serverových) paměť nešifruje, takže není pravda, že by nefungujícím TSME byla nějak relevantně zhoršena bezpečnost uživatelů. Nevíme o tom, že by něco jako TSME bylo aktivní u běžných procesorů Intelu – pro ty je analogická funkce Total Memory Encryption dostupná také jen na serverech a s desktopovými deskami podporujícími technologie vPro. Kompletní šifrování operační paměti není používáno ani na počítačích Apple.
A je minimálně jeden dobrý důvod, proč tomu tak není – šifrování stojí výkon. Když nic jiného, zhorší velmi důležitou latenci přístupu do paměti. Zvlášť u herních počítačů není dobrý nápad TSME zapínat jen proto, že to jde, jelikož latence pamětí herní výkon silně ovlivňuje.
Zdroj: Tom’s Hardware
Jan Olšan, redaktor Cnews.cz
⠀






Podpora ECC je na tom přeci ale úplně stejně, nebo byla oficiálně inzerována v propagačních materiálech?