Mitigating rop attacks

US2017091449A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017091449-A1
Application numberUS-201615132739-A
CountryUS
Kind codeA1
Filing dateApr 19, 2016
Priority dateSep 30, 2015
Publication dateMar 30, 2017
Grant date

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. From program code and associated components needed by the program code for execution, machine language instruction sequences that may be combined and executed as malicious code are selected. A predetermined number of additional copies of each of the selected machine language instruction sequences are made, and the additional copies are marked as non-executable. The machine language instruction sequences and the non-executable copies are distributed in memory. If a process attempts to execute a machine language instruction sequence that has been marked non-executable, the computer may initiate protective action.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method for return-oriented programming (ROP) mitigation, 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 sequences of machine language instructions from the loaded program code and/or the associated components, which terminate in a return instruction, by performing one or more of: identifying a predetermined number of machine language instruction sequences that are equivalent to a conditional statement “if-then-else . . . return” and extracting the code in the else clause, including the return instruction; selecting sequences of machine language instructions corresponding to machine language instructions in known malicious code sequences and/or in known toolkits for assembling malicious code sequences; for each selected machine language instruction sequence: rearranging, by the computer, memory blocks containing the selected machine language instruction sequence, using address space layout randomization (ASLR); estimating, by the computer, an expected time required to locate the selected machine language instruction sequence by inspecting the rearranged memory blocks; and repeating the rearranging at the expiration of the expected time.

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • G06F21/55Primary

    Detecting local intrusion or implementing counter-measures · CPC title

  • G06F21/52Primary

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

  • Machine learning · CPC title

  • Protecting data · 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 US2017091449A1 cover?
Mitigating return-oriented programming attacks. From program code and associated components needed by the program code for execution, machine language instruction sequences that may be combined and executed as malicious code are selected. A predetermined number of additional copies of each of the selected machine language instruction sequences are made, and the additional copies are marked as n…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification G06F21/55. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Mar 30 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).