2018

Spectre Attacks: Exploiting Speculative Execution

Kocher, Paul, Genkin, Daniel, Gruss, Daniel et al.

Understand

Modern processors use branch prediction and speculative execution to maximize performance.

  • For example, if the destination of a branch depends on a memory value that is in the process of being read, CPUs will try guess the destination and attempt to execute ahead.
  • When the memory value finally arrives, the CPU either discards or commits the speculative computation.
  • Speculative logic is unfaithful in how it executes, can access to the victim's memory and registers, and can perform operations with measurable side effects.

Reading the bibliography…