De zogeheten Inception-kwetsbaarheid laat Zen-chips ‘dromen’, volgens de Nederlandse masterstudent Daniël Trujillo (24) aan het Zwitserse ETH Zürich. Hackers kunnen de fout exploiteren om een gecompromitteerd systeem op een nieuwe manier data te laten lekken. Het gaat om alle producten met een Zen-architectuur, van Ryzen-CPU’s voor consumenten vanaf 2020 tot de nieuwste Epyc-serverchips.
AMD is vooraf al geïnformeerd en heeft patches uitgebracht om de kwetsbaarheid in de Zen-architectuur te dichten. Echter zullen er wellicht honderdduizenden pc’s blijven die nooit deze updates ontvangen, omdat gebruikers zelden een BIOS-flash zullen uitvoeren. De Volkskrant sprak met Trujillo en zijn collega’s, die uitlegden dat de kwetsbaarheid een execution window openlaten waarmee aanvallers veel kanten op kunnen.
Langzaam, maar gevaarlijk
De Inception-kwetsbaarheid heeft bij de Amerikaanse security-database NIST de naam CVE-2023-20569 gekregen. Moderne CPU’s zijn afhankelijk van ‘speculative execution’, waardoor taken voorspeld worden en alvast berekend zijn door een van de cores. Als die actie vervolgens daadwerkelijk plaatsvindt, kan het een stuk sneller worden uitgevoerd dan anders het geval was geweest.
De kwetsbaarheid is dus gevaarlijk, maar alleen als een systeem al met een indringer te maken heeft. Dan kan de kwaadwillende programmeercode injecteren om data te verzenden. De CPU ‘denkt’ dan via een simpele instructie dat het een recursieve functie heeft en lekt vervolgens data via de prediction pipeline. Het zou gaan om een aantal bits per seconde, dus data-extractie gaat niet erg vlot.
AMD aan het woord
Zelf geeft AMD aan dat de kwetsbaarheid het predikaat “Medium” verdient. De chipproducent constateert dat Inception erg lijkt op Spectre, dat een aantal jaar geleden wereldwijd bekend werd als AMD-gevaar van formaat. Er is geen actieve exploitatie bekend in de echte wereld.
Producten met een Zen 3- en Zen 4-architectuur hebben al een BIOS-update beschikbaar. Voor oudere chips, zoals de eerste twee Ryzen-series (1000 en 3000), zou er al een beschermingslaag zijn toegepast op de branch predictor. Voor Zen 2 kwam onlangs de zogeheten Zenbleed-bug aan het licht.