Zenbleed-angreb lækker følsomme data fra AMD Zen2-processorer
Googles sikkerhedsforsker Tavis Ormandy opdagede en ny sårbarhed, der påvirker AMD Zen2 CPU’er, der kan give en ondsindet aktør mulighed for at stjæle følsomme data, såsom adgangskoder og krypteringsnøgler, med en hastighed på 30KB / sek fra hver CPU-kerne.
Sårbarheden spores som CVE-2023-20593 og er forårsaget af forkert håndtering af en instruktion kaldet ‘vzeroupper’ under spekulativ udførelse, en almindelig præstationsfremmende teknik, der bruges i alle moderne processorer.
Ormandy brugte fuzzing og præstationstællere til at opdage specifikke hardwarehændelser og validerede sine resultater ved hjælp af en tilgang kaldet “Oracle Serialization.”
Med denne tilgang var forfatteren i stand til at opdage uoverensstemmelser mellem udførelsen af det tilfældigt genererede program og dets serialiserede orakel, hvilket førte til opdagelsen af CVE-2023-20593 i Zen2 CPU’er.
Efter at have udløst en optimeret udnyttelse af fejlen, forskeren kunne lække følsomme data fra enhver systemoperation, inklusive dem, der finder sted i virtuelle maskiner, isolerede sandkasser, containere, etc.
“Det krævede lidt arbejde, men jeg fandt en variant, der kan lække omkring 30 kb pr. kerne pr. Sekund.
Dette er hurtigt nok til at overvåge krypteringsnøgler og adgangskoder, når brugerne logger ind!,” forklarede Ormandy i en teknisk opskrivning af fejlen.
Første store resultat fra vores nye CPU-forskningsprojekt, en brug-efter-fri i AMD Zen2-processorer! AMD har netop frigivet opdateret mikrokode til berørte systemer, opdater venligst! https://t.co/NVPWFpVopz pic.twitter.com/HgKwu9w8Av
Forskeren rapporterede fejlen til AMD den 15. maj 2023, og i dag, han offentliggjorde en proof-of-concept (PoC) udnyttelse for CVE-2023-20593.
Udnyttelsen er skrevet til Linux, men fejlen er OS-agnostisk, så alle operativsystemer, der kører på Zen 2 CPU’er, påvirkes.
Fejlen påvirker alle AMD-CPU’er bygget på Zen 2-arkitekturen, inklusive Ryzen 3000 (“Matisse”), Ryzen 4000U / H (“Renoir”), Ryzen 5000U (“Lucienne”), Ryzen 7020 og high-end ThreadRipper 3000 og Epyc-server (“Rom”) processorer.
Hvis din CPU påvirkes af ‘Zenbleed’, anbefales det at anvende AMDs nye mikrokodeopdatering eller vente på, at din computerleverandør inkorporerer rettelsen i en fremtidig BIOS-opgradering.
Alternativt foreslår forskeren afbødningsmetoden til at indstille “kyllingebitten” til DE_CFG[9], selvom denne løsning ville resultere i et fald i CPU-ydeevnen.
Ormandy konkluderer, at det sandsynligvis er umuligt at opdage udnyttelse af Zenbleed, da forkert brug af ‘vzeroupper’ ikke kræver forhøjede privilegier eller særlige systemkald og derfor ville være temmelig snigende.
Zenbleeds praktiske indvirkning på almindelige brugere er relativt lav, da det kræver lokal adgang til målsystemet og en høj grad af specialisering og viden at udnytte.
Det er dog vigtigt at holde systemer opdateret med de nyeste sikkerhedsrettelser og anvende eventuelle BIOS-opdateringer, så snart de bliver tilgængelige.
Kilde: Tavis Ormandy
Fotokredit: AMD Ryzen