Ranljivost Zenbleed v procesorjih AMD Zen 2

Matej Huš

26. jul 2023 ob 09:09:42

Googlov raziskovalec Tavis Ormandy je v AMD-jevih procesorjih Zen 2, kamor sodijo družine Ryzen 3000, Ryzen 4000, Ryzen 5000, Ryzen 7020, Ryzen Pro 3000, Ryzen Pro 4000 in Epyc Rome, odkril ranljivost, ki omogoča tudi krajo šifrirnih ključev (CVE-2023-20593). Ranljivost je poimenoval Zenbleed, AMD-ju pa jo je prijavil 15. maja. Ta je za nekatere procesorje že pripravil popravke (mikrokoda), za druge pa bodo nared do konca leta.

Ranljivost izkorišča metodo, ki jo moderni procesorji uporabljajo za hitrejše delovanje. Špekulativno izvajanje ukazov pomeni, da se nekateri ukazi izvedejo, četudi procesor še ne ve, ali bo to dejansko potrebno. Če se izkažejo kot nepotrebni, se rezultat preprosto zavrže, sicer pa smo prihranili nekaj časa. A vsako izvajanje ukazov vpliva na vrednosti v registrih in na komunikacijo procesorja s sistemom, čemur je možno prisluškovati. V tem pogledu je napad Zenbleed podoben napadom Meltdown na Intelove procesorje.

Ranljivost je možno izkoristiti na daljavo, omogočala bi na primer prisluškovanje dogajanju v virtualnih strojih in navideznih strežnikih. Napad omogoča pretok podatkov iz procesorja s hitrostjo 30 kb/s na jedro, kar je dovolj za krajo šifrirnih ključev. Dokler AMD procesorjev ne zakrpa, se je napadu možno izogniti tudi v programski opremi (DE_CFG[9]).