Runtime Memory Corruption Remediation via Dynamic Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network accessible applications are vulnerable to memory corruption attacks, allowing malicious attackers to execute arbitrary code and extract sensitive information, with existing solutions failing to effectively protect against sophisticated runtime memory corruption attacks.

Innovation Solution

The implementation of instrumentation engines and analysis engines that extract a model of a computer application as it loads into memory, insert instructions to collect data at runtime, and analyze this data against a stored model to detect security events, modifying computer routines and memory structures to prevent malicious attacks through hot patching and dynamic software updating.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional security measures are used, then implementation simplicity is maintained, but security against memory corruption attacks is insufficient

Engineering Contradiction:
Improvesecurity protectionVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by extracting a model of the computer application during load time, before the application fully executes. This includes identifying memory regions, control flow paths, and data structures in advance, so that when runtime attacks occur, the system can quickly compare actual behavior against the pre-established model to detect anomalies without requiring complex real-time analysis mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary security system that sits between the application and the underlying operating system. This intermediary layer instruments the application code to collect runtime data, compares it against the extracted model, and intervenes when security violations are detected. This mediator approach provides comprehensive security without requiring fundamental changes to the application or OS, resolving the contradiction between security enhancement and system complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If runtime monitoring and analysis are implemented, then detection precision improves, but processing overhead increases

Engineering Contradiction:
Improvesecurity event detectionVSAvoidprocessing overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies local quality by focusing monitoring efforts on specific critical regions and operations within the application rather than uniformly monitoring all code. The extracted model identifies important memory regions (stack, heap, code segments), critical control flow paths, and sensitive data structures. The instrumentation engine selectively instruments only these critical areas, enabling precise detection of security events while minimizing processing overhead by avoiding unnecessary monitoring of non-critical code paths.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements partial action by performing comprehensive model extraction at load time, creating a detailed reference model of the application's memory layout and control flow. This preliminary comprehensive action enables the runtime system to use simpler, faster comparison-based detection rather than requiring equally comprehensive real-time analysis. The heavy lifting is done once during loading, allowing lightweight monitoring during execution.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If patches are applied to fix vulnerabilities, then security reliability improves, but application execution may be interrupted

Engineering Contradiction:
Improvesecurity protectionVSAvoidapplication continuity
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies preliminary anti-action by detecting and neutralizing security threats before they can cause harm or require patching. The runtime monitoring continuously compares actual application behavior against the extracted model, detecting memory corruption attempts, unauthorized control flow changes, and other security violations in advance. When anomalies are detected, the system can take corrective actions (such as terminating malicious code execution or restoring legitimate state) before the application needs to be patched or restarted, thus maintaining continuous operation while providing security protection.

Inventive Principle:
Principle #9Preliminary anti-action

Data Source

PatentUS11409870B2Systems and methods for remediating memory corruption in a computer application
Publication Date: 2022.08.09 VIRSEC SYSTEMS INC
  • US11409870B2 patent drawing
  • US11409870B2 patent drawing
  • US11409870B2 patent drawing

AI summary

In example embodiments, systems and methods extract a model of a computer application during load time and store the model in memory. Embodiments may insert instructions into the computer application at run time to collect runtime state of the application, and analyze the collected data against the stored model to perform detection of security events. Embodiments may also instrument an exception handler to detect the security events based on unhandled memory access violations. Embodiments may, based upon the detection of the security events, dynamically respond, such as by modify a computer routine associated with an active process of the computer application. Modification may include installing or verifying an individual patch in memory associated with the computer application.