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