<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sat, Jan 6, 2018 at 3:28 PM, Ray Dillinger <span dir="ltr"><<a href="mailto:bear@sonic.net" target="_blank">bear@sonic.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">If the real impact of this class of attack is as it seems, "we need to<br>
fundamentally redesign our CPUs", then the obvious question is "what is<br>
the best way to achieve the desired result within the now<br>
better-understood design space?"</blockquote><div><br></div><div>This entire line of enquiry is literally why RISC-V exists. The RISC-V foundation just said as much (after announcing no RISC-V CPUs were vulnerable to Meltdown/Spectre):</div><div><br></div><div><a href="https://riscv.org/2018/01/more-secure-world-risc-v-isa/">https://riscv.org/2018/01/more-secure-world-risc-v-isa/</a></div><div><br></div>"The RISC-V community has an historic opportunity to 'do security right' from the get-go with the benefit of up-to-date knowledge. In particular, the open RISC-V ISA makes it possible for many different groups to experiment with alternative mitigation techniques and share results."</div><div><br></div><div>Clearly the exact solution to Meltdown/Spectre is still an open research problem, but as it turns out researchers designing RISC-V cores were just starting to look at things like speculative execution, and are greenfielding in 20/20 hindsight of these vulnerabilities.</div><div><br></div><div>What might it look like in broad strokes? RISC-V cores are already built on an every-word-tagged memory architecture which carries rich attributes with every word of memory in the system. This has already been useful for things like control flow enforcement, but would also enable things like ensuring (as a guarantee, enforced by the circuit design of the CPU itself) speculation stops at protection boundaries.</div><div><br></div>-- <br><div class="gmail_signature">Tony Arcieri<br></div>
</div></div>