Удoбныe срeдствa удaлённoгo упрaвлeния спaсaют систeмным aдминистрaтoрaм мнoгo сил — и oднoврeмeннo прeдстaвляют сoбoй oгрoмную угрoзу бeзoпaснoсти в тoм случae, кoгдa иx нeльзя отключить аппаратно с помощью джампера или переключателя на системной плате. Блок Intel Management Engine 11 в современных платформах Intel представляет собой именно такую опасность — изначально он неотключаем и, более того, на него завязаны некоторые механизмы инициализации и функционирования процессора, так что грубая деактивация может просто привести к полной неработоспособности системы. Уязвимость кроется в технологии Intel Active Management Technology (AMT) и при удачной атаке позволяет получить полный контроль над системой, о чём было рассказано ещё в мае этого года. Но исследователям из Positive Technologies удалось найти путь устранения угрозы.
Сам процессор IME является частью микросхемы системного хаба (PCH). За исключением процессорных слотов PCI Express, всё общение системы с внешним миром проходит именно через PCH, а значит, IME имеет доступ практически ко всем данным. До версии 11 атака по этому вектору была маловероятна: процессор IME использовал собственную архитектуру с набором команд ARC, о которой было мало что известно сторонним разработчикам. Но в 11 версии с технологией сыграли плохую шутку: она была переведена на архитектуру x86, а в качестве ОС применили доработанный MINIX, а значит, сторонние исследования бинарного кода существенно упростились: и архитектура, и ОС неплохо документированы. Российским исследователям Дмитрию Склярову, Марку Ермолову и Максиму Горячему удалось расшифровать исполняемые модули IME 11 версии и начать их тщательное изучение.
Технологии Intel AMT присвоена оценка уязвимости 9,8 из 10 баллов. К сожалению, полное отключение IME на современных платформах невозможно по вышеописанной причине — подсистема тесно связана с инициализацией и запуском ЦП, а также управлением энергопотреблением. Но из образа флеш-памяти, содержащего модули IME, можно удалить всё лишнее, хотя сделать это очень сложно, особенно в версии 11. Активно развивается проект me_cleaner, утилита, позволяющая удалить общую часть образа и оставить только жизненно необходимые компоненты. Но приведём небольшое сравнение: если в версиях IME до 11 (до Skylake) утилита удаляла практически всё, оставляя примерно 90 Кбайт кода, то в настоящее время необходимо сохранить около 650 Кбайт кода — и то в некоторых случаях система может отключиться через полчаса, поскольку блок IME переходит в режим восстановления.
Подвижки, однако, имеются. Вышеупомянутой группе исследователей удалось воспользоваться комплектом разработчика, который предоставляется самой Intel и включает в себя утилиты Flash Image Tool для настройки параметров IME и прошивальщик Flash Programming Tool, работающий через встроенный SPI-контроллер. Intel не выкладывает эти программы в открытый доступ, но найти их в сети не представляет особого труда.
Полученные с помощью этого комплекта XML-файлы были подвергнуты анализу (они содержат структуру прошивки IME и описание механизма PCH strap). Один бит под названием «reserve_hap» (HAP) показался подозрительным из-за описания «High Assurance Platform (HAP) enable». Поиск в сети показал, что это название программы по созданию платформ высокой доверенности, связанная с АНБ США. Задействование этого бита показало, что система перешла в режим Alt Disable Mode. Блок IME не отвечал на команды и не реагировал на воздействия из операционной системы. Имеется и ряд более тонких нюансов, которые можно узнать в статье на Habrahabr.ru, но в новой версии me_cleaner уже реализована поддержка большей части опасных модулей без установки бита HAP, что вводит движок IME в состояние «TemporaryDisable».
Последняя модификация me_cleaner оставляет даже в 11-ой версии IME только модули RBE, KERNEL, SYSLIB и BUP, в них не найдено кода, позволяющего включить саму систему IME. В дополнение к ним можно использовать и бит HAP для полной уверенности, что утилита также умеет делать. Intel ознакомлена с результатами исследований и подтвердила, что ряд настроек IME действительно связан с потребностями государственных организаций в средствах повышенной безопасности. Введены эти настройки были по просьбе правительственных клиентов США, они прошли ограниченную проверку и официально такие конфигурации компанией Intel не поддерживаются. Компания также отрицает внедрение в свои продукты так называемых бэкдоров.
Источники: