Memory Protection Shim for CPU Instruction Authentication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing architectures are inadequate in addressing memory corruption vulnerabilities and cyber-attacks on industrial control systems, as they fail to distinguish between program instructions and data, leading to potential code injection, data theft, and system damage.

Innovation Solution

A memory protection shim is integrated with the CPU core to perform authentication and decryption of digital blocks, preventing external modifications and ensuring that only trustworthy instructions and data are consumed by the CPU, thereby enforcing a security boundary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If von Neumann architecture is used to store program instructions and data in the same memory, then memory utilization is improved, but security against memory corruption vulnerabilities deteriorates

Engineering Contradiction:
Improvememory utilizationVSAvoidsecurity against memory corruption
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The patent segments the previously unified memory space into distinct instruction memory and data memory regions. This segmentation allows the system to maintain efficient memory utilization while providing separate security boundaries that prevent memory corruption vulnerabilities from affecting both instruction and data spaces equally.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different security characteristics to different memory regions. Instruction memory receives enhanced protection mechanisms including authentication and encryption, while data memory has its own security controls. This local differentiation of security quality allows the system to protect critical instruction code while maintaining efficient data access patterns.

Inventive Principle:
Principle #3Local quality

2Reliability

If traditional perimeter defense and firewall mechanisms are used, then network security is improved, but protection against embedded system vulnerabilities deteriorates

Engineering Contradiction:
Improvenetwork securityVSAvoidembedded system vulnerabilities
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent introduces a memory protection shim as an intermediary layer between the CPU core and the memory system. This shim provides authentication, encryption, and decryption functions that protect embedded systems from memory corruption vulnerabilities, complementing traditional network-level security measures with hardware-enforced memory protection.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements security checks and transformations on data before it reaches the CPU core. By performing authentication and decryption operations in advance through the memory protection shim, the system prevents malicious code or corrupted data from entering the execution pipeline, addressing embedded system vulnerabilities proactively rather than reactively.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If memory stores program instructions and data without differentiation, then storage efficiency is improved, but susceptibility to code injection attacks deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoidcode injection susceptibility
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent divides the unified memory space into separate instruction and data segments. This segmentation maintains storage efficiency by allowing both types of content to reside in the same physical memory infrastructure, while simultaneously preventing code injection attacks by establishing clear boundaries that prevent data from being misinterpreted as executable instructions.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different security attributes to instruction memory versus data memory. Instruction memory regions are configured with authentication requirements and execution permissions that prevent code injection, while data memory regions maintain efficient storage and access characteristics appropriate for non-executable content.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11966332B2Computing data and instructions at immutable points
Publication Date: 2024.04.23 GENERAL DYNAMICS MISSION SYSTEMS INC
  • US11966332B2 patent drawing
  • US11966332B2 patent drawing
  • US11966332B2 patent drawing

AI summary

An apparatus comprising a CPU core configured to execute instructions and consume data. The apparatus includes a memory configured to store the instructions and the data. A memory protection shim is coupled to the CPU core and the memory. The memory protection shim is configured to perform transformations over digital blocks to perform at least one of authentication or decryption of the digital blocks received from the memory. The memory protection shim is coupled to the CPU core in a fashion that prevents egress of the digital blocks or ingress of other external digital blocks between the memory protection shim and the CPU core.