For a speculative attack, 3 conditions are needed
- a cache for holding the dependent load
- a timer with sufficient resolution
- some branches that the hw can speculate over
- If we disable out-of-order execution the problem goes away but we pay a 5-20x slowdown tax
- Remove caches: 50-100x slowdown
- victim makes a load/store