Spectre Attacks: Exploiting Speculative Execution