ROP is a super ingenious (and scary) attack. If you’re looking to read more into it, check out this paper about automating the process of “blindly” finding ROP gadgets over the network to hijack control flow on a remote machine: http://www.scs.stanford.edu/brop/bittau-brop.pdf
Return-oriented programming (ROP) is a computer security exploit technique that allows an attacker to execute code in the presence of security defenses such as executable space protection and code signing.
ROP is a super ingenious (and scary) attack. If you’re looking to read more into it, check out this paper about automating the process of “blindly” finding ROP gadgets over the network to hijack control flow on a remote machine: http://www.scs.stanford.edu/brop/bittau-brop.pdf
Wikipedia on ROP: https://en.wikipedia.org/wiki/Return-oriented_programming
Can we at least start by moving away from producing new memory unsafe code?
ok, what about Rust?
I found this while trying to find more info: http://cs242.stanford.edu/assets/projects/2017/songyang.pdf
“of unsafe Rust”
Using Rust in unsafe mode (protections disabled) can lead to attacks on code like in unsafe languages like C. A well-known, avoidable problem.