ptsecurity.ru
Как включить JTAG-отладку
через USB
Эксперты исследовательского центра
Positive Technologies
Максим Горячий, Марк Ермолов
Roadmap
Как получить доступ
к JTAG в процессорах Intel
Direct Connect Interface
(DCI)
Активация
DCI
Что такое JTAG
Joint Test Action Group IEEE 1149.1
О JTAG
https://en.wikipedia.org/wiki/JTAG
IEEE Standard 1149.1
https://standards.ieee.org/findstds/
standard/1149.1-2013.html
Доклад Felix Domke Blackbox JTAG Reverse Engineering [26C3]
https://www.youtube.com/watch?v=8Unisnu-cNo
https://www.xjtag.com
Для чего может быть полезен JTAG на x86
• Расследование инцидентов (чтение
прошивки, обнаружение руткитов)
• Исследования (Cache as RAM, Secure
Boot, Boot Guard, SMM)
• Низкоуровневая отладка (UEFI
DXE/PEI, драйверы, гипервизор)
• Анализ производительности
http://partsolutions.com/
JTAG в процессорах Intel
• JTAG 101 IEEE 1149.x and Software Debug —
http://www.intel.com/content/dam/www/public/us/en/documents/
white-papers/jtag-101-ieee-1149x-paper.pdf
• Debug Port Design Guide for UP/DP Systems —
http://download.intel.com/support/processors/pentium4/sb/31337
301.pdf
• Packetizing JTAG across industry, US 9,015,542 B2
• DFx software debug feature for IO and other non-memory typed
transactions, US 2011/0145443 A1
https://upload.wikimedia.org
Типы подключений
Intel In-Target Probe eXtended Debug Port (ITP-XDP)
Intel Direct Connect Interface (DCI): отладочная функциональность,
доступная через USB 3.0
• USB3 Hosting DCI (USB Debug cable)
• BSSB Hosting DCI (Intel SVT Closed Chassis Adapter)
Intel ITP-XDP
• «Прямой» доступ к отладочному
интерфейсу CPU
• Цена — 3000 $ (NDA)
• Требуется специальная материнская плата
с разъемом (BSH-030-01-F-D-A-TR)
• Закрытый протокол
https://designintools.intel.com
Intel DCI
Intel® 100 Series and Intel® C230 Series Chipset Family Platform Controller Hub (PCH)
Работает «из коробки» только на U-сериях
BSSB Hosting DCI
• Intel® Silicon View Technology Closed Chassis
Adapter (SVTCCA или BSSB) позволяет
получить доступ к DFx через USB 3.0.
• Цена — 390 $
• Закрытый протокол (не USB для целевой
платформы)
https://designintools.intel.com
USB3 Hosting DCI
• Не требует специального оборудования
• Не поддерживает «глубокий сон»
• Работает через интегрированное в PCH
устройство
• Использует стандартный протокол USB 3.0
• Работает через любой порт USB 3.0 http://www.datapro.net/
Устройство USB3 Hosting DCI
Как включить DCI
UEFI Human Interface Infrastructure (UEFI HII)
PCH Strap (Intel Flash Image Tool)
Устройство P2SB
Активация через UEFI HII
UEFI Human Interface Infrastructure —
http://www.uefi.org/sites/default/files/resources/UEFI
%20Spec%202_5_Errata_A.PDF
AMI BIOS Configuration Program 5.0 —
https://ami.com/products/bios-uefi-tools-and-
utilities/bios-uefi-utilities/
http://www.dediprog.com/
Активация через PCH Strap
Intel® Flash Image Tool
http://www.win-raid.com/t596f39-Intel-Management-Engine-Drivers-Firmware-amp-
System-Tools.html
Активация через P2SB
Ложка дегтя
Есть решение!
Live Demo
http://www.datapro.net/
Резюме
Современные СPU (Skylake, Kabylake) позволяют получить доступ
к JTAG через USB 3.0 на оборудовании, доступном в широкой
продаже (отладочные версии системных плат не требуются)
Позволяют использовать JTAG без подписания NDA
Используя эту технологию, можно «перепрошить» BIOS, даже если
вендор заблокировал доступ к SPI-flash, контролирует подпись,
но «забыл» заблокировать DCI
Может использоваться для целенаправленных атак
Активация в run-time
• Intel выпустит официальный бюллетень
• Крупные производители материнских плат подтвердили наличие
проблемы
• Названия производителей пока не разглашаются по их просьбе
Контакты
Максим Горячий
Марк Ермолов
Страницы Positive Technologies:
• На GitHub: https://github.com/ptresearch
• На Хабре: https://habrahabr.ru/company/pt/
• В соцсетях: https://www.facebook.com/PositiveTechnologies
https://twitter.com/ptsecurity
Спасибо!
ptsecurity.ru