Spectre jaagt AMD de stuipen op het lijf met nieuwe incarnatie

Spectre jaagt AMD de stuipen op het lijf met nieuwe incarnatie

Onderzoekers hebben een nieuwe variant van de Spectre-bug ontdekt. Deze keer zijn vooral Zen-gebaseerde processors van AMD kwetsbaar voor aanvallen die de muur tussen gevirtualiseerde omgevingen kunnen slopen.

Onderzoekers van de ETH-universiteit in Zurich hebben een nieuwe variant van de venijnige Spectre-kwetsbaarheid gevonden die vooral AMD-chips treft. De Spectre-gebaseerde aanval laat criminelen toe om vanuit een gevirtualiseerde omgeving toch data te stelen van de host-machine. Dat is gevaarlijk in de context van de cloud, waar verschillende klanten naast elkaar virtuele machines gebruiken op één host-server. De scheiding tussen die omgevingen onderling, en de bovenliggende hypervisor, is essentieel voor de veiligheid van die aanpak.

Net die scheiding wordt bedreigd door de bug, die de onderzoekers VMscape doopten. Ze toonden aan hoe ze met hun aanval vanuit een gevirtualiseerde omgeving toch data van de Zen 4 host-server konden stelen. Ze maakten zo een encryptiesleutel buit. Het valt op dat het voor deze bug niet nodig is voor de aanvaller om ergens code aan te passen. Dat maakt VMscape meer praktisch uitvoerbaar dan andere varianten.

Spectre en speculatieve uitvoering

Alle Spectre-bugs zijn gebaseerd op hetzelfde principe: misbruik van zogenaamde speculatieve uitvoering. Dat is een techniek waarbij moderne processors voorspellen welke instructie zal volgen op een instructie die ze nog niet helemaal uitgevoerd hebben. Dat voorspellen lukt met hoge precisie. De techniek is mee verantwoordelijk voor de hoge prestaties van processors vandaag.

Spectre-bugs slagen er in om via voorwaardelijke instructies, binnengeslopen via de voorspellingsmechanismen, stiekem stukjes van het geheugen te lezen waartoe ze eigenlijk geen toegang mogen hebben. Zo is het mogelijk om langzaam maar zeker geheimen uit het beveiligde processor-geheugen te lekken.

lees ook

De vloek van Spectre: waarom blijft het AMD en Intel achtervolgen?

Speculatieve uitvoering zit hardwarematig ingebakken in de architectuur van moderne CPU’s. Een bug kan een fabrikant dus niet zomaar plattrappen met een firmware-update. De enige manier om CPU’s te beveiligen tegen nieuwe Spectre-kwetsbaarheden, is via mitigatie. In de praktijk kan een firmware-patch misbruik voorkomen, maar betalen gebruikers een prijs in de vorm van minder efficiënte speculatieve uitvoering, wat resulteert in een prestatiedip.

Moeilijk op te lossen

Spectre gaat al sinds 2018 mee. CPU-fabrikanten zoals Intel en AMD proberen wel om speculatieve uitvoering veilig te integreren in nieuwe CPU’s, maar ETH Zurich toont nu aan dat dat nog steeds niet helemaal gelukt is. In het geval van AMD zijn alle chips gebaseerd op Zen 1 tot en met Zen 5 kwetsbaar. Het gaat daarbij dus ook om de Epyc-chips, die populair zijn in de cloud.

Voor VMscape lijkt de impact gelukkig niet dramatisch. Een update in de Linux-kernel mitigeert de bug met een beperkte impact op de prestaties. De onderzoekers zelf zagen na de patch een overhead van ongeveer één procent.

Niet alleen AMD is getroffen door de bug. Ook Intel Coffee Lake-processors zijn kwetsbaar. Coffee Lake dateert echter van 2017, zodat het probleem in de praktijk niet zo groot is.