Hardware Security
Why does information still leak in attacks like Spectre even though speculatively executed instructions are rolled back?
- AThe rollback fails and secret values remain in registers
- BSpeculative results are saved to disk
- COnly architectural state such as registers is rolled back; microarchitectural state such as caches is not restored
Show answer and explanation
Answer: C. Only architectural state such as registers is rolled back; microarchitectural state such as caches is not restored
CPUs are designed to fully restore program-visible state (registers and memory contents) on a misprediction. But microarchitectural state, such as cache contents and branch predictor state, is internal performance state and is not restored. The ISA contract is honored, yet internal state becomes visible from outside as timing differences; that is the essence of this class of vulnerability.
- A. Registers are correctly restored.
- B. Nothing is saved to disk.
- C. Correct. Only state visible through the ISA is restored.