For et par uger siden delte vi her på bloggen nyheden om EntrySign sårbarhed som gør det muligt at undgå den digitale signaturverifikationsmekanisme under mikrokodeopdateringer i AMD-processorer.
uanset hvad I starten virkede det som en fejl begrænset til Zen 1 til Zen 4 generationerne, Det strækker sig nu til chips lige så aktuelle som Ryzen 9000, EPYC 9005, Ryzen AI 300 og Ryzen 9000HX. Denne fejl tillader, under visse betingelser, CPU-mikrokoden at blive ændret ved at omgå den digitale signaturverifikationsmekanisme, hvilket har alvorlige konsekvenser for sikkerheden af virtualiserede systemer.
Roden til problemet er i uhensigtsmæssig brug af CMAC-algoritmen under mikrokodevalideringsprocessen. AMD bruger traditionelt en privat RSA-nøgle for digitalt at signere indholdet af disse opdateringer, og en offentlig nøgle inkluderet i patchen for at bekræfte ægtheden af mikrokoden på tidspunktet for lastning. Den offentlige nøglehash, der skulle garantere denne integritet, genereres dog ved hjælp af AES-CMAC, en kryptografisk MAC, der i modsætning til en robust hashfunktion ikke giver nogen garantier mod kollisioner.
Dette design, tilføjet, at AMD har brugt en fælles krypteringsnøgle til alle dine CPU'er siden Zen 1, har givet forskere mulighed for at udtrække nøglen fra enhver berørt processor og genbrug det til at manipulere mikrokode-patches på andre computere. Overraskende nok matcher denne nøgle et offentligt eksempel på NIST SP 800-38B-krypteringspraksis, hvilket viser skødesløs brug af god kryptografisk praksis.
Falsk mikrokode, gyldige signaturer
Fra denne svaghed Forskere formåede at generere offentlige nøgler, der producerer den samme hash som AMDs originale nøgle., som de tilladt konstruktion af falske patches, der kunne omgå integritetskontroller. Disse kollisioner opnås ved at indsætte yderligere blokke i slutningen af mikrokoden, tilsyneladende tilfældige, men omhyggeligt beregnede, hvilket tillader den digitale signatur at forblive tilsyneladende intakt. På denne måde kan den interne opførsel af processoren ændres uden at udløse alarmmekanismer.
Denne proces er blevet faciliteret af analyseværktøjer såsom Zentool, et sæt open source-værktøjer, der giver dig mulighed for at studere AMDs mikrokode og forberede modificerede patches. For at denne type angreb kan realiseres, skal angriberen have Ring 0-privilegier, det vil sige adgang til det højeste niveau af operativsystemet, hvilket er muligt i virtualiserede miljøer, hvis hypervisoren er kompromitteret eller gennem usikre konfigurationer af teknologier som VT-x eller AMD-V.
Indvirkning på AMD SEV og sikker virtualisering
Ud over mikrokodemanipulation udgør EntrySign en direkte trussel mod AMD SEV (Secure Encrypted Virtualization) og dens udvidelse SEV-SNP (Secure Nested Paging), teknologier designet til at sikre integriteten og fortroligheden af virtuelle maskiner selv i lyset af angreb fra hypervisor- eller værtssystemet. Denne sårbarhed gør det muligt at interferere med beskyttede processorregistre, ændre indlejrede sidetabeller og ændre gæstesystemers adfærd, hvilket kompromitterer deres sikkerhed på et dybtgående niveau.
AMD reaktion og afbødende foranstaltninger
Overfor denne situation, AMD er begyndt at distribuere mikrokodeopdateringer, der løser fejlen.eller, selvom det på systemer, der bruger SEV-SNP, også er nødvendigt at opdatere SEV-modulets firmware, hvilket kræver en BIOS-opdatering. Virksomheden har allerede sendt en ny pakke til producenterne kaldet ComboAM5PI 1.2.0.3c AGESA, men det anslås, at det kan tage uger eller endda måneder, før de endelige patches er tilgængelige for slutbrugere.
Ud over dette er AMD-ingeniører har foreslået en patch til Linux-kernen, der blokerer for indlæsning af mikrokode. uofficiel. Denne foranstaltning har til formål at forhindre spredning af modificerede programrettelser fra tredjeparter, såsom dem, der er oprettet af entusiaster fra ekstraherede BIOS-fragmenter. I mellemtiden anbefales det kraftigt at vente på officielle BIOS-opdateringer og afstå fra at installere ubekræftede versioner.
Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne i følgende link.