Executable Only Memory Side-Channel Defender Circuitry
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


