Computational Memory Executable Encryption

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems are vulnerable to attacks through malicious software that alters instruction flow, as existing security measures do not effectively protect executable instructions from injection and execution of malware, particularly in computational memory architectures.

Innovation Solution

The implementation of computational memory systems that encrypt executables using unique keys, randomizing them to create an ecosystem of binary diversity, thereby obfuscating and protecting against malware by requiring attackers to understand the instruction set architecture to inject malicious code.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If executable instructions are stored in plaintext in memory, then processing speed and accessibility are improved, but security against malware injection is worsened

Engineering Contradiction:
Improveprocessing speedVSAvoidsecurity against malware injection
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary encryption of executable instructions before they are stored in memory. The encryption occurs during the instruction generation or loading phase, so that when instructions are retrieved for execution, they are already in encrypted form and can be processed without additional decryption overhead, thus maintaining processing speed while enhancing security

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary decryption mechanism that operates transparently between memory storage and the processing unit. This intermediary layer automatically decrypts instructions during execution without requiring changes to the processor architecture or impacting performance, thereby providing security without sacrificing processing speed

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If encryption is applied to all data in memory, then security is improved, but access efficiency and processing performance are worsened

Engineering Contradiction:
Improvesecurity of executable instructionsVSAvoiddata access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies encryption selectively only to executable instruction regions in memory, while leaving data regions unencrypted or with different encryption characteristics. This local differentiation allows the system to provide enhanced security for instructions without impacting the access efficiency of data operations, as data can be accessed directly without encryption/decryption overhead

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory space is segmented into distinct regions: encrypted executable instruction regions and unencrypted (or differently encrypted) data regions. This segmentation allows the system to apply security measures only where needed for instructions, while maintaining fast access paths for data operations, thus improving security without sacrificing overall system productivity

Inventive Principle:
Principle #1Segmentation

3Device complexity

If traditional security measures are used, then system simplicity is maintained, but protection against malicious software is worsened

Engineering Contradiction:
Improvesystem architecture simplicityVSAvoidvulnerability to malware
Core Design Contradiction:
Device complexityVSObject-affected harmful factors

Solution Approach 1:

The encryption and decryption operations are performed automatically by the memory subsystem itself, without requiring external security software or complex authentication mechanisms. The memory controller or associated logic automatically encrypts instructions during storage and decrypts them during execution, providing robust security protection while maintaining system architecture simplicity and avoiding additional complexity layers

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11625336B2Encryption of executables in computational memory
Publication Date: 2023.04.11 MICRON TECHNOLOGY INC
  • US11625336B2 patent drawing
  • US11625336B2 patent drawing
  • US11625336B2 patent drawing

AI summary

The present disclosure is related to encryption of executables in computational memory. Computational memory can traverse an operating system page table in the computational memory for a page marked as executable. In response to finding a page marked as executable, the computational memory can determine whether the page marked as executable has been encrypted. In response to determining that the page marked as executable is not encrypted, the computational memory can generate a key for the page marked as executable. The computational memory can encrypt the page marked as executable using the key.