In this paper, we focus only on software-based techniques for existing hardware.
The research community has also proposed several hardware-based
Spectre defenses based on cache partitioning [1]}, cleaning up
the cache state after misprediction [2]}, or
making the cache invisible to speculation by incorporating some separate internal
state [3]}, [4]}, [5]}.
Unfortunately, attackers can still use side channels other than the cache
to exploit speculative execution [6]}, [7]}.
NDA [8]} and Speculative Taint Tracking
(STT) [9]} block additional speculative covert channels
by analyzing and classifying instructions that can leak information.
