Prieš kelias savaites tinklaraštyje pasidalinome naujienomis apie EntrySign pažeidžiamumas kuri leidžia išvengti skaitmeninio parašo tikrinimo mechanizmo atnaujinant mikrokodą AMD procesoriuose.
Ką Iš pradžių tai atrodė kaip klaida, apsiribojusi Zen 1 ir Zen 4 kartomis, Dabar jis taikomas tokiems patiems lustams kaip Ryzen 9000, EPYC 9005, Ryzen AI 300 ir Ryzen 9000HX. Šis trūkumas tam tikromis sąlygomis leidžia modifikuoti procesoriaus mikrokodą apeinant skaitmeninio parašo tikrinimo mechanizmą, o tai turi rimtų pasekmių virtualizuotų sistemų saugumui.
Problemos šaknis tai yra netinkamas CMAC algoritmo naudojimas mikrokodo patvirtinimo proceso metu. AMD tradiciškai naudoja privatų RSA raktą skaitmeniniu būdu pasirašyti šių atnaujinimų turinįir viešąjį raktą, įtrauktą į pataisą, kad patikrintų mikrokodo autentiškumą pakrovimo metu. Tačiau viešojo rakto maiša, kuri turėtų garantuoti šį vientisumą, sugeneruojama naudojant AES-CMAC – kriptografinę MAC, kuri, skirtingai nei patikima maišos funkcija, nesuteikia jokių garantijų dėl susidūrimų.
Šis dizainas, pridėta prie to, kad AMD naudojo bendrą šifravimo raktą visiems jūsų CPU nuo Zen 1leido mokslininkams išgauti raktą iš bet kurio paveikto procesoriaus ir pakartotinai naudokite mikrokodo pataisoms manipuliuoti kituose kompiuteriuose. Stebėtina, kad šis raktas atitinka viešą NIST SP 800-38B šifravimo praktikos pavyzdį, rodantį, kad gera kriptografija naudojama nerūpestingai.
Netikras mikrokodas, galiojantys parašai
Dėl šio silpnumo, Tyrėjai sugebėjo sugeneruoti viešuosius raktus, kurie sukuria tą pačią maišą kaip ir originalus AMD raktas., kuriuos jie leido sukurti netikrus pataisymus, galinčius apeiti vientisumo kontrolę. Šie susidūrimai pasiekiami mikrokodo pabaigoje įterpiant papildomus blokus, kurie atrodo atsitiktiniai, bet kruopščiai apskaičiuoti, todėl skaitmeninis parašas lieka nepažeistas. Tokiu būdu vidinis procesoriaus elgesys gali būti pakeistas neįjungiant įspėjimo mechanizmų.
Šį procesą palengvino analizės įrankiai pvz., Zentool, atvirojo kodo paslaugų rinkinys, leidžiantis ištirti AMD mikrokodą ir paruošti modifikuotus pataisymus. Kad tokio tipo ataka įvyktų, užpuolikas turi turėti 0 žiedo privilegijas, ty prieigą prie aukščiausio lygio operacinės sistemos, o tai įmanoma virtualizuotose aplinkose, jei hipervizorius pažeistas arba dėl nesaugių technologijų, tokių kaip VT-x arba AMD-V, konfigūracijos.
Poveikis AMD SEV ir saugiai virtualizacijai
Be manipuliavimo mikrokodu, „EntrySign“ kelia tiesioginę grėsmę AMD SEV (saugiai šifruotai virtualizacijai) ir jos plėtiniui SEV-SNP (saugiam įdėtajam ieškojimui), technologijoms, skirtoms užtikrinti virtualių mašinų vientisumą ir konfidencialumą net ir atakų iš hipervizoriaus ar pagrindinės sistemos atveju. Šis pažeidžiamumas leidžia trukdyti apsaugotiems procesorių registrams, modifikuoti įdėtąsias puslapių lenteles ir pakeisti svečių sistemų elgseną, taip smarkiai pažeidžiant jų saugumą.
AMD reagavimo ir mažinimo priemonės
Susidūrę su šia situacija, AMD pradėjo platinti mikrokodų atnaujinimus, kurie ištaiso klaidą.arba, nors sistemose, kuriose naudojama SEV-SNP, taip pat būtina atnaujinti SEV modulio programinę-aparatinę įrangą, kuriai reikia atnaujinti BIOS. Įmonė gamintojams jau išsiuntė naują pakuotę vadinamas ComboAM5PI 1.2.0.3c AGESA, tačiau manoma, kad galutiniai pataisos gali užtrukti savaites ar net mėnesius, kol jos bus prieinamos galutiniams vartotojams.
Be to, AMD inžinieriai pasiūlė Linux branduolio pataisą, kuri blokuoja mikrokodo įkėlimą. neoficialus. Šia priemone siekiama užkirsti kelią trečiųjų šalių modifikuotų pataisų, pvz., entuziastų sukurtų iš ištrauktų BIOS fragmentų, plitimui. Tuo tarpu primygtinai rekomenduojama palaukti oficialių BIOS atnaujinimų ir susilaikyti nuo nepatvirtintų versijų diegimo.
Galiausiai, jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.