Súlyos sebezhetőséget találtak az AMD processzorokban

Ha nagyon egyszerűen akarnánk megadni a firmware defíncióját, akkor ez az a programkód, amelyet közvetlenül a hardverbe “ágyaznak” bele. Szóval ez az a kód, amely a gép bekapcsolásakor azonnal betöltődik és ez végzi még az operációs rendszerünk indítását is. Mint ilyen, elég régóta próbálják hackerek feltörni. Mert ezzel lehetne igazán bekerülni egy rendszerbe mindenféle ellenőrzés nélkül. Olyan nagyon ritkán fordul elő, hogy firmware sebezhetőség nem egy adott számítógépgyártó cég firmware-ében, hanem a PC-k és szerverek százmillióiban található chipekben bukkan fel.

Most biztonsági szakértők találtak egy ilyen hibát, amely évtizedek óta fennáll az AMD processzoraiban. Ez lehetővé teszi, hogy a rosszindulatú programok elég mélyen beássák magukat a számítógép memóriájába ahhoz, hogy sok esetben egyszerűbb legyen kidobni a gépet, mint megpróbálni kiirtani a programot. A Defcon nevű hackerkonferencián Enrique Nissim és Krzysztof Okupski, az IOActive biztonsági cég kutatói az AMD chipek Sinkclose nevű sebezhetőségét tervezik bemutatni. A hiba lehetővé tenné a hackerek számára, hogy saját kódot futtassanak az AMD processzorok legnagyobb jogokkal bíró üzemmódjában, az úgynevezett System Management Mode-ban. Ezt már csak a firmware egy bizonyos, védett része számára tartják fenn.

A Sinkclose sebezhetőség bemutatása

Az IOActive kutatói arra figyelmeztetnek, hogy a hiba gyakorlatilag az összes, 2006 óta gyártott vagy esetleg még korábbi AMD chipben ott lehet. Nissim és Okupski kiemelték azt is, hogy a hiba kihasználásához a hackereknek már alapból elég komoly hozzáféréssel kell bírniuk egy AMD-alapú számítógéphez vagy szerverhez. De ezek után a Sinkclose hiba lehetővé tenné számukra, hogy még mélyebbre beültessék rosszindulatú kódjukat. Elvileg a figyelmeztetés szerint az AMD egyik, sebezhetőséggel bíró chipjével rendelkező gép esetében a támadó megfertőzheti a számítógépet egy “bootkit” néven ismert rosszindulatú szoftverrel. Ez kikerüli a vírusirtó eszközöket, és potenciálisan láthatatlan az operációs rendszer számára. Miközben teljes hozzáférést biztosít a hacker számára a gép manipulálásához és a tevékenységének megfigyeléséhez.

Az olyan rendszerek esetében, ahol a számítógépgyártó nem megfelelő konfigurációkkal telepítette meg az AMD Biztonságos Platform Boot nevű biztonsági funkcióját, a Sinkclose-on keresztül telepített rosszindulatú programot még nehezebb lehet megtalálni. Sőt, még az operációs rendszer újratelepítését is túlélheti. Az egyetlen segítség Okupski szerint az, ha a memóriachipek egy részéhez közvetlenül csatlakozunk egy hardveralapú programozó eszközzel és átfésüljük a memóriát lépésről-lépésre. Legrosszabb esetben pedig ki kell dobni a számítógépet.

Az AMD reakciója

A WIRED internetes magazinhoz eljuttatott közleményében az AMD elismerte az IOActive észrevételét, és megköszönte a kutatók munkáját. Ami a legfontosabb, hogy azt is közölték, hogy “az AMD EPYC adatközponti termékei és az AMD Ryzen PC-termékek számára már kiadtak védekezési lehetőségeket. És hamarosan az AMD beágyazott termékeire vonatkozó védelmi lehetőségek is megjelennek”. A beágyazott termékek alatt az olyan rendszerekben található AMD chipeket képzeljük el, mint például az ipari eszközök és az autók chipjei. Az EPYC processzorok esetében, amelyeket kifejezetten adatközponti szerverekben való használatra terveztek, a vállalat megjegyezte, hogy az év elején javító patcheket adtak már ki. Az AMD a Sinkclose sebezhetőség kijavításának módját azonban nem közölte. Az érintett termékek teljes listája az AMD weboldalán egyébként elérhető biztonsági közlemények között.

