CONTENTS
PRELIMINARY REMARKS
The detail described in this document only affects Thunderbolt(TM) technologies.
If you are using USB Type-C only connectivity then the information and procedures that follow will have little impact on your environment
APPLICABLE MODELS
AFFECTED CUSTOMERS
With the introduction of Thunderbolt(TM) technology modern PCs now benefit from a level of extensibility that was not available to the previous generations. Such benefits include,
but are not limited to, a new class of external peripherals such as LAN connections, graphics cards and other PCI devices, all of which can be hot-plugged and accessed
in the same way as traditional USB devices we are all familiar with.
Historically the PCI bus was always internal to the system, i.e. a connector on a system board, but with the advent of Thunderbolt(TM) technology this PCI interface is effectively
available as an external connection. This instant benefit of usability and speed brings with it a concern over security: the PCI bus provides and requires Direct memory Addressing (DMA)
and with ports on the outside that are easily available the host PC becomes susceptible to "drive-by" DMA attacks.
As the Thunderbolt(TM) controller is a PCIe device and has Direct Memory Access (DMA) IO (via PCIe), this exposes the PCIe protocol externally through USB-C ports for a range of usages.
This can potentially allow access to system memory from a physical IO device that is being connected and utilising the PCIe protocol. In order to mitigate potential malicious access
to system memory from an external PCIe device, there is security protection employed with Thunderbolt(TM) 3 that prevents unauthorized Thunderbolt(TM) PCIe-based devices from
connecting without user authorization. For instance, this will prevent unauthorized access when the system is locked.
Microsoft and Intel collaboratively developed the hardware security solution , which offers Kernel DMA protection in line with specifications for Thunderbolt(TM) that offers protection against drive-by DMA attacks.
"A peripheral that is incompatible with DMA-remapping will be blocked from starting if the peripheral was plugged in before an authorised user logs in, or while the screen is locked.
Once the system is unlocked, the peripheral driver will be started by the OS and the peripheral will continue to perform normally until the system is rebooted, or the peripheral is unplugged.
The peripheral will continue to function normally if the user locks the screen or logs out of the system."
More details on this can be found via the Microsoft documentation site at https://docs.microsoft.com/en-us/windows/security/information-protection/kernel-dma-protection-for-thunderbolt
POTENTIAL PROBLEM
Thunderbolt(TM) technology provides a connectivity port that offers PCI bus access and with it DMA access. The security procedures implemented by Intel and Microsoft, while securing the system,
have some "knock-on" effects to usability:
ISSUE 1: PXE Boot
Devices exceeding the requirements for enhanced hardware security [ = PC's classified as Secured Core PC's ], which include Kernel DMA protection in line with specifications for Thunderbolt(TM) 3 for protection
against drive-by DMA attacks brings with it the following behaviour:
"A peripheral that is incompatible with DMA-remapping will be blocked from starting if the peripheral was plugged in before an authorised user logs in, or while the screen is locked.
Once the system is unlocked, the peripheral driver will be started by the OS and the peripheral will continue to perform normally until the system is rebooted, or the peripheral is unplugged.
The peripheral will continue to function normally if the user locks the screen or logs out of the system."
More details on this can be found via the Microsoft documentation site at https://docs.microsoft.com/en-us/windows/security/information-protection/kernel-dma-protection-for-thunderbolt
ISSUE 2: Thunderbolt Device Load/access
Within the Thunderbolt application within Windows there are four security levels as detailed below. Note that SL1 is the default mode that the software installs with.
This means that each device when connected for the first time will require permission to open the DMA controlled ports.
DisplayPort will always connect as it has no DMA capability. Full details can be found in the document maintained at https://thunderbolttechnology.net/
SL1 is linked to the BIOS setting "Native Thunderbolt Support" with Run Time D3 (RTD3) which all PCIe device controller must support to achieve Modern Standby
classification and the power savings and associated response times that apply to such categorised devices.
SL0 can only be reached with the Legacy Thunderbolt(TM) mode however, this would mean disabling "Native Thunderbolt Mode with RTD3", which in turn is not supported
by Intel since the introduction of Windows10 RS4. Native Security (Preboot DMAr + Kernel DMA Protection) is strongly recommended for all Corporate Designs launching 2019 onward (with the exception of Kabylake-R).
Devices exceeding the requirements for enhanced hardware security will need to be degraded to standard / enhanced hardware security level.
If you find PXE booting to not function then this may require the disabling of DMAr protection. The process to achieve this is as follows:
Recommend process:
Please download and use the Intel LAN driver for Toshiba Thunderbolt(TM) 3 Dock, which support DMAr function [ download location: https://emea.dynabook.com/support/drivers/laptops/ ]
Alternative process:
ISSUE 2: Thunderbolt Device Load/access
On the newer platforms that attain Modern Standby and SL3 support it has been found that disabling "Native Thunderbolt support with RTD3" causes the notebook to fail
to enter Modern Standby and power consumption to always remain adversely high. Compatibility and stability issues can also be seen with
Thunderbolt(TM) devices resulting in a yellow bang error in Device Manager.
This leaves the only mitigation steps to be either:
a.) At each new connected Thunderbolt(TM) device or dock respond to the prompt in the OS regarding allowing the device to connect.
This connection setting (if set to "always connect") will be remembered for each and every subsequent boot, with the host PC building up its own whitelist of accepted devices, or:
b.) For device domain logon utilise either WiFi solutions, a USB LAN, or a LAN via a USB Type-C dock.
DISCLAIMER
Dynabook provides this information "as is" without warranty of any kind, either express or implied, including, but not limited to, the implied warranties of merchantability or fitness for a particular purpose. Dynabook shall not be responsible for the topicality, correctness, completeness or quality of the information or software provided. Dynabook is not liable for any damage caused by the use of any information or software provided, including information that is incomplete or incorrect. Any trademarks used herein belong to their respective owners.
Copyright Dynabook Europe GmbH. All rights reserved.