CAPECattack pattern

CAPEC-665 Exploitation of Thunderbolt Protection Flaws

Very High Official page ↗
Abstraction
Detailed
Status
Stable
Likelihood of attack
Low
Typical severity
Very High
CAPEC version
3.9

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.

Execution flow

1. [Explore] [Survey physical victim environment and potential Thunderbolt system targets] The adversary monitors the target's physical environment to identify systems with Thunderbolt interfaces, identify potential weaknesses in physical security in addition to periods of nonattendance by the victim over their Thunderbolt interface equipped devices, and when the devices are in locked or sleep state. 2. [Explore] [Evaluate the target system and its Thunderbolt interface] The adversary determines the device's operating system, Thunderbolt interface version, and any implemented Thunderbolt protections to plan the attack. 1. [Experiment] [Obtain and/or clone firmware image] The adversary physically manipulates Thunderbolt enabled devices to acquire the firmware image from the target and/or adversary Thunderbolt host controller's SPI (Serial Peripheral Interface) flash. 2. [Experiment] [Parse and locate relevant firmware data structures and information based upon Thunderbolt controller model, firmware version, and other information] The acquired victim and/or adversary firmware image is parsed for specific data and other relevant identifiers required for exploitation, based upon the victim device information and firmware version. 3. [Experiment] [Disable Thunderbolt security and prevent future Thunderbolt security modifications (if necessary)] The adversary overrides the target device's Thunderbolt Security Level to "None" (SL0) and/or enables block protections upon the SPI flash to prevent the ability for the victim to perform and/or recognize future Thunderbolt security modifications as well as update the Thunderbolt firmware. 4. [Experiment] [Modify/replace victim Thunderbolt firmware image] The modified victim and/or adversary thunderbolt firmware image is written to attacker SPI flash. 1. [Exploit] [Connect adversary-controlled thunderbolt enabled device to victim device and verify successful execution of malicious actions] The adversary needs to determine if their exploitation of selected vulnerabilities had the intended effects upon victim device. 2. [Exploit] [Exfiltration of desired data from victim device to adversary device] Utilize PCIe tunneling to transfer desired data and information from victim device across Thunderbolt connection.

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

• [High] Detailed knowledge on various system motherboards, PCI Express Domain, SPI, and Thunderbolt Protocol in order to interface with internal system components via external devices. • [High] Detailed 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. • [High] Detailed 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

Att&ck technique · MITRE ATT&CK (3)

  • T1556 Modify Authentication Process technique
  • T1542.002 Component Firmware sub-technique
  • T1211 Exploitation for Stealth technique

Can follow · CAPEC (1)

  • CAPEC-390 Bypassing Physical Security attack pattern

Child of · CAPEC (1)

  • CAPEC-276 Inter-component Protocol Manipulation attack pattern

Peer of · CAPEC (3)

Weakness · CWE (5)

  • CWE-1188 Initialization of a Resource with an Insecure Default weakness
  • CWE-288 Authentication Bypass Using an Alternate Path or Channel weakness
  • CWE-345 Insufficient Verification of Data Authenticity weakness
  • CWE-353 Missing Support for Integrity Check weakness
  • CWE-862 Missing Authorization weakness

Referenced by CWE · attack pattern (5)

  • CWE-1188 Initialization of a Resource with an Insecure Default weakness
  • CWE-288 Authentication Bypass Using an Alternate Path or Channel weakness
  • CWE-345 Insufficient Verification of Data Authenticity weakness
  • CWE-353 Missing Support for Integrity Check weakness
  • CWE-862 Missing Authorization weakness