Processor Sandbox Support for Untrusted Code Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing devices face challenges in securely executing untrusted code without extensive software-based isolation techniques, which can lead to performance overhead and vulnerability to malicious attacks, as existing methods like Intel® page protection keys and Google® Native Client (NaCl) are inadequate in protecting against manipulation by attackers.

Innovation Solution

A computing device with processor sandbox support enables untrusted code execution by using sandbox domains within the same virtual address space, allowing memory protection without context switches or permission level changes, and enforcing sandbox isolation through hardware-assisted mechanisms, such as sandbox support in the processor, to manage and enforce memory access and instruction execution within these domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software-based isolation techniques are used to execute untrusted code, then security is improved, but performance deteriorates due to context switches and permission level changes

Engineering Contradiction:
ImprovesecurityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent divides the address space into multiple domains (trusted domain and untrusted domains) with distinct memory protection keys. Each domain is segmented with its own key set, allowing the processor to enforce isolation boundaries without requiring context switches or permission level changes, thus maintaining both security and performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces memory protection keys as an intermediary mechanism between trusted and untrusted code domains. These keys act as mediators that enforce domain boundaries at the memory access level, eliminating the need for software-based context switches while maintaining security isolation

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If Intel page protection keys are used to protect domains, then accidental memory access is prevented, but protection against malicious attackers is insufficient

Engineering Contradiction:
Improvememory access protectionVSAvoidvulnerability to manipulation
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent applies preliminary anti-action by implementing hardware-enforced domain boundaries that prevent malicious code from manipulating protection keys. The processor architecture itself enforces domain isolation at the memory access level, preemptively blocking attacks before they can exploit software vulnerabilities in key management

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If software-based sandbox isolation is implemented, then untrusted code execution is secured, but extensive toolchain modifications are required

Engineering Contradiction:
Improvesandbox isolationVSAvoidtoolchain complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent enables self-service sandboxing where the processor architecture automatically enforces domain isolation through hardware-supported memory protection keys. The system serves itself by providing built-in domain management capabilities that eliminate the need for extensive compiler and linker modifications, reducing toolchain complexity while maintaining security

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS12411940B2Technologies for untrusted code execution with processor sandbox support
Publication Date: 2025.09.09 INTEL CORP
  • US12411940B2 patent drawing
  • US12411940B2 patent drawing
  • US12411940B2 patent drawing

AI summary

Technologies for untrusted code execution include a computing device having a processor with sandbox support. The computing device executes code included in a native domain in a non-privileged, native processor mode. The computing device may invoke a sandbox jump processor instruction during execution of the code in the native domain to enter a sandbox domain. The computing device executes code in the sandbox domain in a non-privileged, sandbox processor mode in response to invoking the sandbox jump instruction. While executing in the sandbox processor mode, the processor denies access to memory outside of the sandbox domain and may deny execution of one or more prohibited instructions. From the sandbox domain, the computing device may execute a sandbox exit instruction to exit the sandbox domain and resume execution in the native domain. The computing device may execute processor instructions to configure the sandbox domain. Other embodiments are described and claimed.