Code randomization for just-in-time compilers
US-9250937-B1 · Feb 2, 2016 · US
US9665717B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9665717-B2 |
| Application number | US-201615263782-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 13, 2016 |
| Priority date | Sep 30, 2015 |
| Publication date | May 30, 2017 |
| Grant date | May 30, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Mitigating return-oriented programming (ROP) attacks. Program code and associated components are received and loaded into memory. From the program code and associated components, a predetermined number of sequences of machine language instructions that terminate in a return instruction are selected. The sequences of machine language instructions include: machine language instruction sequences that are equivalent to a conditional statement “if-then-else return,” sequences of machine language instructions corresponding to known malicious code sequences, and sequences of machine language instructions corresponding to machine language instructions in known toolkits for assembling malicious code sequences. For each selected machine language instruction sequence, memory blocks containing the selected machine language instruction sequence are rearranged using address space layout randomization (ASLR); then, upon expiration of an expected time interval required to locate the selected machine language instruction sequence by inspecting the rearranged memory blocks, the rearranging is repeated, thereby mitigating ROP attacks.
Opening claim text (preview).
What is claimed is: 1. A computer program product for mitigating return-oriented programming (ROP) attacks, the computer product comprising: one or more non-transitory computer-readable storage media and program instructions stored on the one or more non-transitory computer-readable storage media, the program instructions comprising: program instructions to receive program code for execution and associated components needed by the program code for execution; program instructions to load the program code and associated components into memory; program instructions to select a predetermined number of sequences of machine language instructions from the loaded program code and the associated components, wherein each sequence terminates in a return instruction, and wherein the predetermined number of sequences includes: machine language instruction sequences that are equivalent to a conditional statement “if-then-else return”; sequences of machine language instructions corresponding to known malicious code sequences; and sequences of machine language instructions corresponding to machine language instructions in known toolkits for assembling malicious code sequences; and for each selected machine language instruction sequence, program instructions to: rearrange memory blocks containing the selected machine language instruction sequence, using address space layout randomization (ASLR); then wait an expected time interval required to locate the selected machine language instruction sequence by inspecting the rearranged memory blocks; and repeat the rearranging at the expiration of the expected time interval; whereby ROP attacks are mitigated.
Single storage device · CPC title
Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities · CPC title
Management of blocks · CPC title
in relation to content · CPC title
during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow} · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.