Zenbleed, en sårbarhet som påverkar AMD Zen 2-processorer

sårbarhet

Om de utnyttjas kan dessa brister tillåta angripare att få obehörig åtkomst till känslig information eller i allmänhet orsaka problem

För några dagar sedan a Googles säkerhetsteamforskare, släppt nyheterna som jag upptäcker en sårbarhet (redan listad under CVE-2023-20593) på AMD-processorer baserad på Zen2-mikroarkitekturen som kan användas för att detektera register medan andra processer körs på samma CPU-kärna.

Denna sårbarhet anses viktig, eftersom attacken kan utföras från virtuella maskiner och isolerade miljöer. I grund och botten liknar problemet klassiska use-after-free-sårbarheter orsakade av åtkomst till minne efter att det har frigjorts.

Problemet uppstår med AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 med Radeon Graphics, Ryzen PRO 4000, Ryzen 5000 med Radeon Graphics, Ryzen 7020 med Radeon Graphics och serie av processorer EPYC 7002.

Om sårbarheten nämns för att i processorerna, för att lagra innehållet i registren, används en registerfil (RF, Register File), vilket är ett arrangemang som delas i alla uppgifter i samma kärna. cpu. Record Allocation Table (RAT) ansvarar för att bifoga poster med specifika namn till loggfilresurserna. I detta fall lagras nollvärdet i registret, inte genom att lagra ett tomt värde i registerfilen, utan genom att sätta z-bitars flaggan i RAT-tabellen.

Sårbarheten beror på det faktum att om z-biten ställs in under spekulativ exekvering av instruktioner räcker det inte att bara återställa den i händelse av en dålig grenförutsägelse, eftersom utrymme i loggfilen kan omfördelas från spekulativ exekvering.

Den avslöjade effekten uppstår när en post samtidigt byter namn, används en instruktion för vilken kopplingsoptimering tillämpas, och en VZEROUPPER vektorinstruktion exekveras spekulativt som ställer in z-biten och frigör resurser från loggfilen. Om förgreningsprediktionen misslyckas och den spekulativa VZEROUPPER-operationen rullas tillbaka, kan innehållet i vektorregistren förvanskas, eftersom z-biten rullas, men den frigjorda resursen förblir okasserad.

Genom manipulering av VZEROUPPER-instruktionen är det möjligt att uppnå ett kontrollerat läckage av bearbetad data i YMM-vektorregistren som används i lägena AVX (Advanced Vector Extensions) och SSE (Streaming SIMD Extensions). Dessa register används aktivt i funktionerna för minneskopiering och strängbehandling, till exempel i Glibc-biblioteket används de i funktionerna memcpy, strcmp och strlen.

För att demonstrera sårbarheten, kodnamnet Zenbleed, en prototypexploat har utarbetats som gör det möjligt för en oprivilegierad användare att bestämma data som behandlas i AES-NI- eller REP-MOVS-instruktionerna (används vanligtvis i memcpy-funktionen), som kan användas för att rekonstruera krypteringsnycklar och användarlösenord, bearbetade i andra processer, inklusive privilegierade. Dataläckageprestanda för exploateringen är cirka 30 KB per sekund.

Sårbarhet fast i mikrokoduppdateringsnivå. För Linux har en patch förberetts för att ladda ner den korrigerade mikrokoden. Även om det inte är möjligt att uppdatera mikrokoden finns det en lösning för att blockera sårbarheten, vilket leder till minskad prestanda.

För att göra detta måste kontrollbiten DE_CFG[9] konfigureras i CPU:n och för detta, i en terminal, måste följande kommando skrivas:

Det är värt att nämna att inaktivering av SMT-läge inte blockerar sårbarheten och korrigeringen för att blockera sårbarheten implementerades i kärnuppdateringarna 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 och 4.19.289.

För intresserad av att spåra sårbarhetsinformation i de olika distributionerna kan de göra det på följande sidor: DebianubuntuGentooRHELSUSEfedoraArchOpenBSDFreeBSDNetBSD.

Slutligen, om du är intresserad av att kunna veta mer om det, kan du konsultera detaljerna i följande länk.


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för data: AB Internet Networks 2008 SL
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.