Hardwarebeveiliging
Welke uitspraak over het principe van de speculatieve-uitvoeringskwetsbaarheid Spectre is juist?
- ADoor een rekenfout van de CPU verandert het resultaat van een optelling
- BOok als het resultaat van instructies die volgens de sprongvoorspelling speculatief zijn uitgevoerd wordt ingetrokken, blijft een spoor van wat in de cache is geladen, en dat is door tijdmeting uit te lezen
- CDoor speculatieve uitvoering wordt de CPU te warm
Antwoord en toelichting tonen
Antwoord: B. Ook als het resultaat van instructies die volgens de sprongvoorspelling speculatief zijn uitgevoerd wordt ingetrokken, blijft een spoor van wat in de cache is geladen, en dat is door tijdmeting uit te lezen
Een CPU voert vóór bekend is wat de sprong uitkomt de instructies aan de voorspelde kant vooruit uit en gooit de resultaten weg als de voorspelling onjuist blijkt. Bij Spectre zorgt een aanvaller dat de sprongvoorspelling fout gaat, waardoor geheime data wordt gelezen op een pad dat eigenlijk niet zou worden uitgevoerd en de plaats die bij die waarde hoort in de cache wordt geladen. Hoewel het resultaat wordt ingetrokken, wordt de toestand van de cache niet hersteld, zodat de waarde via een side-channel van de cache kan worden afgeleid.