Looking for breakthrough ideas for innovation challenges? Try Patsnap Eureka!

Method of securing memory against malicious attack

A technology of memory and dynamic memory, which is applied in the direction of memory system, internal/peripheral computer component protection, instruments, etc., and can solve problems such as not supporting dynamic allocation of memory for higher protection, vulnerable to reverse engineering, performance is not safe, etc.

Inactive Publication Date: 2014-05-28
IRDETO ACCESS
View PDF17 Cites 0 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

It's normally completely invisible to the user, at least from a heap API perspective, but it's often vulnerable to reverse engineering because the goal is usually performance rather than security
More advanced protections for dynamically allocated memory such as checksums, encryption, non-contiguous allocation, etc. are not supported at all

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
  • Method of securing memory against malicious attack
  • Method of securing memory against malicious attack
  • Method of securing memory against malicious attack

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0017] Generally, this disclosure describes a method and system for secure dynamic memory management. Embodiments are described with respect to a C / C++ implementation, but are not intended to be limited to such implementations, and the methods described herein may be used with respect to any dynamic memory management system that uses heap memory or similar dynamic memory allocation. According to certain embodiments, the secure heap of the present disclosure is capable of safely implementing functions of those parts of the C / C++ stdlib library related to dynamic memory management, specifically malloc(), free(), and variants thereof.

[0018] Broadly speaking, the secure heap implementation supports two types of memory allocation pointers: "smooth" and "handle" pointers. A "smooth" pointer is a standard memory address that points to a piece of memory of the requested size. A "smooth" pointer can be dereferenced directly by the calling application. A "handle" pointer is not a s...

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 and system for secure dynamic memory management using heap memory, or analogous dynamic memory allocation includes initializing a heap memory segment, having a plurality of buffers, within a random access memory. When an allocation request to store data in the heap memory segment is received, one of the buffers is randomly selected. Metadata, containing details of allocated and unallocated buffers of the heap memory segment, is then maintained in a portion of the memory separate from the heap object. According to certain embodiments, the secure heap of the present disclosure can securely implement the functions of those portions of the C / C++ stdlib library related to dynamic memory management, specifically malloc ( ), free ( ) and their variants.

Description

technical field [0001] The present disclosure is directed to methods and systems for protecting software from malicious attacks. In particular, the present disclosure is directed to a method and system for preventing dynamic allocation of storage by applications. Background technique [0002] A software application consists of data and code that manipulates this data in order to process inputs to the application and produce some output. The data is used to track the internal state of the application during its execution. Certain data has constant values, which are usually embedded in the application's code. Data with variable values ​​is generally stored in random access memory. [0003] Certain variables may be assigned to memory locations during compile time. However, most of the data depends on the application's execution flow, so the required memory resources need to be allocated dynamically. An example is parameter exchange between function (procedure) calls. Thes...

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): G06F21/52
CPCG06F21/52G06F21/78G06F9/5016G06F12/023G06F12/1408
Inventor G.S.古德斯
Owner IRDETO ACCESS
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Patsnap Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Patsnap Eureka Blog
Learn More
PatSnap group products