CAPEC-665: Exploitation of Thunderbolt Protection Flaws
Description
An adversary leverages a firmware weakness within the Thunderbolt protocol, on a computing device to manipulate Thunderbolt controller firmware in order to exploit vulnerabilities in the implementation of authorization and verification schemes within Thunderbolt protection mechanisms. Upon gaining physical access to a target device, the adversary conducts high-level firmware manipulation of the victim Thunderbolt controller SPI (Serial Peripheral Interface) flash, through the use of a SPI Programing device and an external Thunderbolt device, typically as the target device is booting up. If successful, this allows the adversary to modify memory, subvert authentication mechanisms, spoof identities and content, and extract data and memory from the target device. Currently 7 major vulnerabilities exist within Thunderbolt protocol with 9 attack vectors as noted in the Execution Flow.
- Likelihood of attack
- Low
- Typical severity
- Very High
- Abstraction
- DetailedA low-level, detailed pattern, often for a particular technology.
Mechanism of attack: Abuse Existing Functionality
Prerequisites
- The adversary needs at least a few minutes of physical access to a system with an open Thunderbolt port, version 3 or lower, and an external thunderbolt device controlled by the adversary with maliciously crafted software and firmware, via an SPI Programming device, to exploit weaknesses in security protections.
Skills required
- HighDetailed knowledge on various system motherboards, PCI Express Domain, SPI, and Thunderbolt Protocol in order to interface with internal system components via external devices.
- HighDetailed knowledge on OS/Kernel memory address space, Direct Memory Access (DMA) mapping, Input-Output Memory Management Units (IOMMUs), and vendor memory protections for data leakage.
- HighDetailed knowledge on scripting and SPI programming in order to configure and modify Thunderbolt controller firmware and software configurations.
Consequences
- Access Control
Bypass Protection Mechanism
- Confidentiality
Read Data
- Integrity
Modify Data
- Authorization
Execute Unauthorized Commands
Mitigations
- Implementation: Kernel Direct Memory Access Protection
- Configuration: Enable UEFI option USB Passthrough mode - Thunderbolt 3 system port operates as USB 3.1 Type C interface
- Configuration: Enable UEFI option DisplayPort mode - Thunderbolt 3 system port operates as video-only DP interface
- Configuration: Enable UEFI option Mixed USB/DisplayPort mode - Thunderbolt 3 system port operates as USB 3.1 Type C interface with support for DP mode
- Configuration: Set Security Level to SL3 for Thunderbolt 2 system port
- Configuration: Disable PCIe tunneling to set Security Level to SL3
- Configuration: Disable Boot Camp upon MacOS systems
Related weaknesses (CWE)
ATT&CK techniques (CAPEC taxonomy mapping)
Across MITRE's defensive frameworks
Linked through the 3 ATT&CK techniques above.
Counter with D3FEND
Defensive techniques MITRE D3FEND maps to the same ATT&CK techniques.
- D3-BABootloader Authentication1 shared
- D3-SFVSystem Firmware Verification1 shared
- D3-FBAFirmware Behavior Analysis1 shared
- D3-FEMCFirmware Embedded Monitoring Code1 shared
- D3-FVFirmware Verification1 shared
- D3-SSCShadow Stack Comparisons1 shared
- D3-SFCVStack Frame Canary Validation1 shared
- D3-MBTMemory Boundary Tracking1 shared
- D3-NTPMNetwork Traffic Policy Mapping1 shared
- D3-PCSVProcess Code Segment Verification1 shared
- D3-WSAMWeb Session Access Mediation1 shared
- D3-SFASystem File Analysis1 shared