Dynamic execution prevention to inhibit return-oriented programming

A technology of execution time and execution state, applied in the direction of preventing unauthorized use of memory, maintaining platform integrity, etc.

Active Publication Date: 2014-09-17
QUALCOMM INC
View PDF9 Cites 2 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

This type of attack is successful because code and data addresses are predictable in most systems

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Dynamic execution prevention to inhibit return-oriented programming
  • Dynamic execution prevention to inhibit return-oriented programming
  • Dynamic execution prevention to inhibit return-oriented programming

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0030] In the following description, reference is made to the accompanying drawings, in which are shown, by way of illustration, specific embodiments in which the invention may be practiced. The embodiments are intended to describe aspects of the invention in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and changes may be made to the disclosed embodiments without departing from the scope of the invention. The following detailed description should not be taken in a limiting sense, and the scope of the invention is defined only by the appended claims.

[0031] The term "data" is used interchangeably herein to refer to computing instructions usable by a processor and data manipulable by the processor. The context in which the term "data" is used should be such that it is obvious when "data" refers to instructions. Instructions may be specifically referred to as instructions or instruction data, where appropria...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

A method, apparatus, and/or system for execution prevention is provided. A state indicator for a first subset of a plurality of memory pages of executable code in a memory device is set to a non-executable state. A state indicator for a second subset of the plurality of memory pages is set to an executable state, where the second subset of the plurality of memory pages includes indirection stubs to functions in the first subset of the plurality of memory pages. Upon execution of an application, a function call is directed to a corresponding indirection stub in the second subset of the plurality of memory pages which modifies the state indicator for a corresponding function in the first subset of the plurality of memory pages prior to directing execution of the called function from the first subset of the plurality of memory pages.

Description

technical field [0001] One feature relates generally to inhibiting the operation of malicious code in a software system, and more specifically to implementing execution prevention and marking memory pages as non-executable by default in order to reduce the number of instructions available for return-directed programming development in a software system Methods and Apparatus. Background technique [0002] Computing systems that execute software are experiencing an increasing number of attacks. These attacks often insert malicious code into a computing system and then cause the computing system to execute the malicious code in a manner. Malicious code can perform many different actions, such as causing a computing system to run slower than normal, monitoring activity on a computing system, causing a computing system to transmit or receive information that a user may not intend to transmit, destroying data in persistent and non-persistent memory, and crash the computing syste...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
Patent Type & Authority Applications(China)
IPC IPC(8): G06F12/14G06F21/54
CPCG06F21/54
Inventor 阿伦·巴拉克里沙南亚历山大·甘特曼葛仁伟丹尼尔·科马罗米毛忆念阿南德·帕拉尼古德布莱恩·M·罗森贝格
Owner QUALCOMM INC
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products