TSA-aanval, leidend tot informatielekken uit de microarchitecturale structuren van AMD CPU's

Het bedrijf AMD heeft informatie vrijgegeven over een nieuwe klasse microarchitecturale aanvallen op zijn processoren — TSA (Transient Scheduler Attack). Deze aanval stelt aanvallers in staat om mechanismen voor CPU-isolatie te omzeilen en gegevens te identificeren die in andere contexten worden verwerkt, bijvoorbeeld om vanuit de gebruikersruimte informatie te verkrijgen die op kernel-niveau wordt verwerkt, of om vanuit een gast systeem gegevens te achterhalen die in een andere gast systeem worden gebruikt.

De kwetsbaarheden zijn ontdekt tijdens de ontwikkeling van een toolkit, gemaakt door onderzoekers van Microsoft en de ETH Zürich, voor het stress-testen van microarchitecturale isolatie tussen verschillende toegangspunten, zoals de kernel, virtuele machines en processen.

De aanvalsmethode is gebaseerd op de afhankelijkheid van de uitvoeringstijd van bepaalde instructies van de staat van de microarchitecturale structuren. Wanneer de processor wacht op een snelle voltooiing van een instructie om gegevens uit het geheugen te lezen (bijvoorbeeld aannemende dat de gegevens in de L1-cache aanwezig zijn), maar niet in staat is om de gegevens succesvol op te halen, ontstaat een toestand van 'valse voltooiing' van de instructie. De processor kan nog voordat deze toestand wordt vastgesteld speculatief andere operaties inplannen die afhankelijk zijn van het resultaat van de laad-instructie uit het geheugen.

Aangezien de laadoperatie niet is voltooid, worden de bijbehorende gegevens door de processor als ongeldig beschouwd, en de laadoperatie wordt later opnieuw uitgevoerd. Afhankelijke operaties worden ook opnieuw uitgevoerd nadat de correcte gegevens beschikbaar zijn. Hierbij gebeurt er geen flush van de pipeline na het uitvoeren van de instructie waarvoor de toestand van 'valse voltooiing' is geregistreerd, waardoor ongeldige gegevens kunnen worden doorgestuurd naar afhankelijke operaties.

Het uitvoeren van dergelijke operaties verandert de staat van de cache en de TLB (Translation Lookaside Buffer) niet, dat wil zeggen, gegevens kunnen niet worden hersteld met behulp van traditionele methoden voor het bepalen van de staat van de cache. Deze gegevens beïnvloeden echter de uitvoeringstijd van andere instructies. De analyse van de uitvoeringstijd kan worden gebruikt als een bron van informatielekken uit microarchitecturale structuren, die overblijven na speculatieve uitvoering van andere operaties.

Afhankelijk van de bron van het extraheren van resterende gegevens zijn er twee kwetsbaarheden geïdentificeerd:

  • CVE-2024-36350 (TSA-SQ — TSA Store Queue) — een bufferoverloop bij het opslaan van schrijfoperaties die het mogelijk maakt om de resultaten van schrijfopdrachten naar het geheugen te bepalen.
  • CVE-2024-36357 (TSA-L1 — TSA L1 Data Cache) — een lek via de L1D-cache.

De kwetsbaarheden komen voor in de AMD-processorfamilie (Fam19h) op basis van de microarchitecturen Zen 3 en Zen 4. Bijvoorbeeld, het probleem is aanwezig in de series CPU AMD Ryzen 5000/6000/7000/8000, AMD EPYC Milan/Milan-X/Genoa/Genoa-X/Bergamo/Siena, AMD Instinct MI300A, AMD Ryzen Threadripper PRO 7000 WX, AMD EPYC Embedded 7003/8004/9004/97X4, AMD Ryzen Embedded 5000/7000/V3000.

De noodzakelijke wijzigingen om de kwetsbaarheid te blokkeren zijn opgenomen in de december-update van de microcode en PI-firmware (Platform Initialization), die zijn doorgegeven aan OEM-fabrikanten. Patches voor bescherming tegen de kwetsbaarheid zijn geleverd voor opname in de Linux-kernel (er is een optie in de kernelopdrachtregel ‘tsa=off’ voor het uitschakelen van de bescherming die negatieve invloed heeft op de prestaties). De correctie is ook toegevoegd aan de Xen-hypervisor. Voor het blokkeren van de kwetsbaarheid zijn zowel de microcode-update als de activering van de beschermingsmodus op kern- of hypervisor-niveau vereist.

Bron: opennet.ru

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers 🔥 Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster