Содержание
- Intel(R) Management Engine Interface — Скачать драйвер
- Что такое Intel(R) Management Engine Interface?
- Где скачать драйвер для IME
- Альтернативные варианты установки драйвера Intel(R) Management Engine
- Заключение
- Введение
- Контроль за состоянием AMT
- Выключение Intel ME при помощи утилит из Intel System Tool Kit
- How to Fix(Kind of) Intel Management Engine Interface Driver Issues
- Fix Intel management engine interface (The device cannot start code 10)
- Не устанавливается драйвер Intel® Management Engine Interface. РЕШЕНИЕ ПРОБЛЕМЫ
- Принудительное выключение Intel ME
- Вывод
- Безопасность прошивок на примере подсистемы Intel Management Engine
- Введение
- Архитектура Intel ME
- Архитектура ME-контроллера
- Прошивка Intel ME
- Заключение

В Intel SoC (там где эта подсистема называется Intel TXE) в качестве базовой модели для ME-контроллера используется SPARC.
Intel(R) Management Engine Interface — Скачать драйвер
При просмотре компонентов ПК в Диспетчере устройств можно обнаружить, что неизвестное устройство отображается с восклицательным знаком на фоне жёлтого треугольника. Последний обычно сигнализирует о наличии проблем с драйвером устройства, которые пользователю предстоит устранить. Ниже мы разберём, что такое Intel(R) Management Engine Interface и где можно загрузить для него драйвер. Также разберем особенности функционала данного устройства.
Что такое Intel(R) Management Engine Interface?
«Intel Management Engine» (в переводе «Двигатель управления Интел») – это автономная подсистема, которая с 2008 встраивается во все чипсеты от Intel. Обычно она находится в семействе микросхем «Platform Controller Hub», выполняющих роль южного моста.
«IME» состоит от отдельного микропроцессора (обычно это «Intel Quark x86-based 32-bit») и своей собственной ОС («MINIX 3»). Подробный характер операций данной подсистемы недокументирован.

Задействование «Intel Management Engine» с драйвером позволяет отдалённо включать и выключать ПК, выполнять на нём разнообразные операции независимо от того, установлена ли какая-либо ОС на компьютере или нет.
Данная технология стартует при подаче на ПК дежурного напряжения (при подключении к сети или аккумулятору). Пользователь может не подозревать, что его система функционирует, не подавая при этом признаков жизни.
Компания Интел заявляет, что работа IME предназначена для повышения производительности системы. Тем не менее, поскольку производитель не раскрывает суть работы и характер операций технологии, существуют различные предположения о предназначении указанной системы со скаченным драйвером.
Обычными способами отключить Management Engine невозможно. Все попытки отключения кустарным способом приводят к выходу из строя всего ПК.
Где скачать драйвер для IME
Компания «Intel» предоставляет возможность загрузить драйвер для IME под названием «Intel(R) Management Engine Interface» с официального сайта.
На ресурсе доступен свежий драйвер для всех современных версий ОС 32 и 64 бита (Виндовс 10, 8.1, 8, 7, Виста, XP). Для скачивания предлагается zip-архив, который после загрузки потребуется распаковать.

-
Перейдите в папку « Consumer » распакованного архива.

Папка « WINDOWSDriverPackages » содержит inf-файлы для IT-профессионалов.
Альтернативные варианты установки драйвера Intel(R) Management Engine
Кроме сайта Интел, где вы можете скачать драйвер для IME, существуют также другие варианты для вашего ПК:
- Установите все системные обновления для вашей ОС . В частности проследите, чтобы было установлено обновление KB2685811. Последнее доступно для загрузки с сайта Майкрософт;
- Используйте программы для установки драйверов уровня «ДрайверПак Солюшн» . Последние устанавливают свежие драйвера к системным компонентам в полуавтоматическом режиме;
- Используйте специализированные драйвера IME , представленные для компьютеров Sony и Vaio, Lenovo, Dell.
Заключение
В нашем материале мы разобрали, где можно скачать новейший драйвер для устройства Intel(R) Management Engine Interface, и как установить данный драйвер в вашей системе. Учтите, что технология IME до сих пор вызывает массу вопросов у специалистов, включая наличие в ней уязвимостей, позволяющих получить полноценный доступ к пользовательскому ПК. Установка драйвера выполняется стандартным образом, после чего восклицательный знак в Диспетчере устройств обычно исчезает.
Введение

Напомним, что основным компонентом Intel ME является встроенный в чипсет микроконтроллер с кастомной архитектурой. Известна лишь базовая модель, это 32-х разрядный ARCtangent-A4 (ME 1.x — 5.x), ARCtangent-A5 (ME 6.x — 10.x), SPARC (TXE) или x86 (ME 11.x — . ).
Начиная с 6-й версии, ME-контроллер встраивают во все чипсеты Intel.

