Zenbleed, een kwetsbaarheid die AMD Zen 2-processors treft

kwetsbaarheid

Als deze fouten worden misbruikt, kunnen aanvallers ongeoorloofde toegang krijgen tot gevoelige informatie of in het algemeen problemen veroorzaken

Een paar dagen geleden A Onderzoeker van het beveiligingsteam van Google, vrijgegeven het nieuws dat ik bespeur een kwetsbaarheid (reeds vermeld onder CVE-2023-20593) op AMD-processoren gebaseerd op de Zen2-microarchitectuur die kan worden gebruikt om registers te detecteren terwijl andere processen op dezelfde CPU-kern draaien.

Deze kwetsbaarheid wordt sindsdien als belangrijk beschouwd de aanval kan worden uitgevoerd vanaf virtuele machines en geïsoleerde omgevingen. In wezen lijkt het probleem op klassieke "use-after-free"-kwetsbaarheden die worden veroorzaakt door toegang tot geheugen nadat het is vrijgegeven.

Het probleem doet zich voor bij AMD Ryzen 3000, Ryzen PRO 3000, Ryzen Threadripper 3000, Ryzen 4000 met Radeon Graphics, Ryzen PRO 4000, Ryzen 5000 met Radeon Graphics, Ryzen 7020 met Radeon Graphics en serie processors EPYC 7002.

Over de kwetsbaarheid wordt het vermeld omdat in de processors, om de inhoud van de registers op te slaan, een registerbestand (RF, Register File) wordt gebruikt, een arrangement dat wordt gedeeld in alle taken in dezelfde kern van de processor. CPU. De Record Allocation Table (RAT) is verantwoordelijk voor het koppelen van records met specifieke namen aan de logbestandsbronnen. In dit geval wordt de nulwaarde in het register opgeslagen, niet door een lege waarde in het registerbestand op te slaan, maar door de z-bit-vlag in de RAT-tabel in te stellen.

De kwetsbaarheid is te wijten aan het feit dat als de z-bit wordt ingesteld tijdens speculatieve uitvoering van instructies, is het niet voldoende om het simpelweg te resetten in het geval van een slechte vertakkingsvoorspelling, omdat ruimte in het logbestand opnieuw kan worden toegewezen door speculatieve uitvoering.

Het geopenbaarde effect treedt op wanneer een record tegelijkertijd wordt hernoemd, wordt een instructie gebruikt waarop join-optimalisatie wordt toegepast, en speculatief wordt een VZEROUPPER-vectorinstructie uitgevoerd die stelt de z-bit in en maakt bronnen vrij uit het logbestand. Als de vertakkingsvoorspelling mislukt en de speculatieve VZEROUPPER-bewerking wordt teruggedraaid, kan de inhoud van de vectorregisters beschadigd zijn, aangezien de z-bit wordt gerold, maar de vrijgekomen bron blijft ongebruikt.

Door de VZEROUPPER-instructie te manipuleren, is het mogelijk om een ​​gecontroleerde lekkage van verwerkte gegevens in de YMM-vectorregisters te bereiken die worden gebruikt in AVX-modi (Advanced Vector Extensions) en SSE-modi (Streaming SIMD Extensions). Deze registers worden actief gebruikt in de geheugenkopieer- en stringverwerkingsfuncties, bijvoorbeeld in de Glibc-bibliotheek worden ze gebruikt in de memcpy-, strcmp- en strlen-functies.

Om de kwetsbaarheid aan te tonen, codenaam Zenbleed, is een prototype-exploit voorbereid waarmee een onbevoegde gebruiker de gegevens kan bepalen die worden verwerkt in de AES-NI- of REP-MOVS-instructies (meestal gebruikt in de memcpy-functie), die kan worden gebruikt om coderingssleutels en gebruikerswachtwoorden te reconstrueren, verwerkt in andere processen, inclusief bevoorrechte processen. De datalekprestatie van de exploit is ongeveer 30 KB per seconde.

Kwetsbaarheid opgelost in microcode-updateniveau. Voor Linux is een patch voorbereid om de gecorrigeerde microcode te downloaden. Hoewel als het niet mogelijk is om de microcode bij te werken, er een oplossing is om de kwetsbaarheid te blokkeren, wat leidt tot verminderde prestaties.

Hiervoor moet de besturingsbit DE_CFG[9] in de CPU worden geconfigureerd en hiervoor moet in een terminal het volgende commando worden ingevoerd:

Het is vermeldenswaard dat het uitschakelen van de SMT-modus de kwetsbaarheid niet blokkeert en dat de oplossing om de kwetsbaarheid te blokkeren is geïmplementeerd in kernelupdates 6.4.6, 6.1.41, 5.15.122, 5.10.187, 5.4.250 en 4.19.289.

Voor geïnteresseerd in het volgen van informatie over kwetsbaarheden in de verschillende distributies kunnen ze dit doen op de volgende pagina's: DebianUbuntuGentooRHELSUSEFedoraboogOpenBSDFreeBSDNetBSD.

Tot slot, als u geïnteresseerd bent om er meer over te weten, kunt u de details raadplegen in de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.