Patent Document ID: 9576138
Application ID: 14870050

Base Claim:
1. A computer-implemented method for mitigating return-oriented programming (ROP) attacks, the method comprising: receiving, by a computer, program code for execution and associated components needed by the program code for execution; loading, by the computer, the program code and associated components into memory; selecting, by the computer, a predetermined number of executable machine language instruction sequences from the loaded program code and the associated components, wherein each sequence terminates in a return instruction; making, by the computer, multiple non-executable copies of each of the selected machine language instruction sequences; and distributing, by the computer, the selected executable machine language instruction sequences and the multiple non-executable copies in memory; whereby, if the computer sustains an ROP attack and the ROP attack selects a machine language instruction sequence terminating in a return instruction to include in an ROP payload, the likelihood of the ROP attack selecting an executable machine language instruction sequence terminating in a return instruction is diminished.

---

Claim 2:
2. A method in accordance with claim 1 , wherein the predetermined number of executable machine language instruction sequences includes: machine language instruction sequences that are equivalent to a conditional statement “if-then-else . . . return”.