49
ptsecurity.com Intel ME Manufacturing Mode — скрытая угроза Максим Горячий Марк Ермолов

Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ptsecurity.com

Intel ME Manufacturing Mode — скрытая угроза

Максим Горячий

Марк Ермолов

Page 2: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

О нас

Марк Ермолов

Исследователь по безопасности

Twitter: @_markel___

e-mail: mermolov[at]ptsecurity[dot]com

Максим Горячий

Исследователь по безопасности

Twitter: h0t_max

e-mail: mgoryachy[at]ptsecurity[dot]com

Page 3: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Мотивация и немного истории

Page 4: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Мы обнаружили уязвимость

в Intel ME 11,

которая позволяет выполнять

произвольный код

(INTEL-SA-00086)*

*How to Hack a Turned-Off Computer, or Running Unsigned Code in Intel Management Engine

Page 5: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Для успешной эксплуатации

необходим доступ на запись к

региону МЕ

Page 6: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Мы начали искать способ добиться

записи в регион МЕ…

Page 7: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Мы нашли несколько

недокументированных HECI команд,

которые позволяют перезаписать

регион МЕ

Page 8: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Содержание

Обзор Intel-SA-00086

Обход защиты записи МЕ региона

Интерфейс HECI

Manufacturing Mode

Перезагрузка платформы

Как защититься

Page 9: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Обзор Intel-SA-00086

Page 10: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Intel ME

• Недокументированная технология с закрытой прошивкой

• «Root of trust» для многих технологий, связанных с безопасностью

• Имеет полный доступ к аппаратуре

• Может перехватывать пользовательские данные с помощью встроенных устройств

• Контролирует все стадии работы платформы

Page 11: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Уязвимость Intel-SA-00086

• CVSSv3: AV:L/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H (8.2 High )

• Атакующему необходим доступ на запись в МЕ регион

• Уязвимы Intel® Management Engine (ME), Intel® Server Platform Services (SPS), and Intel® Trusted Execution Engine (TXE)

Page 12: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Уязвимые платформы

• 6th, 7th & 8th Generation Intel® Core™ Processor Family

• Intel® Xeon® Processor E3-1200 v5 & v6 Product Family

• Intel® Xeon® Processor Scalable Family

• Intel® Xeon® Processor W Family

• Intel® Atom® C3000 Processor Family

• Apollo Lake Intel® Atom Processor E3900 series

• Apollo Lake Intel® Pentium™

• Celeron™ N and J series Processors

Page 13: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Intel-SA-00086: PoC

JTAG PoC для Gigabyte Brix GP-BPCE-3350C

github.com/ptresearch/IntelTXE-PoC

Page 14: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Обход защиты от записи

Page 15: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Как можно перезаписать ME регион

• Ошибки в конфигурации в дескрипторе SPI flash

• Через недокументированное сообщение HMR-FPO HECI

Manufacture mode

Атаки на переменные UEFI

DMA attack

• Перемычка Security Descriptor Override

• SPI программатор

Page 16: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

SPI-Flash Layout

DESC

GBE

BIOS

ME

Page 17: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

SPI-Flash Region Access Permissions

Page 18: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

SPI-Flash Access Control: хороший случай

DESC BIOS ME GBE

DESC NA NA NA NA

BIOS R R/W -/- -/-

ME R R R/W R

GBE -/- -/- -/- R/W

FROMTO

Page 19: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

SPI-Flash Access Control: плохой случай

DESC BIOS ME GBE

DESC R/W NA NA NA

BIOS R/W R/W R/W R/W

ME R/W R/W R/W R/W

GBE R/W R/W R/W R/W

FROM

TO

Page 20: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ME-Region Permissions: реальный мир

Model Read Write

ASUS Z170-A - -

Gigabyte Brix 3350C + +

Gigabyte Brix 6300 + +

Gigabyte Z97M + +

Gigabyte B360 + +

Lenovo Yoga - -

Lenovo ThinkPad x260 - -

Apple + -

Intel NUC - -

Page 21: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

«Магическая» перемычка

Page 22: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ME FW Overwrite

Page 23: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Интерфейс HECI

Page 24: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Management Engine Interface (MEI)

• HECI (Host-Embedded Communication Interface)

• PCI устройство с BDF 0:22:0(1)

• Реализует кольцевой буфер, доступный через MMIO регистры MEI

• Приложение ME взаимодействует с приложениями хоста через MEI, используя уникальные идентификаторы клиентов

• Каждый идентификатор клиента определяет структуру сообщений, проходящих через MEI

Page 25: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

HMR FPO Enable MKHI Command

• HMR FPO — Host ME Region Flash Protection Override

• MKHI command ID 0x01, из группы MKHI_GROUP_ID_HMRFPO (0x05)

• Команда целиком: 0x800c0007 0x00000105 0x00000000 0x00000000

• Обрабатывается только до End of Post

• Разрешает доступ регионам после перезагрузки

• Если команда отработала, ME регион SPI может быть перезаписан, игнорируя настройки доступа

Page 26: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

HMR FPO Enable MKHI Command

• HMR FPO - Host ME Region Flash Protection Override

• MKHI command ID 0x01, из группы MKHI_GROUP_ID_HMRFPO (0x05)

• Команда целиком: 0x800c0007 0x00000105 0x00000000 0x00000000

• Обрабатывается только до End of Post (???)

• Разрешает доступ регионам после перезагрузки

