Cache Partitioning via Class of Service to Mitigate Side-Channel Attacks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Modern processors, such as Intel and AMD models, are vulnerable to cache-based side-channel attacks, where malicious applications can extract sensitive information by exploiting operating system optimizations like content-based page sharing, leading to potential data breaches.
Innovation Solution
Implementing Intel Resource Director Technology (RDT) and Cache Allocation Technology (CAT) to partition the processor cache using cache classes of service (COS) and page attribute tables (PAT), which include an 'unflushable' memory type to prevent unauthorized access and generate exceptions for unauthorized cache line access, thereby mitigating side-channel attacks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If content-based page sharing optimization is implemented, then memory utilization efficiency is improved, but vulnerability to cache-based side-channel attacks increases
Solution Approach 1:
The patent segments the cache into multiple partitions, each associated with a specific virtual machine or process. This segmentation prevents malicious applications from accessing cache lines belonging to other virtual machines, thereby mitigating side-channel attacks while preserving the benefits of page sharing within authorized contexts.
Solution Approach 2:
The patent implements quality-of-service (QoS) policies that assign different cache access permissions and priorities to different virtual machines or processes. By applying local quality control, authorized applications can efficiently share cache resources while unauthorized access is blocked, resolving the contradiction between sharing efficiency and security.
2Reliability
If cache partitioning is implemented to prevent unauthorized access, then security against side-channel attacks is improved, but cache utilization efficiency deteriorates
Solution Approach 1:
The patent implements dynamic cache partitioning where partition boundaries and access permissions are adjusted based on runtime conditions, QoS policies, and security requirements. This dynamic approach allows the system to maintain security while optimizing cache utilization for authorized workloads, preventing the efficiency deterioration that would result from static partitioning.
Solution Approach 2:
The patent creates a unified cache management system that simultaneously provides security enforcement, QoS control, and performance optimization across multiple virtual machines and processes. This multi-functional approach ensures that cache partitioning does not sacrifice overall utilization efficiency while maintaining security guarantees.
3Reliability
If cache lines are allocated to specific virtual machines, then access control is improved, but cache capacity for each VM is reduced
Solution Approach 1:
The patent establishes QoS policies and cache allocation rules in advance, before side-channel attacks occur. These preliminary configurations ensure that each virtual machine has guaranteed access to its allocated cache partitions while maintaining the ability to utilize additional cache capacity when authorized, thus preventing capacity reduction while ensuring access control.
Data Source
AI summary
Examples include techniques to mitigate or prevent cache-based side-channel attacks to a cache. Examples include use of assigned class of service (COS) assigned to cores of a process to determine whether to notify an OS of a potential malicious application attempting to access a cache line cached to a processor cache. Examples also include marking pages in an application memory address space of a processor cache as unflushable to prevent a potentially malicious application from accessing sensitive data loaded to the application memory address space of the processor cache.