[рисунок взят отсюда]
Загрузчик его прошивки хранится во внутренней ROM и недоступен для анализа. Сама прошивка располагается в регионе ME во внешней SPI флэш-памяти (т.е. в той же памяти, где хранится BIOS). Структура этой прошивки такова, что весь исполнимый код разбит на модули, которые хранятся в сжатом виде (либо кастомной реализацией алгоритма Хаффмана, либо LZMA). Эти кодовые модули криптографически защищены от модификаций.
Если есть желание поревёрсить прошивку, рекомендуем воспользоваться этими двумя инструментами для изучения её структуры и распаковки кодовых модулей.
Итак, рассматриваемая подсистема является аппаратно-программной основой для различных системных функций (некоторые раньше реализовывали в BIOS) и технологий Intel. Их имплементация включается в состав прошивки Intel ME. Одной из таких технологий, использующих несколько особых привилегий Intel ME, является Active Management Technology (AMT).
Контроль за состоянием AMT
AMT – технология удалённого администрирования компьютерных систем, для которых заявлена официальная поддержка Intel vPro (это бренд, объединяющий несколько технологий, в том числе, AMT). Речь идёт о системах с чипсетами линейки Q (например, Q57 или Q170).
Учитывая высокую стоимость таких платформ, вряд ли кто-то случайно приобретёт компьютер с AMT для того, чтобы принципиально этой технологией не пользоваться. Тем не менее, если под рукой именно такой продукт, и есть необходимость убедиться, что AMT на текущий момент выключена, следует воспользоваться утилитой ACUwizard:

[рисунок взят отсюда]
или средством Intel Management and Security Status (входит в состав ПО Intel ME для vPro-платформ, можно обнаружить в трее):


- 5900 – AMT VNC-сервер без шифрования;
- 16992 – AMT веб-сервер по протоколу HTTP;
- 16993 – AMT веб-сервер по протоколу HTTPS;
- 16994 – AMT redirection для SOL, IDE-R, KVM без шифрования;
- 16995 – AMT redirection для SOL, IDE-R, KVM с TLS.
В продуктах, не относящихся к разряду vPro-платформ AMT включить нельзя, однако в состав прошивки Intel ME входят сетевые драйверы:

Это означает, что ME-контроллер (не будем забывать, что он всегда включен) имеет техническую возможность использования сетевого интерфейса.
Поэтому проблему стоит решать основательно – пытаться выключить подсистему Intel ME.
Выключение Intel ME при помощи утилит из Intel System Tool Kit
- Прошивку Intel ME в бинарном виде;
- Модули MEBx для BIOS;
- ПО Intel ME для ОС;
- Intel System Tool Kit (STK) — комплект программных средств и документации для сборки образов SPI флэш-памяти, применения этих образов и получении информации о текущем состоянии Intel ME.
Несмотря на то, что этот комплект распространяется по NDA (судя по меткам «Intel Confidential» в прилагаемых документах), многие вендоры забывают его вырезать из архива с ПО Intel ME, который передаётся пользователям. А ещё не закрывают свои ftp-серверы от внешнего доступа. В результате, утекших версий STK очень много. Здесь можно слить комплект для любой версии Intel ME.
Важно, чтобы major и minor version (первая и вторая цифры) используемого STK совпадала с версией Intel ME целевой системы, информацию о которой можно получить, например, воспользовавшись ME analyzer:

Проверять текущее состояние Intel ME можно при помощи утилиты MEinfo, которая через Management Engine Interface (MEI) получает информацию о работе этой подсистемы:
How to Fix(Kind of) Intel Management Engine Interface Driver Issues

Напомним, что MEI является интерфейсом для связи основного CPU с подсистемой Intel ME и представляет собой набор регистров в конфигурационном пространстве PCI и в MMIO. Команды этого интерфейса не документированы, как и сам протокол.
Flash Image Tool
На старых платформах (Intel ME версии 5.x и ниже) выключить данную подсистему можно, воспользовавшись Flash Image Tool (утилита из STK, предназначенная для сборки образов SPI флэш-памяти из отдельно взятых регионов BIOS, ME, GbE). При сборке задаются параметры, которые прописываются в этих регионах и в регионе Flash Descriptors. В последнем есть один очень интересный флаг, «ME disable»:

Таким образом, для выключения Intel ME на целевой компьютерной системе, в её SPI флэш-память следует записать (программатором) новый образ с выставленным флагом «ME disable».
Работает ли этот способ, нам неизвестно. Но звучит правдоподобно, учитывая, что ME-контроллер в тех версиях интегрировался только в чипсеты линейки Q, т.е. был не обязательным компонентом для всех платформ.
Flash Programming Tool
Начиная с Intel ME 9 версии, в утилиту Flash Programming Tool, предназначенную для программирования SPI флэш-памяти компьютерных платформ, была добавлена возможность временно выключать Intel ME:
Fix Intel management engine interface (The device cannot start code 10)

