Hardware Guard Lines for Runtime Memory Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cyber defense mechanisms are inefficient in detecting and preventing memory corruption vulnerabilities, leading to a disadvantage for defenders who must find all vulnerabilities while attackers only need to exploit one, resulting in a 'whack-a-mole' game of patching bugs after attacks occur, with existing robust identification technologies having too much overhead for runtime use.

Innovation Solution

A hardware-based solution employing a two-level data structure with a page level and sub-page level protection mechanism using guard lines, where a guard line mask is added to each virtual memory page to detect memory exploits efficiently, allowing for runtime execution without excessive overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If robust identification technologies are used to detect memory corruption, then detection accuracy is improved, but system overhead increases making runtime execution impossible

Engineering Contradiction:
Improvememory corruption detection accuracyVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments memory protection into page-level and sub-page-level mechanisms. Page-level protection uses guard pages at memory boundaries, while sub-page-level protection uses guard lines within pages. This segmentation allows efficient hardware enforcement without requiring comprehensive software analysis, resolving the contradiction between detection accuracy and system overhead.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces software-based memory corruption identification with hardware-based enforcement using guard lines in the memory management unit. This substitution eliminates the excessive overhead of software analysis while maintaining high detection accuracy, enabling runtime execution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Reliability

If comprehensive vulnerability patching is performed, then system security is improved, but time loss increases due to the whack-a-mole game of finding and patching bugs

Engineering Contradiction:
Improvesystem securityVSAvoidtime for finding and patching vulnerabilities
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary protective measures by embedding guard lines in memory structures before exploitation can occur. This preliminary hardware-based protection prevents memory corruption attacks without requiring continuous vulnerability scanning and patching, eliminating the time-consuming whack-a-mole game while maintaining system security.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If existing memory protection mechanisms are used, then some protection is provided, but overhead is too high for runtime execution in deployed systems

Engineering Contradiction:
Improvememory protectionVSAvoidruntime execution performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides memory protection into hierarchical levels: page-level guard pages for boundary protection and sub-page-level guard lines for fine-grained control. This segmentation enables efficient hardware enforcement with minimal overhead, allowing runtime execution in deployed systems while maintaining strong memory protection.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware-based guard line mechanism automatically enforces memory protection without requiring software intervention or analysis. The memory management unit self-services by checking guard lines during memory access, eliminating the performance penalty associated with software-based protection mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9804975B2Hardware-enforced prevention of buffer overflow
Publication Date: 2017.10.31 JOHNS HOPKINS UNIVERSITY
  • US9804975B2 patent drawing
  • US9804975B2 patent drawing
  • US9804975B2 patent drawing

AI summary

An apparatus having processing circuitry configured to execute applications involving access to memory may include a CPU and a cache controller. The CPU may be configured to access cache memory for execution of an application. The cache controller may be configured to provide an interface between the CPU and the cache memory. The cache controller may include a bitmask to enable the cache controller to employ a two-level data structure to identify memory exploits using hardware. The two-level data structure may include a page level protection mechanism, and a sub-page level protection mechanism.