Tuesday, January 17, 2017

Intel debugger interface open to hacking via USB

New Intel processors contain a debugging interface accessible via USB 3.0 ports that can be used to obtain full control over a system and perform attacks that are undetectable by current security tools.

A talk on the mechanisms needed for such attacks and ways to protect against them was given by Positive Technologies experts Maxim Goryachy and Mark Ermolov at the 33rd Chaos Communication Congress (33C3) in Hamburg, Germany.

The problem

Manufacturer-created hardware mechanisms, such as motherboard debugging interfaces, have legitimate purposes including hardware configuration debugging features for hardware configuration and other beneficial uses. But these low-level mechanisms can also be exploited by attackers without special equipment or huge resources.

Our experts analyzed and demonstrated one of these mechanisms in their presentation. The JTAG (Joint Test Action Group) debugging interface, which can be accessed via USB, has the potential to enable dangerous and virtually undetectable attacks. JTAG works below the software layer for the purpose of hardware debugging of the OS kernel, hypervisors and drivers. At the same time, this CPU access can be abused for malicious purposes.

On older Intel CPUs, accessing JTAG required connecting a special device to a debugging port on the motherboard (ITP-XDP). JTAG was difficult to access for both troubleshooters and potential attackers. However, starting with the Skylake processor family in 2015, Intel introduced Direct Connect Interface (DCI), which provides access to the JTAG debugging interface via common USB 3.0 ports.

An attacker could use this mechanism as a backdoor and bypass all security systems; JTAG allows embedding code at a certain point in time, reading all data, and also making the machine inoperable (for example, by re-writing the BIOS).

To be successful, the attacker must know that the DCI interface is activated on the victim’s computer (relevant methods are described in the presentation). The researchers did not see any signs of motherboard vendors shipping their products with DCI activated, but nothing is stopping cybercriminals from enabling DCI at any time via BIOS modification or via operating system using P2SB device.

In fact, this JTAG debug capability can also be chained with specially crafted USB as part of an even more sophisticated attack. A cybercriminal can create a "bad" USB device that looks similar to an ordinary USB drive, but after being connected to a USB 3.0 port, in addition to being a storage device, the device obtains full access to the victim’s PC without any additional action and remains totally hidden (the mouse and keyboard will not show signs of manipulation), as is the case with some less-advanced malicious USB devices).

The experts described how such attacks could work in the real world: "For example, you order a number of laptops with U-series CPUs for your company. The bad guys interfere with the purchasing process, activate DCI at any time via BIOS or with special activation code on a target system, and all the testing is successfully passed (correct BIOS version, everything matches, all disks are encrypted, etc.). Then an insider with a malicious USB device plugs the device into one of these laptops at the company and gets full access while no one is watching".

Positive Technologies’s experts have reported this case to Intel and here is what company’s Product Security Incident Response Team replied:

Intel implemented a proprietary Intel® Direct Connect Interface (DCI) over USB for JTAG debugging of closed chassis systems as a feature for 6th and 7th Gen Intel® Core™ processor based platforms. DCI is an integral part in enabling debug of today's light and small form factor systems via industry standard JTAG protocols. To provide additional security, the DCI interface is disabled by default per Intel specification and can only be enabled with user consent via BIOS configuration. Physical access and control of the system is required to enable DCI, however even when enabled, access to Intel confidential capabilities of the JTAG debugging commands is not possible without proprietary keys obtained via Intel license agreement.

Demo and slides

To date, JTAG mechanism can be exploited only on Intel U-series processors. Video of the presentation given at 33C3 can be found below:

Here is the demo attack:

And presentation slides:

No comments:

Post a Comment