Prije nekoliko tjedana podijelili smo ovdje na blogu vijest o EntrySign ranjivost koji omogućuje izbjegavanje mehanizma provjere digitalnog potpisa tijekom ažuriranja mikrokoda u AMD procesorima.
štogod U početku se činilo da je greška ograničena na Zen 1 do Zen 4 generacije, Sada se proširuje na aktualne čipove kao što su Ryzen 9000, EPYC 9005, Ryzen AI 300 i Ryzen 9000HX. Ovaj nedostatak dopušta, pod određenim uvjetima, modificiranje CPU mikrokoda zaobilaženjem mehanizma za provjeru digitalnog potpisa, s ozbiljnim implikacijama na sigurnost virtualiziranih sustava.
Korijen problema nalazi se u neprikladno korištenje CMAC algoritma tijekom procesa provjere valjanosti mikrokoda. AMD tradicionalno koristi privatni RSA ključ za digitalno potpisivanje sadržaja ovih ažuriranja, i javni ključ uključen u zakrpu za provjeru autentičnosti mikrokoda u trenutku utovara. Međutim, hash javnog ključa koji bi trebao jamčiti ovaj integritet generira se korištenjem AES-CMAC-a, kriptografskog MAC-a koji, za razliku od robusne hash funkcije, ne nudi nikakva jamstva protiv kolizija.
Ovaj dizajn, dodaje se činjenici da je AMD koristio zajednički ključ za šifriranje za sve vaše procesore od Zen 1, omogućio je istraživačima izdvajanje ključa iz bilo kojeg pogođenog procesora i ponovno ga koristiti za manipuliranje zakrpama mikrokoda na drugim računalima. Iznenađujuće, ovaj ključ odgovara javnom primjeru prakse enkripcije NIST SP 800-38B, pokazujući nemarno korištenje dobrih kriptografskih praksi.
Lažni mikrokod, valjani potpisi
Iz ove slabosti, Istraživači su uspjeli generirati javne ključeve koji proizvode isti hash kao AMD-ov izvorni ključ., koje su dopustio izradu lažnih zakrpa koje mogu zaobići kontrole integriteta. Ti se sudari postižu umetanjem dodatnih blokova na kraju mikrokoda, naizgled nasumičnih, ali pažljivo izračunatih, dopuštajući da digitalni potpis ostane naizgled netaknut. Na taj se način unutarnje ponašanje procesora može promijeniti bez pokretanja mehanizama upozorenja.
Ovaj proces je olakšan alatima za analizu kao što je Zentool, skup uslužnih programa otvorenog koda koji vam omogućuje proučavanje AMD-ovog mikrokoda i pripremu modificiranih zakrpa. Da bi se ova vrsta napada ostvarila, napadač mora imati Ring 0 privilegije, odnosno pristup najvišoj razini operativnog sustava, što je izvedivo u virtualiziranim okruženjima ako je hipervizor ugrožen ili kroz nesigurne konfiguracije tehnologija poput VT-x ili AMD-V.
Utjecaj na AMD SEV i sigurnu virtualizaciju
Osim manipulacije mikrokodom, EntrySign predstavlja izravnu prijetnju AMD SEV (Secure Encrypted Virtualization) i njegovom proširenju SEV-SNP (Secure Nested Paging), tehnologijama osmišljenim da osiguraju integritet i povjerljivost virtualnih strojeva čak i u slučaju napada s hipervizora ili glavnog sustava. Ova ranjivost omogućuje miješanje u zaštićene registre procesora, modificiranje ugniježđenih tablica stranica i promjenu ponašanja gostujućih sustava, ugrožavajući njihovu sigurnost na dubokoj razini.
AMD odgovor i mjere ublažavanja
U ovoj situaciji, AMD je počeo distribuirati ažuriranja mikrokoda koja ispravljaju grešku.ili, iako je na sustavima koji koriste SEV-SNP također potrebno ažurirati firmware modula SEV, što zahtijeva ažuriranje BIOS-a. Tvrtka je već poslala novi paket proizvođačima pod nazivom ComboAM5PI 1.2.0.3c AGESA, no procjenjuje se da bi konačnim zakrpama mogli proći tjedni ili čak mjeseci dok ne budu dostupni krajnjim korisnicima.
Pored ovoga, AMD-ovi inženjeri predložili su zakrpu za Linux kernel koja blokira učitavanje mikrokoda. neslužbeni. Ova mjera ima za cilj spriječiti širenje modificiranih zakrpa trećih strana, poput onih koje su izradili entuzijasti iz ekstrahiranih fragmenata BIOS-a. U međuvremenu se toplo preporučuje pričekati službena ažuriranja BIOS-a i suzdržati se od instaliranja neprovjerenih verzija.
Konačno, ako vas zanima više o tome, detalje možete provjeriti u sljedeći link.