UEFI RAMDISK Security via DMA Remapping and Pseudo-Device
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Information handling systems are vulnerable to direct memory access (DMA) attacks during the pre-boot stage when using a traditional ram disk, as the firmware does not filter DMA accesses, allowing malicious code to modify the firmware and bypass protection mechanisms.
Innovation Solution
A pseudo-device in the PCIe subsystem is created to remap addresses, utilizing a DMA remapping unit to trap and prevent unauthorized access requests, thereby securing the ram disk by establishing a pre-boot network connection to a remote system and initializing the operating system on the remapped ram disk.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If a traditional ram disk is used during pre-boot stage, then memory allocation for storing data/files is achieved, but the system becomes vulnerable to DMA attacks allowing malicious code to access restricted RAM areas
Solution Approach 1:
A pseudo-device is introduced as an intermediary layer between the ram disk and physical memory. This pseudo-device intercepts and filters DMA access requests, allowing legitimate memory operations while blocking malicious direct memory access attempts. The pseudo-device acts as a mediator that enables the ram disk functionality while preventing the harmful DMA attacks that would otherwise compromise system security.
2Ease of operation
If the firmware does not filter DMA accesses, then simple pre-boot memory operations are maintained, but malicious code can modify the firmware and bypass IOMMU protection
Solution Approach 1:
The pseudo-device is established during the pre-boot stage before any potentially malicious code executes. This preliminary setup creates a protective filtering mechanism in place beforehand, ensuring that when DMA requests are made during pre-boot operations, they are automatically filtered through the pseudo-device's security checks. This prevents malicious code from modifying firmware or bypassing IOMMU protection while still allowing necessary pre-boot memory operations to proceed.
Data Source
AI summary
An information handling system may include a processor, a network interface, and a basic input/output system (BIOS) configured to execute a pre-boot environment. The information handling system may be configured to: during execution of the pre-boot environment, establish a pre-boot network connection to a remote information handling system via the network interface; receive operating system data from the remote information handling system; create a pseudo-device at a specified address of the information handling system; perform direct memory access (DMA) remapping between the pseudo-device and an address range of memory of the information handling system to create a ram disk; and based on the operating system data received from the remote information handling system, initialize an operating system on the ram disk via the specified address of the pseudo-device.


