Intel Management Engine
Intel Management Engine (МЕ, также Intel Manageability Engine[1][2]) — автономная подсистема, включённая практически во все чипсеты процессоров Intel начиная с 2008 года.[1][3][4] Она размещается в чипсете платформенного контроллера современных материнских плат Intel.
Intel Management Engine продолжает функционировать, пока плата получает питание, даже если компьютер выключен. Отключение возможно только аппаратными средствами — полным физическим разъединением материнской платы от электросети и внутренних аккумуляторов. Electronic Frontier Foundation и некоторые специалисты по безопасности выражали обеспокоенность, что Management Engine представляет собой закладку (backdoor).
Основной конкурент Intel — компания AMD — реализовала аналогичную технологию AMD Secure Technology (ранее — Platform Security Processor) во всех своих процессорах после 2013 года.
Отличие от Intel AMT
Intel Management Engine часто путают с технологией Intel AMT. AMT работает поверх ME, однако доступна только на процессорах с поддержкой vPro. AMT предоставляет владельцу удалённое администрирование компьютера[5] (включая включение/выключение питания и переустановку операционной системы).
В то же время ME встроена во все чипсеты Intel с 2008 года, а не только в те, что поддерживают AMT. Владелец устройства может удалить настройку AMT, однако официального и документированного способа полностью отключить ME не существует.
Архитектура
Подсистема Intel ME в основном состоит из проприетарной микропроцессорной прошивки, выполняющей различные задачи при загрузке, работе и в спящем режиме компьютера[6]. Пока чипсет или система на кристалле подключён к источнику питания (батареи или блоку питания), ME продолжает функционировать независимо от состояния основной системы[7]. Intel утверждает, что корректная работа ME необходима для максимальной производительности оборудования[8]. Детальное устройство системы[9] в основном не раскрывается[10], а код ME обфусцирован с помощью засекреченных хаффмановских таблиц, реализованных аппаратно; прошивка не содержит данных для декодирования своего содержимого[11].
Начиная с ME 11 (представленной в процессорах Skylake), используется x86-совместимый процессор Intel Quark (32-бит), на котором работает мини-операционная система MINIX 3[12]. Прошивка ME хранится в выделенном разделе SPI-флеш памяти вместе с BIOS — используется Embedded Flash File System (EFFS)[13]. Более ранние версии ME работали на процессоре ARC с RTOS ThreadX. Версии 1.x—5.x использовали ядро ARCTangent-A4 (32-битные инструкции), а 6.x—8.x — ARCompact (смесь 32- и 16-битных инструкций). В ME 7.1 ARC-процессор получил поддержку подписанных Java-апплетов.
ME имеет собственные MAC- и IP-адреса для канала внеполосного управления, с прямым доступом к Ethernet-контроллеру; часть трафика отправляется в ME ещё до передачи основному процессору. Интерфейс настраивается через Management Component Transport Protocol (MCTP)[14][15]. Обмен с основной системой возможен также через интерфейс PCI[13]. В Linux взаимодействие происходит через /dev/mei или /dev/mei0[16][17].
До появления процессоров Nehalem ME обычно размещалась в северном мосту, по схеме Memory Controller Hub[18]. В более новых архитектурах (начиная с Intel 5 Series) ME интегрирована в Platform Controller Hub (PCH)[19][20].
По терминологии Intel, актуальной на 2017 год, ME — один из нескольких комплектов прошивок для Converged Security and Manageability Engine (CSME). Ранее CSME называлась Intel Management Engine BIOS Extension (Intel MEBx)[1].
- Management Engine (ME) — для настольных чипсетов[21].
- Server Platform Services (SPS) — для серверных чипсетов и SoC[22][21][23].
- Trusted Execution Engine (TXE) — для планшетов, встроенных и маломощных платформ[24][25].
ME с версией прошивки 11 работает под MINIX 3[12][26]. Управление модулями ME при настройке UEFI осуществляется через программу Intel Flash Image Tool (FITC).
- Active Management Technology (AMT)[2]
- Intel Boot Guard (IBG)[27] и Secure Boot[25]
- Quiet System Technology (QST, ранее — Advanced Fan Speed Control) — акустически оптимизированное управление вентиляторами, мониторинг температуры, напряжений, токов и контроллеров на плате и в ЦП. Протокол общения с прошивкой QST задокументирован и доступен посредством официального SDK[28]
- Protected Audio Video Path — обеспечивает контроль HDCP[29][11]
- Intel Anti-Theft Technology (AT, снята с поддержки в 2015 году)[30][31]
- Serial over LAN (SOL)[32]
- Intel Platform Trust Technology (PTT) — реализация TPM на основе прошивки[27][33]
- Near Field Communication, поддержка NFC и безопасных элементов для новых версий MEI[34]
Уязвимости безопасности
В работе ME были выявлены различные уязвимости. 1 мая 2017 года Intel подтвердила удалённо эксплуатируемый баг типа Remote Elevation of Privilege (SA-00075) в технологиях управления[35]. Под угрозой оказались все платформы Intel, поддерживающие Standard Manageability или AMT, начиная с Nehalem 2008 года и до Kaby Lake 2017 года[36][37]. Были также обнаружены пути несанкционированного отключения ME, позволяющие нарушить её работу.[38][39][12] В 2017 году были подтверждены другие критические уязвимости, затрагивающие прошивки ME, TXE и SPS на компьютерах от Skylake до Coffee Lake.[40][41] Основных путей обхода уязвимости минуя официальное обновление прошивки не существует[42].
В июле 2018 года были раскрыты новые уязвимости (SA-00112)[43], а в сентябре 2018 — ещё одна (SA-00125)[44].
Обвинения в наличии закладки
Критики (например, Electronic Frontier Foundation, разработчики Libreboot и эксперт Дамьен Заммит) указывали на то, что ME фактически представляет собой «закладку» и угрозу для приватности[45][4]. Заммит подчёркивал полный доступ ME к памяти системы и сетевым возможностям, включая работу в обход операционной системы и её межсетевого экрана[5].
В компании Intel заявляют, что не внедряют «закладок» в свои продукты и не имеют доступа к компьютерам пользователя без его разрешения[5]. Также Intel отрицает, что закладки специально проектируются в компании для стороннего или удалённого доступа.
Отключение ME
Как правило, конечный пользователь не может отключить ME стандартными средствами; официально поддерживаемого режима не существует, хотя были обнаружены некоторые недокументированные методы[40]. Архитектура безопасности ME препятствует её отключению, поскольку Intel расценивает это как уязвимость: вредоносное ПО могло бы использовать отключение, чтобы ограничить функциональность компьютера, в том числе просмотр DRM-контента (например, HDCP)[46][47]. Вместе с тем известно, что ME может использоваться злоумышленниками для удалённого доступа к системе.
Известные обходные методы не позволяют полностью отключить ME, так как она необходима для старта основного процессора: все такие способы приводят лишь к переходу ME в нештатное состояние вскоре после загрузки, микропроцессор продолжает выполнение внутреннего кода. Purism, System76 и ряд других производителей реализуют деактивацию или нейтрализацию ME[48][49].
Примечания
Ссылки
- Intel® Converged Security and Management Engine Version Detection Tool (Intel® CSMEVDT) — утилита для выявления уязвимости Intel-SA-00086
- Behind the Scenes of Intel Security and Manageability Engine — доклад исследователей безопасности Intel на Black Hat USA 2019