Выключение выполняется отправкой команды в MEI. После отработки Intel ME не подаёт «признаков жизни», не отвечает даже MEI:

Не устанавливается драйвер Intel® Management Engine Interface. РЕШЕНИЕ ПРОБЛЕМЫ
Согласно документации, в таком состоянии подсистема Intel ME находится до следующего запуска компьютера или перезагрузки.
На vPro-платформах возможность отправки этой команды есть и в более ранних версиях. Для этого необходимо воспользоваться разделом конфигурирования ME/AMT в BIOS, где должна быть опция «Intel ME disable»:

[рисунок взят отсюда]
Нельзя говорить о том, что этот способ позволяет полностью отключить Intel ME, хотя бы потому, что до момента принятия команды на отключение ME-контроллер успеет загрузиться, а значит, выполнить некоторую часть кода прошивки.
Несмотря на то, что Intel ME не подаёт «признаков жизни» после этой операции, неизвестно, может ли эту подсистему заново включить какой-нибудь сигнал извне. Также неясно, насколько Intel ME выключена.
Принудительное выключение Intel ME
В интересах исключения возможности исполнения ME-контроллером кода прошивки, логично попробовать ограничить ему доступ к ней. А что? Нет кода – нет проблемы.
Проанализировав документацию, которая прилагается к STK, и, немного подумав, мы предположили, что это можно сделать следующими способами.
1. Вырезать (обнулить) ME регион из SPI флэш-памяти.
Те, кто пробовал так делать сообщают о том, что их платформа либо не загружалась без наличия подлинной прошивки ME, либо выключалась ровно после 30 минут работы.
Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).
- стереть первые 0x20 байт в ней (таким образом повредив сигнатуру 0x0FF0A55A, которая определяет режим работы флэш-памяти);
- выставить джампер HDA_SDO (если он есть).
Таким образом, ME-контроллер не получит доступ к своему региону, и, следовательно, не будет исполнять прошивку.
С одной стороны, ME-контроллер так же, как и в предыдущем случае, может препятствовать нормальной работе компьютерной системы. С другой стороны, не дескрипторный режим включает т.н. manufacturing mode, который используется вендорами в отладочных целях, и есть шанс, что система запустится.
3. Известно, что прошивка Intel ME распаковывается в выделенную и скрытую от основного CPU область оперативной памяти – ME UMA. Выделение и блокировку этой области осуществляет BIOS во время конфигурирования карты памяти. Тогда почему бы не вырезать эти фрагменты кода из BIOS, чтобы данная область не выделялась. Тогда прошивка ME не будет распаковываться и исполняться.
Проведённые эксперименты показали, что такой способ тоже не годится, и система не запускается. К тому же, у ME-контроллера есть внутренняя SRAM, которая используется при недоступности ME UMA. Поэтому часть прошивки всё равно будет исполняться.
Вывод
- отключение при каждом старте командой в MEI или отключение флагом в регионе flash descriptors (в зависимости от версии);
- ограничение доступа ME-контроллеру к своей прошивке либо перевод компьютерный платформы в manufacturing mode.
- препятствование нормальной работе ME-контроллера не обеспечивая его runtime-памятью.
Очевидно, что некоторые предложенные решения влекут за собой неработоспособность компьютерной системы, остальные не дают никакой гарантии того, что подсистема Intel ME действительно выключена. В связи с этим, мы пришли к выводу, что полностью выключить Intel ME крайне сложно.
Вероятно, это связано с тем, что, отключая Intel ME, мы нейтрализуем важный компонент в архитектуре компьютерной системы. Например, без ME некому будет решать важные системные задачи вроде ACPI или ICC (которые когда-то реализовывались в BIOS). Чтобы заставить платформу стабильно работать без ME, как минимум, необходимо вернуть реализацию этих технологий в BIOS.
Так или иначе, вопрос о том, как отключить Intel ME без потери работоспособности компьютерной системы, остаётся открытым.
- Блог компании Digital Security
- Информационная безопасность
- Системное программирование
- Реверс-инжиниринг
Безопасность прошивок на примере подсистемы Intel Management Engine


