6 ms·
From what I understand of meltdown and spectre, they use a side channel attack to figure out CPU cache values after some speculative execution has been done. Ca
by fareesh 9y ago
From what I understand of meltdown and spectre, they use a side channel attack to figure out CPU cache values after some speculative execution has been done. Can it not be solved by ensuring that the CPU either clears or purposefully does not cache memory that is read during speculative execution?
- rocqua 9y agoI don't think its possible for a CPU to read memory without going through the cache. Moreover, the value of speculative execution drops really hard if you can't use any cache, as it means you are restricted to operating only on registers.
- eecc 9y agomore or less... I'm surprised the CPU doesn't already flush caches after speculative execution branches are abandoned
- plorkyeran 9y agoFlushing the cache after every branch misprediction would probably make branch prediction a net loss in performance.
- eecc 9y agoWell not all caches, just the part tagged with the mispredicted branch
- singingboyo 9y agoBut that'd still be vulnerable. The issue isn't that you can read whatever was in/got brought into cache, the issue is that you can tell which part of the cache got evicted and infer values based on that.