Drie onderzoekers op gebied van computerveiligheid, allen afkomstig van de Vrije Universiteit Amsterdam (VU), hebben een ernstige kwetsbaarheid in bepaalde cpu’s van AMD gevonden. Aanvallers kunnen ervoor zorgen dat betrokken processors bepaalde opdrachten uitvoeren waardoor gevoelige informatie weglekt.
Het researchteam, dat inmiddels is verhuisd naar ETH Zürich, heeft AMD vroegtijdig gewaarschuwd om de chipfabrikant genoeg tijd te geven voor een beveiligingspatch. Master student Daniël Trujillo ontdekte dat alle moderne chips van AMD die zijn gebaseerd op de Zen-architectuur, kwetsbaar blijven. Zelfs met nieuwe veiligheidsmaatregelen lukte het hem een aanval te lanceren.
Zijn methode komt er simpel gezegd op neer dat de aanvaller heimelijk een verkeerd ‘idee’ in de computer plant zonder dat de processor dit door heeft. Hierdoor wordt het mogelijk data af te tappen uit het hele geheugen van de computer waar die zich ook bevinden.
Volgende stap
Trujillo presenteert het onderzoek deze week tijdens de conferentie Usenix Security in Anaheim (Californië). Hij doet dat samen met zijn hoogleraar Kaveh Razavi, voormalig assistent-professor aan de VU, en promovendus Johannes Wikner, voormalig postdoctoraal onderzoeker in Amsterdam, aan de hand van een paper (pdf).
Wikner legt uit dat de kern van de zaak bij deze aanvallen vrij eenvoudig is. De cpu van een computer moet continu raden wat de meest waarschijnlijke volgende stap is. Met die gissingen kun je echter knoeien. Toch zijn deze aannames wel nodig. Tijdens de uitvoering van een programma, zoals een game, moet de computer honderden miljoenen beslissingen per seconde nemen.
In verreweg de meeste gevallen heeft de cpu het bij het rechte eind en bespaart zo veel kostbare rekentijd. Af en toe maakt de processor echter een verkeerde gok. Een dergelijke verkeerde voorspelling kan door een aanvaller worden uitgebuit om toegang te krijgen tot gevoelige informatie.
Inception
Trujillo verduidelijkt: ‘We konden de cpu’s van AMD laten geloven dat ze bepaalde instructies eerder hadden gezien, terwijl dat in werkelijkheid nooit was gebeurd.’ Net als in Christopher Nolands film Inception kon het onderzoeksteam een idee in de cpu planten terwijl die in zekere zin aan het dromen was. In deze rolprent plant Leonardo DiCaprio verkeerde ideeën in het hoofd van een slachtoffer als deze aan het dromen is. Terwijl het delen van dromen en het planten van dergelijke ideeën in werkelijkheid onmogelijk is, kan dit wel met computers.
De onderzoekers noemen deze aanvalsmethode dan ook Inception. Inception heeft geen invloed op andere cpu’s dan die van AMD, stelt Trujillo. Toch blijkt uit zijn analyse dat ook Intel-cpu’s kwetsbaar zijn voor bepaalde verwante varianten. Hoewel dit zeker het bekende aanvalsoppervlak van voorbijgaande uitvoeringsaanvallen vergroot, valt echter nog te bezien of praktische exploitatie mogelijk is op Intel cpu’s.
Training in Transient Execution
Inception maakt gebruik van Training in Transient Execution (TTE) om kwaadaardige vertakkingsvoorspellingsdoelen toe te voegen aan de vertakkingsvoorspelling. Met de Phantom-aanvalsmethode kunnen tijdelijke vensters worden geactiveerd vanuit willekeurige instructies. Hierdoor wordt TTE vergemakkelijkt en zijn Inception-aanvallen mogelijk.
Phantom treft ook cpu’s van Intel. Zogenaamde eIBRS-mitigatie maakt Phantom-exploitatie echter niet triviaal op Intel cpu’s. De onderzoekers presenteren later dit jaar tijdens het congres Micro 2023 een paper over deze zogenoemde Phantom-speculatie. Ze adviseren als oplossing altijd de laatste versie van het besturingssysteem te installeren.
Reactie van AMD
In een reactie bevestigt AMD de ontvangst van een extern rapport met de titel ‘Inception’, waarin een nieuwe ‘speculatieve zijkanaalaanval’ wordt beschreven. Het bedrijf meent dat ‘Inception’ alleen lokaal kan worden misbruikt, bijvoorbeeld via gedownloade malware, en raadt klanten aan best practices op het gebied van beveiliging toe te passen, waaronder het gebruik van up-to-date software en malwaredetectietools. AMD is op dit moment niet op de hoogte van enig misbruik van ‘Inception’ buiten de onderzoeksomgeving.
De processorfabrikant raadt klanten aan een µcode-patch of bios-update toe te passen, zoals van toepassing voor producten op basis van ‘Zen 3’ en ‘Zen 4’ cpu-architecturen. Voor lagere, verouderde versies is geen patch of bios-update nodig.
AMD is van plan bijgewerkte AGESA-versies vrij te geven aan OEM’s, ODM’s en moederbordfabrikanten die worden vermeld in het AMD-beveiligingsbulletin. Aangeraden wordt deze fabrikanten te raadplegen voor een specifieke bios-update.
Ook ARM heeft inmiddels gereageerd op het Inception-onderzoek van Trujillo, Razavi en Wikner.