• Если команда отработала, ME регион SPI может быть перезаписан, игнорируя настройки доступа

Page 27: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Загрузка системы

Reset

VectorMemory Init

CPU

ME

Loading Kernel Start CPU Waiting DID

Module

Waiting EOP

Send EOPDXE

ModuleModule

Start OSSend DID DXEDXE

Lock

Configuration

Reset

Vector

Page 28: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Загрузка системы (на самом деле)

Reset

VectorMemory Init

Reset

Vector

CPU

ME

Loading Kernel Start CPU Waiting DID

Module

Waiting EOP

Send EOPDXE

ModuleModule

Start OSSend DID DXEDXE

Lock

Configuration

MMode

is active

No

Yes

Page 29: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

HMR FPO Enable MKHI Command

• HMR FPO - Host ME Region Flash Protection Override

• MKHI command ID 0x01, из группы MKHI_GROUP_ID_HMRFPO (0x05)

• Команда целиком: 0x800c0007 0x00000105 0x00000000 0x00000000

• Обрабатывается только до End of Post

• Разрешает доступ регионам после перезагрузки

• Если команда отработала, ME регион SPI может быть перезаписан, игнорируя настройки доступа

Manufacturing Mode

Page 30: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ME FW Manufacture mode

• Инициализационный режим ME Firmware, разработан для производителей платформ*

• Позволяет задавать конфигурацию BootGuard, ISH и ряда других настроек PCH

• Можно определить по 4-му биту of HFS MEI регистре (+0x40 MEI config space offset)

• Intel добавила функцию автоматического отключения для ME 11+

• На некоторых платформах хранится в энергонезависимой памяти (FUSEs)

home/mca/[5]

1: iF=070 m=dN---Irwxr-x--- u=0046 g=00EE s=1DEF2070.4A32.D29AC77F . <dir> Non-I

2: iF=008 m=dN---Ir-xr-xr-x u=0000 g=0000 s=10000008.0000.00000000 .. <dir> Non-I

3: iF=071 m= N---Irw-r----- u=0000 g=00EE s=137D3071.06F6.9D4401C2 eom 1 Non-I

4: iF=072 m= N---Irw-r--r-- u=0046 g=00EE s=1E234072.6FE5.A11D54CB manuf_lock 1 Non-I

5: iF=03B m= N---Irwxr----- u=0000 g=00EE s=10B0E03B.1A3B.17744312 deploy 32 Non-I

Page 31: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Flash Descriptor: unlock

Read HECI

Message

write(/susram/hmrfpo, 1)

Lock = True

Is EOPIs MM Active?

Is HMR_FPO

Starthmrfpo = read(/susram/hmrfpo)

Lock = Falsehmrfpo == 0 Set R/W Access

Lock == False

End

Page 32: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Мы обнаружили, что ноутбуки Apple

на чипсетах Intel функционируют в

Manufacturing Mode

Page 33: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Еще одна проблема

Компьютеры Apple имеют

дополнительную проверку в UEFI,

которая выполняется в момента

старта и блокирует дальнейшую

загрузку, если регионы SPI flash

открыты на запись

Page 34: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Перезагрузка платформы

Page 35: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Platform Reset: CPU Side

https://www.intel.com/content/dam/www/public/us/en/documents/datasheets/100-series-chipset-datasheet-vol-2.pdf

Page 36: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Platform Reset Type

ME CPU

Global Reset + +

Soft Reset - +

??? + -

Page 37: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ME Rest HECI Command

• MKHI command ID 0x0b, из группы 00

• MEI команда целиком : 0x80060007 0x00000b00

0x00000300

• Может быть отправлена в любой момент, даже после

EOP

Page 38: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Обход защиты от записи

/susram/hmrfpo := 1 send ME_RESET*

If (/susram/hmrfpo==1)

set R\W access

send HMR_FPO*

rewrite ME-region**

Attacker: Step 1 ME

ME

Attacker: Step 2

Attacker: Step 3

*Need access to HECI device

**Need access to SPI device

Page 39: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Демо

Page 40: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

CVE-2018-4251

Page 41: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

INTEL-SA-00086 + CVE-2018-4251

Локальный вектор эксплуатации для

INTEL-SA-00086, который позволяет

выполнить произвольный код в Intel ME

Page 42: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Отдаленные последствия

Page 43: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Как защититься

Page 44: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Detection: MEInfo

Page 45: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Detection: Mmdetect

github.com/ptresearch/mmdetect

Page 46: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Detection: CHIPSEC

github.com/chipsec/chipsec/releases/tag/v1.3.6

Page 47: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Disabling Manufacturing Mode

fitw64.exe –closemnf no

Page 48: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

Наши публикации

1. JTAG в каждый дом: полный доступ через USB: habr.com/ru/company/pt/blog/341946/;

2. Как взломать выключенный компьютер или выполнить код в Intel ME — habr.com/ru/company/pt/blog/346974/;

3. Inside Intel Management Engine, 34c3;

4. Intel ME: Security keys Genealogy, Obfuscation and other Magic;

5. Intel ME Manufacturing Mode: obscured dangers and their relationship to Apple MacBook vulnerability CVE-2018-4251.

Page 49: Intel ME Manufacturing Mode —скрытая угроза · 2019-05-17 · ptsecurity.com Intel ME Manufacturing Mode —скрытая угроза Максим Горячий

ptsecurity.com

Спасибо за внимание!