Hardwarebeveiliging
Waarom lekt bij aanvallen zoals Spectre informatie, ook als het resultaat van speculatief uitgevoerde instructies wordt ingetrokken?
- AOmdat het intrekken mislukt en de geheime waarde in de registers achterblijft
- BOmdat het resultaat van speculatieve uitvoering op schijf wordt opgeslagen
- COmdat alleen de architecturale toestand zoals registers wordt ingetrokken en de microarchitecturale toestand zoals de cache niet wordt hersteld
Antwoord en toelichting tonen
Antwoord: C. Omdat alleen de architecturale toestand zoals registers wordt ingetrokken en de microarchitecturale toestand zoals de cache niet wordt hersteld
Een CPU is zo gemaakt dat de toestand die vanuit het programma zichtbaar is (inhoud van registers en geheugen) volledig wordt hersteld als een voorspelling onjuist blijkt. De microarchitecturale toestand, zoals de inhoud van de cache en de toestand van de sprongvoorspeller, is echter een interne toestand ten behoeve van prestaties en wordt niet hersteld. De kern van dit soort kwetsbaarheden is dat ook als de afspraken van de ISA worden nagekomen, de interne toestand van buitenaf zichtbaar wordt als tijdsverschil.