4min Security

Intels Spectre-verdediging tegen datalekken faalt opnieuw

Intels Spectre-verdediging tegen datalekken faalt opnieuw

Onderzoekers van ETH Zürich in Zwitserland vonden een manier om de beveiligingsmaatregelen van Intel tegen Spectre te omzeilen. Spectre is een familie van kwetsbaarheden in de processorarchitectuur van Intel die datalekken mogelijk maakt.

Sandro Rüegge, Johannes Wikner en Kaveh Razavi ontdekten een nieuwe klasse beveiligingsproblemen, die zij Branch Predictor Race Conditions (BPRC) noemen. Ze beschrijven het in een wetenschappelijk artikel dat ze later dit jaar presenteren op de beveiligingsconferenties USENIX Security 2025 en Black Hat USA 2025. Dit meldt The Register.

Spectre verwijst naar hardwarematige kwetsbaarheden in processoren die sinds 2018 bekend zijn. Ze maken misbruik van speculatieve uitvoering, waarbij de processor alvast bepaalde codepaden uitvoert voordat zeker is dat ze nodig zijn. Dit kan ertoe leiden dat gevoelige gegevens, zoals wachtwoorden en encryptiesleutels, uitlekken tussen programma’s. Of zelfs tussen virtuele machines op dezelfde server.

Meerdere versies van Spectre

Er zijn meerdere varianten van Spectre, waaronder Spectre v2. Deze versie stelt een aanvaller in staat om via manipulatie van zogeheten indirecte sprongen geheugen uit te lezen dat normaal afgeschermd is, bijvoorbeeld informatie uit het besturingssysteem of andere programma’s.

Intel nam inmiddels meerdere hardwaremaatregelen om dit soort aanvallen te voorkomen, zoals Indirect Branch Restricted Speculation (eIBRS) en Indirect Branch Predictor Barrier (IBPB). Deze technieken moeten ervoor zorgen dat speculaties binnen hun eigen beveiligingsdomein blijven en niet over grenzen heen lekken.

Toch ontdekten de onderzoekers dat de zogeheten branch predictors – mechanismen die voorspellen welke codepad de processor zal volgen – asynchroon worden bijgewerkt binnen de processor. Daardoor kunnen racecondities ontstaan. Dit zijn situaties waarbij twee processen tegelijk dezelfde informatie proberen aan te passen, wat onvoorspelbaar gedrag kan veroorzaken.

Het blijkt dat bij een overstap van gebruikersmodus naar kernelmodus, terwijl de voorspellingen nog worden bijgewerkt, foutieve koppelingen kunnen ontstaan. De onderzoekers noemen deze nieuwe aanvalsvector Branch Privilege Injection (BPI). Hiermee kan ongeprivilegieerde code voorspellingen invoegen die als kernel-niveau worden beschouwd. Dit ondermijnt het oorspronkelijke beveiligingsdoel van eIBRS.

Volgens Kaveh Razavi maakt BPI het mogelijk om alsnog een klassieke Spectre v2-aanval uit te voeren. Dit, ondanks de aanwezigheid van beveiligingsmaatregelen zoals eIBRS. Hiermee kunnen gegevens over beveiligingsgrenzen heen uitlekken.

Meerdere aanvalsscenario’s

Hij gaf aan dat er meerdere aanvalsscenario’s denkbaar zijn. Zo zou een aanvaller in een cloudomgeving via een virtuele machine gegevens kunnen lekken van de hypervisor, of zelfs van andere virtuele machines van andere klanten. In de proof-of-concept demonstreerden ze echter vooral een aanval waarbij een gewoon gebruikersproces informatie weet te bemachtigen uit het besturingssysteem.

Met BPI kan een aanvaller vanuit gebruikersmodus voorspellingen injecteren die onterecht als kernelmodus worden gezien. Daarna kan een Spectre v2-aanval worden uitgevoerd om toegang te krijgen tot gevoelige gegevens in het geheugen.

Intel heeft inmiddels een microcode-update uitgebracht die deze kwetsbaarheid, aangeduid als CVE-2024-45332, verhelpt. De fout wordt door Intel omschreven als Indirect Branch Predictor Delayed Updates. Volgens de onderzoekers zijn alle Intel x86-processoren vanaf de 9e generatie (Coffee Lake Refresh) kwetsbaar, en mogelijk zelfs modellen vanaf de 7e generatie (Kaby Lake).

Intel bedankte ETH Zürich voor hun onderzoek en samenwerking rond de gecoördineerde bekendmaking. Het bedrijf zegt de hardwaremaatregelen tegen Spectre v2 verder te verbeteren en raadt gebruikers aan contact op te nemen met hun systeemfabrikant voor updates. Tot nu toe is er volgens Intel geen bewijs dat deze kwetsbaarheid actief wordt misbruikt in de praktijk.

Prestatieverlies na update

Intel stelt dat prestatietests uitwijzen dat de prestaties na de update binnen normale variatiemarges blijven. De onderzoekers noemen echter specifieke cijfers. Op een Alder Lake-systeem zou de microcode-update tot 2,7 procent prestatieverlies veroorzaken. Alternatieve softwarematige oplossingen liepen uiteen van 1,6 procent verlies (op Coffee Lake Refresh) tot 8,3 procent (op Rocket Lake).

Hoewel de aanval werd getest op Linux, zouden ook andere besturingssystemen kwetsbaar kunnen zijn op getroffen Intel-processors. Processoren van AMD en ARM lijken niet vatbaar voor deze specifieke aanval.

Razavi gaf aan dat we voorlopig nog niet van Spectre-achtige problemen af zijn. Zolang processors op basis van speculatieve uitvoering worden ontworpen voor maximale prestaties, blijven dergelijke kwetsbaarheden een risico. Hij merkte wel op dat chipfabrikanten inmiddels beter op de hoogte zijn van deze risico’s en voorzichtiger zijn met nieuwe ontwerpen. Daarnaast wordt er vooruitgang geboekt in het ontwikkelen van hulpmiddelen om deze problemen eerder te detecteren, nog voordat chips fysiek worden geproduceerd. Volgens hem is er dus hoop op verbetering, al zijn we er nog niet.