Return oriented programming on RISC-V – Part 1 (2022)
bogdandeac.com
bogdandeac.com
It seems like the consensus is this problem (on all architectures) is going to be solved in software, not hardware. Clang has a pretty comprehensive software-only approach already, although it needs porting to each architecture.
Hardware-based shadow stacks and return address signing are already shipping and running on x86-64 and arm64 systems, respectively. Rolling these out required upgrades to compilation and runtime software environments, and there are other software-based CFI techniques that augment these facilities, but it's already clear that hardware primitives are an integral part of the solution.
And it couldn't be otherwise. Between JIT, dynamically loadable modules, and a host of other complexities on real systems, software-only solutions that depend on exhaustive static analysis for robust CFI have little chance of comprehensively closing all the loopholes, especially in the environments that matter most.
Then you just need to find the buffer overflow opportunity to launch your exploit, using (for example) something like KLEE-style symbolic execution after doing an x86 to LLVM IR conversion on an opaque binary, or by getting access to the original (open source) code and running KLEE the normal way.
Then deploy your exploit.
Profit?
Pretty scary stuff.
No mention of bounds checks?
> A successful ROP attack needs the following ingredients:
> buffer overflow vulnerable application
Also, this article is about constructing the program to run using ROP, not about calling it. It’s only the latter that requires an exploit, typically from a buffer overflow.
ARM being one of them.
I agree GP, everything against intel-amd should be supported.
It seems you don't know that, in some countries, it is plain illegal to design a CPU using x86/arm ISAs unless you actually pay some licence fees to intel(x86)/amd(x86_64)/arm.
You have similar toxicity with, mpeg which requires to pay for a license for any decoder/encoder (but not av1), same for hdmi (but not displayport). Limited to some countries (USA at least).
The companies that currently have licenses (AMD and Via) are probably the only ones that will ever get them.
RISC-V is no niche ISA. 10b cores shipped in just 2022, according to CEO's speech in latest RISC-V Summit.
RISC-V is inevitable.