Mitigating ROP attacks

US9665710B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9665710-B2
Application numberUS-201615264672-A
CountryUS
Kind codeB2
Filing dateSep 14, 2016
Priority dateSep 30, 2015
Publication dateMay 30, 2017
Grant dateMay 30, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Mitigating return-oriented programming 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.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer system for mitigating return-oriented programming (ROP) attacks, the computer system comprising: one or more computer processors, one or more non-transitory computer-readable storage media, and program instructions stored on one or more of the non-transitory computer-readable storage media for execution by at least one of the one or more processors, 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.

Assignees

Inventors

Classifications

  • G06F21/54Primary

    by adding security routines or objects to programs · CPC title

  • Configuration or reconfiguration · CPC title

  • Security improvement · CPC title

  • G06F21/52Primary

    during program execution, e.g. stack integrity {; Preventing unwanted data erasure; Buffer overflow} · CPC title

  • in relation to content · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9665710B2 cover?
Mitigating return-oriented programming 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 ar…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F21/54. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 30 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).