Executable Only Memory Side-Channel Defender Circuitry

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Side-channel attacks, such as Spectre and Meltdown, exploit timing and cache information to access sensitive data, compromising memory isolation and allowing attackers to read kernel memory or execute malicious code, highlighting the need for enhanced memory protection mechanisms.

Innovation Solution

Implementing executable only memory (XOM) with side-channel defender circuitry that prevents cache line flush operations on shared memory pages, ensuring that only executable code is allowed, and setting memory protection flags to 'executable only' to prevent write access and alteration of shared code pages, thereby mitigating side-channel attacks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If shared code pages are allowed for memory efficiency, then memory usage is optimized, but side-channel attacks can exploit timing information from cache access

Engineering Contradiction:
Improvememory usage efficiencyVSAvoidside-channel attack vulnerability
Core Design Contradiction:
Quantity of substanceVSObject-affected harmful factors

Solution Approach 1:

The patent changes the memory protection parameters by introducing executable-only memory (XOM) with specific permission bits that allow execution but block read and write operations. This parameter change prevents cache line flush operations from leaking timing information while maintaining the ability to execute shared code, thus resolving the contradiction between memory efficiency and security.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces an intermediary protection mechanism (XOM enforcement circuitry and side channel defender) that mediates between the shared code pages and the cache system. This intermediary prevents the harmful interaction where cache access timing reveals information about memory operations, while still allowing the beneficial sharing of code pages.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If cache line flush operations are permitted on shared memory, then normal memory operations function correctly, but timing side-channel attacks can succeed

Engineering Contradiction:
Improvememory operation functionalityVSAvoidsecurity against side-channel attacks
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent applies preliminary anti-action by preventing cache line flush operations on executable-only memory pages before they can be exploited for side-channel attacks. The XOM permission bits are set in advance to block read operations, which includes cache line flush operations, thereby preemptively neutralizing the attack vector while allowing write and execute operations to proceed normally.

Inventive Principle:
Principle #9Preliminary anti-action

3Reliability

If memory protection flags are set to executable only, then write access is prevented and security is enhanced, but code modification capabilities are restricted

Engineering Contradiction:
Improvememory protection and securityVSAvoidcode modification capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent segments memory permissions into distinct categories using XOM pages with executable-only flags. This segmentation isolates the code execution functionality from write access, allowing security-critical code to be protected while maintaining execution capabilities. The segmentation enables different security levels for different memory regions, resolving the contradiction between protection and adaptability.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11366895B2Mitigating side-channel attacks using executable only memory (XOM)
Publication Date: 2022.06.21 INTEL CORP
  • US11366895B2 patent drawing
  • US11366895B2 patent drawing
  • US11366895B2 patent drawing

AI summary

Embodiments include side channel defender circuitry to protect shared code pages in executable only memory (XOM) from side-channel exploits. The side channel defender circuitry receives system calls and determines whether code pages include executable code, whether the code pages include writeable code, and whether the code pages include instructions capable of altering or modifying one or more protection keys associated with code pages stored in XOM. If the code pages contain executable code that is writeable or executable code that includes instructions capable of altering or modifying one or more protection keys associated with code pages stored in XOM the side channel defender circuitry, the side channel defender circuitry aborts the system call.