Российские исследователи безопасности обнаружили скрытый способ деактивации Intel ME — встроенного микроконтроллера, потенциально опасного для пользователя. Оказалось, что в конфигурационных файлах процессоров Intel были оставлены следы экспериментов американского АНБ.
Что такое Intel Management Engine и почему это проблема
Intel Management Engine — это независимый микроконтроллер, встроенный в чипсет Platform Controller Hub (PCH). Он работает параллельно с основным процессором и обрабатывает большую часть данных, циркулирующих между CPU и внешними устройствами. Такой уровень доступа означает, что ME имеет возможность читать практически любую информацию на компьютере хоста.
Если Intel ME скомпрометирован злоумышленником, устройство превращается в уязвимый бэкдор, позволяющий захватить полный контроль над системой. Эта опасность обострилась в мае 2017 года, когда была раскрыта уязвимость в Intel Active Management Technology — ПО, работающем на базе ME. С тех пор специалисты по безопасности и правозащитные организации (в том числе Фонд электронных рубежей) требовали либо отключить этот механизм, либо хотя бы раскрыть подробную документацию по его работе.
Открытие недокументированного бита HAP
Исследователи Positive Technologies — Дмитрий Скляров, Марк Ермолов и Максим Горячий — разработали методику отключения Intel ME, используя специализированные утилиты. С помощью Flash Image Tool (FIT), предназначенного для настройки параметров ME, и Flash Programming Tool (FPT), обеспечивающей прямое программирование flash-памяти через встроенный SPI-контроллер, они изучили структуру прошивки ME и расшифровали конфигурационные биты в микросхеме PCH.
Ключевым открытием стало обнаружение недокументированного параметра HAP (High Assurance Platform — «Платформа высокого доверия»). При анализе конфигурационного файла рядом с битом reserve_hap исследователи нашли комментарий о включении HAP. Когда они установили этот бит в конфиге, Intel ME перестал отвечать на команды управления.
Происхождение из программы АНБ
HAP — это многолетняя программа Агентства национальной безопасности США, направленная на создание «доверительных платформ». Присутствие этого функционала в конфигурационных файлах Intel свидетельствует о том, что компания реализовала поддержку отключения ME на этапе разработки чипсетов, но держала эту возможность в секрете от обычных пользователей и производителей оборудования.
Технический механизм отключения
Функционал HAP обрабатывается на этапе BUP (platform BringUp) — процесса инициализации всей платформенной аппаратуры, управления питанием и запуска компонентов ME. Начиная с 100-й серии чипсетов Intel, PCH не может загрузиться без корректной прошивки ME; если BUP завершится неудачей, система либо вообще не запустится, либо загрузится в режиме Recovery с последующим отключением через определённое время.
В режиме HAP процесс BUP выполняет инициализацию платформы, но блокирует запуск остальных компонентов ME. Обработка HAP происходит после получения DID (Device ID) и запуска IBL-процессов из InitScript.
Для практического отключения ME необходимо:
установить бит HAP через параметр Reserved в секции FIT ME Kernel;
удалить или повредить все модули прошивки, кроме критических для BUP: RBE, KERNEL, SYSLIB, BUP;
удалить ненужные модули из CPD-раздела FTPR;
пересчитать контрольную сумму заголовка CPD для сохранения целостности прошивки.
Официальная позиция Intel
На запрос журналиста издания The Register компания Intel дала следующее объяснение: возможность отключения некоторых функций реализуется по просьбе клиентов с особыми требованиями, в частности производителей оборудования, оценивающих программу создания доверительных платформ. Intel уточнила, что эти изменения прошли ограниченный цикл проверки и не входят в официально поддерживаемые конфигурации корпорации.