Decoy Memory Allocation for Unexpected Behavior Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Detecting unexpected behavior, such as malicious attacks or software bugs, in computer systems is challenging due to the difficulty in distinguishing between intended and unintended memory operations, particularly when attackers or non-malicious processes issue read/write operations to memory segments not allocated to them.

Innovation Solution

Implementing decoy memory allocation techniques where decoy memory segments are allocated in addition to actual memory segments, allowing the system to detect any impact on these decoy segments, which can indicate malicious or non-malicious behavior, and enabling/disabling this scheme based on security configurations to monitor or mitigate attacks without shutting down the system.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If decoy memory segments are allocated to detect unexpected behavior, then detection capability is improved, but memory utilization efficiency deteriorates

Engineering Contradiction:
Improvedetection capabilityVSAvoidmemory utilization efficiency
Core Design Contradiction:
Difficulty of detecting and measuringVSQuantity of substance

Solution Approach 1:

The memory space is segmented into actual memory segments allocated to processes and decoy memory segments reserved for detection. This segmentation allows the system to distinguish between legitimate memory usage and potential attacks by monitoring the decoy segments, thereby improving detection capability while maintaining clear memory management boundaries.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Decoy memory segments are created as copies or replicas of actual memory segments. These decoy segments mirror the structure and accessibility of real memory segments, allowing attackers to interact with them in the same way, thus enabling detection of unexpected behavior without disrupting normal memory operations.

Inventive Principle:
Principle #26Copying

2Reliability

If decoy memory allocation is enabled continuously, then detection coverage is improved, but system performance and memory availability deteriorate

Engineering Contradiction:
Improvedetection coverageVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The decoy memory allocation scheme is made dynamic rather than static. The system can enable or disable decoy memory allocation based on current security threats and system conditions. When active, it provides comprehensive detection coverage; when inactive, it maximizes memory availability and system performance, thus adapting to changing requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of decoy memory allocation status between enabled and disabled states. This parameter change allows the system to adjust its detection coverage according to security configurations and operational needs, balancing detection capability with system performance and memory availability.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If decoy memory segments are used to detect attacks, then security monitoring is improved, but memory allocation complexity increases

Engineering Contradiction:
Improvesecurity monitoringVSAvoidmemory allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The decoy memory allocation mechanism is merged with the existing memory management system. The memory manager integrates decoy segment allocation into its normal operations, handling decoy segments alongside actual memory segments using the same allocation and management mechanisms, thus avoiding the need for separate complex management systems.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The memory manager acts as an intermediary between the decoy memory allocation scheme and the rest of the system. It mediates the allocation, tracking, and management of decoy segments, abstracting the complexity from individual processes and applications while maintaining simple interfaces for memory allocation and detection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11816217B2Decoy memory allocation
Publication Date: 2023.11.14 VMWARE INC
  • US11816217B2 patent drawing
  • US11816217B2 patent drawing
  • US11816217B2 patent drawing

AI summary

Certain embodiments described herein relate to methods and systems for detecting unexpected behavior associated with a process. In certain embodiments, a method comprises receiving a memory allocation request, the request indicating one or more memory segments to be allocated in memory of a computing system. The method further comprises allocating the one or more memory segments in the memory based on the memory allocation request. The method further comprises allocating one or more decoy memory segments in the memory based on the memory allocation request. The method further comprises trapping an input/output (I/O) operation. The method further comprises detecting an unexpected behavior associated with the I/O operation based on determining that the I/O operation impacts at least one of the one or more decoy memory segments. The method further comprises performing one or more actions based on the detection.