Hardware Resource Allocation for Side-Channel Attack Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-tenant computing environments, security-sensitive tasks are vulnerable to side-channel attacks where malicious tasks can infer sensitive information by observing shared hardware resources, exacerbating the risk of data theft in secure operations like secure communication sessions.

Innovation Solution

Assigning identifiers to security-sensitive tasks and associating specific portions of shared hardware resources with these identifiers to restrict access and observability, thereby isolating sensitive information from malicious tasks through hardware resource allocation and management modules.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple tasks are allowed to execute concurrently on the same computing device to improve resource utilization, then productivity increases, but security-sensitive tasks become vulnerable to side-channel attacks from malicious tasks

Engineering Contradiction:
Improveresource utilizationVSAvoidside-channel attack vulnerability
Core Design Contradiction:
ProductivityVSObject-affected harmful factors

Solution Approach 1:

The shared hardware resources are segmented into dedicated portions for different tasks. Each security-sensitive task is allocated a dedicated portion of shared resources (such as cache memory, execution units, or other hardware components) that is isolated from malicious tasks. This segmentation prevents malicious tasks from observing or interfering with the execution of security-sensitive tasks while still allowing concurrent execution of multiple tasks on the same computing device.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of shared hardware resources are assigned different security characteristics based on the tasks they serve. Resources allocated to security-sensitive tasks have enhanced protection properties (dedicated access, isolated observability) while resources for non-sensitive tasks maintain standard sharing. This local differentiation of resource qualities enables concurrent execution with differentiated security levels.

Inventive Principle:
Principle #3Local quality

2Productivity

If shared hardware resources are allocated to multiple tasks to enhance productivity, then resource efficiency improves, but the risk of information theft from security-sensitive tasks increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidinformation theft risk
Core Design Contradiction:
ProductivityVSLoss of information

Solution Approach 1:

Shared hardware resources are divided into dedicated segments for different tasks. Each security-sensitive task receives a dedicated portion of resources that is not accessible to malicious tasks. This segmentation ensures that even though multiple tasks share the computing device, the information flow between tasks is physically isolated at the hardware level, preventing information theft while maintaining resource efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A resource allocation mechanism acts as an intermediary between tasks and shared hardware resources. This intermediary (which could be a hypervisor, operating system kernel, or hardware management unit) controls and monitors access to shared resources, ensuring that security-sensitive tasks receive protected portions while preventing malicious tasks from accessing or observing sensitive operations. The intermediary enforces security policies while enabling efficient resource sharing.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If dedicated hardware resources are allocated to security-sensitive tasks to protect them from side-channel attacks, then security reliability improves, but device complexity increases

Engineering Contradiction:
Improvesecurity reliabilityVSAvoidresource allocation complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The resource allocation mechanism is designed to be universal, handling both security-sensitive and non-sensitive tasks through the same infrastructure. The same hardware resources can be dynamically allocated to different tasks based on security requirements, and the allocation mechanism itself serves multiple functions (resource management, security enforcement, task scheduling). This multi-functionality reduces overall system complexity compared to having separate dedicated hardware for each task type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The allocation of dedicated portions of shared resources is dynamic rather than static. The system can adaptively allocate and reallocate resource portions based on the current task mix, security requirements, and resource availability. This dynamic approach allows the system to maintain high security reliability for sensitive tasks while optimizing resource utilization and avoiding the complexity of permanently dedicated hardware configurations.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9898601B2Allocation of shared system resources
Publication Date: 2018.02.20 AMAZON TECH INC
  • US9898601B2 patent drawing
  • US9898601B2 patent drawing
  • US9898601B2 patent drawing

AI summary

Techniques are described for allocating resources to a task from a shared hardware structure. A plurality of tasks may execute on a processor, wherein the processor may include one or more processing cores and each task may include a plurality of computer executable instructions. In accordance with one technique for allocating resources to a task from a shared hardware structure amongst multiple tasks, aspects of the disclosure describe assigning a first identifier to a first task from the plurality of tasks, associating a portion of the shared hardware resource with the first identifier, and restricting access and/or observability for computer executable instructions executed from any other task than the first task to the portion of the hardware resource associated with the first identifier.