A gyártó is rámutatott arra, hogy a Sinkclose kihasználása nem egyszerű. A sebezhetőség kihasználásához a hackernek már hozzáféréssel kell rendelkeznie a számítógép kerneléhez, az operációs rendszer magjához. Az AMD a Sinkhole kihasználását egy olyan bankrabláshoz hasonlította, ahol már csak egy bank széfjébe kell bejutni, miután már kijátszották a riasztókat, az őröket és a páncélterem ajtaját is feltörték. Nissim és Okupski szerint tény, hogy a Sinkclose kihasználásához kernel-szintű hozzáférésre van szükség a géphez. De ilyen sebezhetőségek gyakorlatilag minden hónapban megjelennek a Windows és a Linux rendszerekben. Érvelésük szerint a legprofibb hackereknek már most is vannak lehetőségeik és technikáik az ilyen sebezhetőségek kihasználására.

A sebezhetőség leírása

Nissim és Okupski leírása a Sinkclose sebezhetőségre az AMD chipek TClose nevű, homályos funkciójának kihasználására épül. A Sinkclose név pont ezért a TClose funkció nevének és a Sinkhole nevű, egy korábbi, Intel chipekben talált System Management Mode sebezhetőség nevének kombinálásából származik. Az AMD-alapú gépekben a TSeg nevű biztonsági eszköz megakadályozza, hogy a számítógép operációs rendszerei írjanak a memória egy védett részébe, amelyet a System Management Mode (SMM) számára tartanak fenn. És amely a System Management Random Access Memory vagy SMRAM nevet viseli.

Az AMD TClose funkcióját azonban úgy tervezték, hogy a számítógépek továbbra is kompatibilisek maradhassanak a régebbi eszközökkel. Amelyek ugyanazokat a memóriacímeket használják, mint az SMRAM. Más memóriákat átképezve ezekre az SMRAM-címekre, ha a funkciót engedélyezik. Nissim és Okupski rájöttek, hogy csak az operációs rendszer jogosultsági szintjével tudják használni ezt a TClose átképezési funkciót. Így becsapják az SMM kódot, hogy az általuk manipulált adatokat lekérjék.  Oly módon, hogy a processzort átirányítsák, és saját kódjukat ugyanazon a magasan privilegizált SMM-szinten hajtsák végre.

Nissim és Okupski mindketten az alacsony szintű kódok, például a processzorok firmware-ének biztonságára specializálódtak. Azt mondják, hogy először két évvel ezelőtt döntöttek úgy, hogy megvizsgálják az AMD architektúráját. Egyszerűen azért, mert úgy érezték, hogy az Intelhez képest nem kapott elég vizsgálatot, még akkor sem, amikor piaci részesedése nőtt. Azt mondják, hogy szimplán az AMD dokumentációjának elolvasásával és újraolvasásával találták meg a kritikus TClose problémát, amely lehetővé tette a Sinkclose-t. Elmondásuk szerint tavaly októberben figyelmeztették az AMD-t a hibára. De aztán közel 10 hónapot vártak, hogy az AMD-nek több ideje legyen a javítás előkészítésére. És hogy mire lehet számítani? Elvileg a Windows gépek esetében a Sinkclose javítócsomagjait a számítógépgyártók a Microsoftnak küldött frissítésekbe integrálják. Amely azokat a jövőbeni operációs rendszerfrissítésekbe fogja beépíteni. A szerverek, beágyazott rendszerek és Linux-gépek patchei inkább lassan és kézzel készülhetnek.