WCU / Cybersecurity
~/CSC 472/Class 07/KP 14
Class 07 · KP 14 / 18

ROP Is Turing-Complete; Its Cousins JOP and COP

  • With enough gadgets you have load/store, arithmetic, and conditional control flow: ROP is Turing-complete. You can, in principle, compute anything without injecting a single instruction.
  • Variants that dodge ret-based defenses:
  • JOP (Jump-Oriented Programming): gadgets end in jmp reg; a "dispatcher" gadget sequences them.
  • COP (Call-Oriented Programming): gadgets end in call reg.
  • These exist because some defenses specifically watch ret (e.g. shadow stacks) — attackers adapt by not using it.