DMA Device Enabled Too Early in Boot Phase

Draft Base
Structure: Simple
Description

The product enables a Direct Memory Access (DMA) capable device before the security configuration settings are established, which allows an attacker to extract data from or gain privileges on the product.

Extended Description

DMA is included in a number of devices because it allows data transfer between the computer and the connected device, using direct hardware access to read or write directly to main memory without any OS interaction. An attacker could exploit this to access secrets. Several virtualization-based mitigations have been introduced to thwart DMA attacks. These are usually configured/setup during boot time. However, certain IPs that are powered up before boot is complete (known as early boot IPs) may be DMA capable. Such IPs, if not trusted, could launch DMA attacks and gain access to assets that should otherwise be protected.

Common Consequences 1
Scope: Access Control

Impact: Bypass Protection MechanismModify Memory

DMA devices have direct write access to main memory and due to time of attack will be able to bypass OS or Bootloader access control.

Potential Mitigations 1
Phase: Architecture and Design
Utilize an IOMMU to orchestrate IO access from the start of the boot process.
References 7
DMA attack
19-10-2019
ID: REF-1038
Thunderclap: Exploring Vulnerabilities in Operating System IOMMU Protection via DMA from Untrustworthy Peripherals
A. Theodore Markettos, Colin Rothwell, Brett F. Gutstein, Allison Pearce, Peter G. Neumann, Simon W. Moore, and Robert N. M. Watson
25-02-2019
ID: REF-1039
FireWire all your memory are belong to us
Maximillian Dornseif, Michael Becher, and Christian N. Klein
2005
ID: REF-1040
Integrating DMA attacks in exploitation frameworks
Rory Breuk, Albert Spruyt, and Adam Boileau
20-02-2012
ID: REF-1041
Owned by an iPod
Maximillian Dornseif
2004
ID: REF-1042
My aimful life
Dmytro Oleksiuk
12-09-2015
ID: REF-1044
Hit by a Bus:Physical Access Attacks with Firewire
A. Theodore Markettos and Adam Boileau
2006
ID: REF-1046
Applicable Platforms
Languages:
Not Language-Specific : Undetermined
Technologies:
System on Chip : Undetermined
Modes of Introduction
Architecture and Design
Related Weaknesses