IBM en de universiteit van Amsterdam ontdekten een nieuwe bug in speculatieve uitvoering in processors: GhostRace. Net als andere varianten bedreigt deze bug een hele categorie van CPU’s en is een oplossing niet vanzelfsprekend.
Onderzoekers van de Vrije Universiteit Amsterdam en IBM ontdekten een nieuwe bug in moderne CPU-architectuur. Ze doopten het lek GhostRace. Zoals die naam suggereert, behoort de bug tot dezelfde categorie als Spectre. Net als Spectre (en Meltdown) heeft GhostRace betrekking op zogenaamde speculatieve uitvoering.
In dit geval buit GhostRace een gebrek aan synchronisatie in speculatieve uitvoering, waardoor race-condities ontstaan. Concreet kan een malafide instructie ‘racen’ met een legitieme om zo aan een gedeelde bron te raken die normaliter onbeschikbaar zou zijn. Een aanvaller kan die mogelijkheid gebruiken om bijvoorbeeld vertrouwelijke informatie uit het systeemgeheugen buit te maken.
Speculatieve uitvoering
GhostRace maakt misbruik van speculatieve uitvoering. In een eerder stuk legden we in detail uit wat dat precies is, en waarom die speculatieve uitvoering tot gevaarlijke bugs blijft leiden. Samengevat gaat het om een techniek waarbij een CPU instructies voorwaardelijk uitvoert in afwachting van het resultaat van een eerdere instructie, om zo hopelijk een voorsprong op te bouwen. Moderne CPU’s kunnen best goed gokken wat het resultaat van instructie A zal zijn, zodat er een correcte instructie B preventief inladen. Op die manier zit een CPU nooit stil. De techniek is grotendeels verantwoordelijk voor de snelheid van moderne CPU’s. Helaas lijkt het er dus op dat die speculatieve uitvoering van instructies onvoldoende beveiligd is.
Speculatieve uitvoering zit ingebakken in alle moderne CPU-architecturen. Zowel x86-processors van Intel en AMD als ARM-CPU’s van bijvoorbeeld Apple maken er gebruik van. GhostRace treft al die systemen.
Geen handige oplossing
Voor de onthulling van de bug hebben de onderzoekers belangrijke hard- en softwarespelers verwittigd. Er zijn echter geen duidelijke oplossingen. Het probleem van Spectre-achtige bugs zoals deze is dat de oplossing soms een grotere impact heeft dan de bug. Speculatieve uitvoering zit hardwarematig ingebakken in processors. Alle pogingen om met software of firmware GhostRace te mitigeren, halen de prestaties van de CPU voelbaar naar omlaag.