В предыдущей статье был описан ход исследования безопасности прошивок промышленных коммутаторов. Мы показали, что обнаруженные архитектурные недостатки позволяют легко подделывать образы прошивок, обновлять ими свитчи и исполнять свой код на них (а в некоторых случаях — и на подключающихся к свитчам клиентах). В дополнение, мы описали возможности закрепления внедряемого кода на устройствах. Подчеркнули низкое качество кода прошивок и отсутствие механизмов защиты от эксплуатации бинарных уязвимостей.
Мы обещали привести реальный пример сильной модели безопасности прошивок, где модификация исполнимого кода является очень нетривиальной задачей для потенциального злоумышленника.
Встречайте – подсистема Intel Management Engine, самая загадочная составляющая архитектуры современных x86-платформ.
Введение
Для начала, основательно разберёмся в предметной области. Что это такое, откуда и зачем появилось?
В 2005 году компания Intel представила Active Management Technology (AMT) версии 1.0 — решение для удалённого администрирования (управление, инвентаризация, обновление, диагностика, устранение неполадок и т.д.) и защиты десткопных компьютерных систем, своего рода аналог технологии Intelligent Platform Management Interface (IPMI), использующейся в серверах.

[рисунок взят отсюда]
- внеполосный (out-of-band) доступ к сетевому интерфейсу (Ethernet), который он разделяет с основным CPU, но, имея собственный контроллер канального уровня, осуществляет мониторинг всего входящего сетевого трафика, из которого «вырезает» (при помощи Packet Filter) пакеты, предназначенные для него. Для ОС (наличие и состояние которой, кстати, на работу AMT никак не влияет) этот трафик уже не виден;
- внутренний веб-сервер с TLS-шифрованием;
- доступ к периферийному оборудованию, получение и хранение в энергонезависимой памяти (там же, где и его прошивка) информации о нём.
А ещё этот микроконтроллер начинает работать при подаче питания на материнскую плату компьютерной системы (т.е. при подключении компьютера к электрической сети, ещё до того, как пользователь нажмёт кнопку Power).
Итак, Management Engine всегда включён, но использование возможностей AMT требует активации (подразумевает задание пароля, сетевых параметров,… ) в BIOS setup, а точнее в MEBx setup:

[скриншот взят отсюда]
Похвально, что дефолтный пароль («admin») при первом входе обязательно требуется изменить на новый, удовлетворяющий определённым требованиям: минимум 8 символов, среди которых должны присутствовать хотя бы одна цифра, одна заглавная буква и один спец. символ.
- инвентаризация аппаратного обеспечения;
- веб-интерфейс (по HTTP через порт 16992);
- Serial Over LAN (SOL) – виртуальный COM-порт через сеть, позволяющий включать/перезагружать/выключать компьютер, получать доступ к меню BIOS setup;
- IDE-Redirection (IDE-R) – опция перенаправления загрузки с локального загрузочного устройства на удалённое (предварительно подготовленный образ системы).
AMT 1.0 была реализована на интегрированном в южный мост чипсета (Input/Output Controller Hub, ICH) сетевом модуле Intel 82573E series Gigabit Ethernet Controller.
Затем, в 2006 году, начиная с AMT версии 2.0, микроконтроллер перенесли в северный мост чипсета (Graphics and Memory Controller Hub, GMCH). Именно тогда подсистему наименовали в Intel Management Engine (ME) версии 2.0.
Одновременно с этим появился бренд Intel vPro, который обозначал комплекс реализованных на основе Intel ME технологий: AMT, Trusted Execution Technology (TXT) и Virtualization Technology (VT). Позже в этот список вошли Identity Protection Technology (IPT) и Anti-Theft (AT).
Тогда же Intel ME наделили ещё большим количеством впечатляющих возможностей, среди которых — полный доступ ко всему содержимому оперативной памяти компьютера через внутренний DMA-контроллер, а в дальнейшем появилась возможность мониторинга видеопотока, выводящегося на монитор (правда, только в случае использования встроенного графического ядра).
- часть функций Advanced Control and Power Interface (ACPI) и Alert Standard Format (ASF);
- Quiet System Technology (QST);
- Integrated Clock Control (ICC);
- Trusted Platform Module (TPM);
- .
AMT тоже не стояла на месте и активно развивалась: изменялся состав используемых протоколов (например, добавилась поддержка HTTPS через порт 16993), в версии 6.0 для удалённого администратора появилась фича Remote Desktop, она же KVM (Keyboard Video Mouse), и прочее.
Подробнее про развитие Intel AMT можно почитать здесь.
Тем не менее, из-за высокой стоимости реализации, эта подсистема присутствовала, за несколькими исключениями, только на материнских платах с чипсетами Intel линейки Q:
| GMCH | ICH | ME/AMT version |
|---|---|---|
| Q965 | ICH8 | ME 2.x (AMT 2.x) |
| GM965 / GME965 / GL960 / GLE960 / PM965 | ICH8M | ME 2.5.x (AMT 2.5.x)
Что будем искать? Например,Человек |