Intel Management Engine

Кольца привилегий архитектуры x86. ME иногда условно относят к кольцу −3, режимы System Management Mode — к кольцу −2, а гипервизор — к кольцу −1. Каждый из перечисленных режимов имеет больше привилегий, чем ядро ОС

Intel Management Engine Interface (IMEI или Intel ME) — автономная подсистема, встроенная почти во все чипсеты процессоров Intel с 2008 года[1][2][3]. Она состоит из проприетарной прошивки, исполняемой отдельным микропроцессором. Так как чипсет всегда подключен к источнику тока (батарейке или другому источнику питания), эта подсистема продолжает работать, даже когда компьютер отключен[4]. Intel заявляет, что ME необходима для обеспечения максимальной производительности[5]. Точный принцип работы[6] по большей части не документирован, а исходный код обфусцирован с помощью кода Хаффмана, таблица для которого хранится непосредственно в аппаратуре, поэтому сама прошивка не содержит информации для своего раскодирования. Главный конкурент Intel, компания AMD, также встраивает в свои процессоры аналогичную систему AMD Secure Technology (раньше называвшуюся Platform Security Processor) начиная с 2013 года.

Management Engine часто путают с Intel AMT. Технология AMT основана на ME, но доступна только для процессоров с технологией vPro. AMT позволяет владельцу удалённо администрировать компьютер[7], например, включать или выключать его, устанавливать операционную систему. Однако ME устанавливается с 2008 года на все чипсеты Intel, вне зависимости от наличия на них vPro. В то время как технология AMT может быть отключена, нет официально документированного способа отключить ME.

В ME было найдено несколько уязвимостей. 1 мая 2017 года компания Intel подтвердила наличие уязвимости удалённого повышения привилегий (SA-00075) в Management Technology[8]. Каждая платформа Intel с установленным Intel Standard Manageability, Intel Active Management Technology или Intel Small Business Technology от Nehalem (2008 год) до Kaby Lake (2017 год) имеет уязвимость в ME, которую можно использовать удалённо[9][10]. Были найдены несколько путей неавторизованного выключения ME, которые могут сорвать выполнение функций ME[11][12][13]. Дополнительные критические уязвимости, затрагивающие большое число компьютеров с прошивками, включающими ME, Trusted Execution Engine (TXE) и Server Platform Services (SPS) от Skylake (2015 год) до Coffee Lake (2017 год), были подтверждены Intel 20 ноября 2017 года (SA-00086)[14]. В отличие от SA-00075, они присутствуют, даже если AMT отключён, не входит в поставку или ME отключён одним из неофициальных методов.[15]

Внутреннее устройство

[править | править код]

Аппаратная часть

[править | править код]

Начиная с ME 11 в основе лежит 32-битный x86-совместимый микроконтроллер Minute IA с запущенной на нём операционной системой MINIX 3[13]. Состояние ME хранится в разделе шины SPI с использованием файловой системы EFFS (Embedded Flash File System)[16]. Предыдущие версии базировались на RISC-ядре ARC с использованием операционной системы реального времени ThreadX от компании Express Logic. Версии ME от 1.x до 5.x использовали ARCTangent-A4 (только 32-битные инструкции), тогда как в версиях от 6.x до 8.x использовался более новый ARCompact (смешанная 32- и 16-битная архитектура набора команд). Начиная с ME 7.1 процессор ARC мог выполнять подписанные Java-апплеты.

ME имеет свой MAC-адрес и IP-адрес для своего дополнительного интерфейса с прямым доступом к контроллеру Ethernet. Каждый пакет Ethernet-трафика переадресуется в ME даже до достижения операционной системы хоста, причём такое поведение поддерживается многими контроллерами, настраиваемыми по протоколу MCTP[17][18]. ME также взаимодействует с машиной через интерфейс PCI[16]. В Linux взаимодействие машины и ME происходит через устройство /dev/mei[19].

Начиная с процессоров на микроархитектуре Nehalem ME обычно интегрируется в северный мост материнской платы[20]. На новых архитектурах Intel (начиная с Intel 5 Series) ME встроен в Platform Controller Hub[21][22].

Согласно терминологии Intel на 2017 год, ME — один из наборов микропрограмм системы Converged Security and Manageability Engine (CSME). До AMT версии 11 CSME назывался Intel Management Engine BIOS Extension (Intel MEBx)[3].

Также было обнаружено, что прошивка ME версии 11 использует MINIX 3[13][23][24].

Уязвимости

[править | править код]

Отключение ME

[править | править код]

Обычными способами отключить ME невозможно. Тем не менее, было обнаружено несколько недокументированных и потенциально рискованных методов для этого[14]. Эти методы не поддерживаются Intel. Архитектура безопасности ME предполагает предотвращение отключения, поэтому возможность такого отключения считается уязвимостью. Например вирус, используя возможность несанкционированного отключения, способен лишить компьютер части функций, ожидаемых конечным пользователем, таких как воспроизведение медиа с техническими средствами защиты авторских прав. Однако критики ME не воспринимают это как уязвимость.

Строго говоря, ни один из методов не способен полностью отключить ME, так как без ME невозможна загрузка процессора. Все известные методы просто заставляют ME вскоре после загрузки перейти в неправильное состояние, в котором невозможно выполнение ни одной функции ME. ME продолжает быть подключенным к источнику питания, и встроенный в ME микропроцессор продолжает исполнять код.

Недокументированные методы

[править | править код]
Нейтрализация прошивки
[править | править код]

В 2016 году проект me_cleaner обнаружил, что проверка подлинности ME может быть взломана. ME должен определять нарушение подлинности прошивки и в случае провала проверки принудительно выключать компьютер через 30 минут[25]. Это предотвращает работу скомпрометированной системы и позволяет владельцу исправить проблему путём загрузки подлинной версии прошивки. Как было установлено проектом, можно сделать неавторизованные изменения в прошивке ME таким образом, чтобы заставить ME перейти в ошибочное состояние, не позволяющее запустить принудительное выключение, даже если большая часть прошивки была перезаписана.

Режим «High Assurance Platform»
[править | править код]

В августе 2017 года компания Positive Technologies опубликовала метод отключения ME через недокументированный встроенный режим. Компания Intel подтвердила[26], что ME содержит возможность для государственных органов, таких как АНБ, переключения в режим высокодоверенной платформы (High-Assurance Platform, HAP) сразу после загрузки. Этот режим выключает все функции ME. Он авторизован для использования только государственными органами и предполагается только для машин, произведённых для них. Однако оказалось, что в большинстве продаваемых на рынке компьютеров можно включить этот режим[27][28]. Манипуляции с битом HAP были быстро встроены в проект me_cleaner[29].

Коммерческое отключение ME

[править | править код]

В конце 2017 года несколько производителей ноутбуков объявили о своих намерениях поставлять ноутбуки с отключенным Intel ME:

  • Компания Purism, SPC потребовала у Intel продавать процессоры без ME или же опубликовать исходный код ME, называя его «угрозой для цифровых прав пользователей»[30]. В марте 2017 года компания Purism сообщила[31], что нейтрализовала ME путём удаления большей части исполняемого кода из флеш-памяти. Позже, в октябре 2017 года, компания сообщила[32], что новые партии основанных на Debian ноутбуков линейки Librem будут выпускаться с нейтрализованным (через стирание большей части кода из флеш-памяти, как и сообщалось ранее), а также дополнительно выключенными через бит HAP модулями ME. Были выпущены обновления для существующих ноутбуков Librem.
  • System 76 анонсировала в ноябре 2017 года[33] о своих планах отключить ME в новых и текущих основанных на Ubuntu машинах через HAP-бит.

Эффективность против уязвимостей

[править | править код]

Ни один из двух обнаруженных методов отключения ME не способен быть эффективной контрмерой против уязвимости SA-00086[15]. Причина этого в том, что уязвимость находится в модуле ME, загружаемом на раннем этапе и необходимом для загрузки основного процессора[34].

Руткит кольца −3 был представлен исследователями Invisible Things Lab для чипсета Q35; он не работает для более нового чипсета Q45, так как Intel реализовал дополнительные меры защиты[35]. Эксплойт действовал посредством переотображения защищённого в нормальных условиях региона памяти (верхние 16 МБайт ОЗУ), зарезервированного для ME. ME-руткит мог быть установлен независимо от наличия AMT, так как чипсет всегда содержит ARC-сопроцессор ME. Обозначение «−3» было выбрано потому, что сопроцессор ME активен, даже когда система находится в спящем режиме (состояние S3), следовательно, он считается более низкоуровневым, чем руткиты System Management Mode[20]. Для уязвимого чипсета Q35 Патриком Стевином (Patrick Stewin) был продемонстрирован отслеживающий нажатия клавиш ME-руткит[36][37].

В мае 2017 года компания Intel подтвердила, что многие компьютеры с AMT содержат незакрытую критическую уязвимость повышения привилегий (CVE-2017-5689)[8][10][38][39][40]. Уязвимость, которую сообщившие о ней компании Intel исследователи назвали «Silent Bob is Silent»[41], затрагивает множество ноутбуков, компьютеров и серверов, продаваемых компаниями Dell, Fujitsu, Hewlett-Packard (Hewlett Packard Enterprise и HP Inc. после разделения), Intel, Lenovo и, возможно, других[41][42][43][44][45][46][47]. Исследователи заявили, что ошибка затрагивает системы, произведённые в 2010 году и позднее[48]. Некоторые сообщают, что ошибка также распространяется на системы, произведённые ещё в 2008 году[10][49]. По описаниям, уязвимость позволяет удалённым злоумышленникам получить:

полный контроль над уязвимыми машинами, включая возможность читать и изменять всё что угодно. Она может быть использована для установки персистентых злонамеренных программ (возможно в прошивку) и для чтения и изменения любых данных.

Tatu Ylönen[41]

Через несколько месяцев после обнаружения предыдущей уязвимости и последовавших предупреждений EFF[2] компания Positive Technologies заявила о разработке работающего эксплойта[50]. 20 ноября 2017 года компания Intel подтвердила обнаружение серьёзных брешей в Management Engine, Trusted Execution Engine и Server Platform Services и выпустила критическое обновление («critical firmware update»)[51][52]. Практически каждый компьютер на базе Intel, выпущенный в последние несколько лет, включая большинство серверов и домашних компьютеров, уязвим и может быть скомпрометирован, хотя не все потенциальные пути использования уязвимости точно известны[52]. Проблему нельзя исправить на уровне операционной системы, и необходимо обновление прошивки материнской платы (BIOS, UEFI), что предположительно займёт некоторое время у производителей[14].

Подозрения в наличии бэкдора

[править | править код]

Критики, такие как Фонд электронных рубежей (EFF) и эксперт по безопасности Damien Zammit, обвиняют ME в наличии бэкдора[2][53] . Zammit отмечает, что ME имеет полный доступ к памяти (безо всякого ведома на то родительского ЦПУ); имеет полный доступ к TCP/IP-стеку и может посылать и принимать пакеты независимо от операционной системы, обходя таким образом её файрволл.

Компания Intel ответила, что «Intel не встраивает бэкдоров в свои продукты, и они не дают Intel контроля или доступа к вычислительной системе без явного разрешения конечного пользователя»[7][54].

Intel не разрабатывает и не будет разрабатывать бэкдоров для доступа к своим продуктам. Последние отчёты, заявляющие об обратном, основаны на неверной информации и абсолютно ложны. Intel не предпринимает попыток понизить безопасность своих технологий.

Компания Google, по состоянию на 2017 год, пыталась избавиться от проприетарных прошивок на своих серверах и обнаружила, что технология ME является препятствием на пути к этому[14].

Реакция производителей процессоров AMD

[править | править код]

Вскоре после исправления уязвимости SA-00086 производители материнских плат для процессоров AMD стали поставлять обновления BIOS, позволяющие отключить часть функций AMD Secure Technology[55], схожей с Intel ME подсистемы.

Примечания

[править | править код]
  1. Frequently Asked Questions for the Intel® Management Engine Verification Utility. — «Built into many Intel® Chipset–based platforms is a small, low-power computer subsystem called the Intel® Management Engine (Intel® ME).» Дата обращения: 17 марта 2018. Архивировано 8 ноября 2017 года.
  2. 1 2 3 Portnoy, Erica; Eckersley, Peter Intel's Management Engine is a security hazard, and users need a way to disable it (8 мая 2017). Дата обращения: 17 марта 2018. Архивировано 6 марта 2018 года.
  3. 1 2 Getting Started with Intel® Active Management Technology (AMT). Intel. Дата обращения: 17 марта 2018. Архивировано 5 августа 2016 года.
  4. Black Hat Europe 2017 | Briefings Schedule. Дата обращения: 17 марта 2018. Архивировано 19 августа 2020 года.
  5. Frequently Asked Questions for the Intel® Management Engine Verification Utility. — «This subsystem must function correctly to get the most performance and capability from your PC.» Дата обращения: 17 марта 2018. Архивировано 8 ноября 2017 года.
  6. Intel Management Engine, Explained: The Tiny Computer Inside Your CPU. Дата обращения: 17 марта 2018. Архивировано 12 сентября 2020 года.
  7. 1 2 Wallen, Jack Is the Intel Management Engine a backdoor? (1 июля 2016). Дата обращения: 17 марта 2018. Архивировано 2 июля 2016 года.
  8. 1 2 Intel® Product Security Center. Security-center.intel.com. Дата обращения: 7 мая 2017. Архивировано 6 июня 2017 года.
  9. Charlie Demerjian. Remote security exploit in all 2008+ Intel platforms. SemiAccurate (1 мая 2017). Дата обращения: 7 мая 2017. Архивировано 1 мая 2017 года.
  10. 1 2 3 Red alert! Intel patches remote execution hole that's been hidden in chips since 2010. Theregister.co.uk. Дата обращения: 7 мая 2017. Архивировано 1 мая 2017 года.
  11. Alaoui, Youness Deep dive into Intel Management Engine disablement (19 октября 2017). Дата обращения: 17 марта 2018. Архивировано 19 октября 2017 года.
  12. Alaoui, Youness Neutralizing the Intel Management Engine on Librem Laptops (9 марта 2017). Дата обращения: 17 марта 2018. Архивировано 9 марта 2017 года.
  13. 1 2 3 Positive Technologies Blog: Disabling Intel ME 11 via undocumented mode. Дата обращения: 30 августа 2017. Архивировано из оригинала 2 августа 2021 года.
  14. 1 2 3 4 Intel Patches Major Flaws in the Intel Management Engine. Extreme Tech. Дата обращения: 17 марта 2018. Архивировано 22 ноября 2017 года.
  15. 1 2 Архивированная копия. Дата обращения: 17 марта 2018. Архивировано 10 марта 2020 года.
  16. 1 2 Igor Skochinsky (Hex-Rays) Rootkit in your laptop Архивная копия от 9 ноября 2013 на Wayback Machine, Ruxcon Breakpoint 2012
  17. Intel Ethernet Controller I210 Datasheet (PDF) 1, 15, 52, 621–776. Intel (2013). Дата обращения: 9 ноября 2013. Архивировано 18 июля 2013 года.
  18. Intel Ethernet Controller X540 Product Brief (PDF). Intel (2012). Дата обращения: 26 февраля 2014. Архивировано 14 сентября 2012 года.
  19. Archived copy. Дата обращения: 25 февраля 2014. Архивировано из оригинала 1 ноября 2014 года.
  20. 1 2 Joanna Rutkowska. A Quest to the Core (PDF). Invisiblethingslab.com. Дата обращения: 25 мая 2016. Архивировано 20 июля 2013 года.
  21. Archived copy. Дата обращения: 26 февраля 2014. Архивировано из оригинала 11 февраля 2014 года.
  22. Platforms II (PDF). Users.nik.uni-obuda.hu. Дата обращения: 25 мая 2016. Архивировано 4 марта 2016 года.
  23. Intel ME: The Way of the Static Analysis, Troopers 2017. Дата обращения: 18 марта 2018. Архивировано 11 ноября 2020 года.
  24. Positive Technologies Blog:The Way of the Static Analysis. Дата обращения: 18 марта 2018. Архивировано 11 ноября 2020 года.
  25. GitHub — corna/me_cleaner: Tool for partial deblobbing of Intel ME/TXE firmware images. Дата обращения: 17 марта 2018. Архивировано 6 сентября 2020 года.
  26. Researchers Find a Way to Disable Much-Hated Intel ME Component Courtesy of the NSA. Дата обращения: 17 марта 2018. Архивировано 12 сентября 2020 года.
  27. Positive Technologies — learn and secure : Disabling Intel ME 11 via undocumented mode. Дата обращения: 17 марта 2018. Архивировано из оригинала 2 августа 2021 года.
  28. HAP AltMeDisable bit · corna/me_cleaner Wiki · GitHub. Дата обращения: 17 марта 2018. Архивировано 15 августа 2020 года.
  29. Set the HAP bit (ME >= 11) or the AltMeDisable bit (ME < 11) · corna/me_cleaner@ced3b46 · GitHub. Дата обращения: 17 марта 2018. Архивировано 4 сентября 2017 года.
  30. Petition for Intel to Release an ME-less CPU design – Purism
  31. Alaoui, Youness Neutralizing the Intel Management Engine on Librem Laptops (англ.). puri.sm (9 марта 2017). Дата обращения: 13 декабря 2017. Архивировано 9 марта 2017 года.
  32. Purism Librem Laptops Completely Disable Intel’s Management Engine — Purism. Дата обращения: 17 марта 2018. Архивировано 24 сентября 2020 года.
  33. System76 Blog — System76 ME Firmware Updates Plan. Дата обращения: 17 марта 2018. Архивировано 15 августа 2020 года.
  34. Joanna Rutkowska в Твиттере: "Attacking #IntelME by @h0t_max & @_markel___ at #BHEU 1. Requires malformed file on SPI flash (needs physical access or bug in BIOS) 2. Bug in ea… Дата обращения: 17 марта 2018. Архивировано 1 января 2018 года.
  35. Invisible Things Lab to present two new technical presentations disclosing system-level vulnerabilities affecting modern PC hardware at its core (PDF). Invisiblethingslab.com. Дата обращения: 25 мая 2016. Архивировано из оригинала 12 апреля 2016 года.
  36. Berlin Institute of Technology : FG Security in telecommunications : Evaluating "Ring-3" Rootkits (PDF). Stewin.org. Дата обращения: 25 мая 2016. Архивировано из оригинала 4 марта 2016 года.
  37. Persistent, Stealthy Remote-controlled Dedicated Hardware Malware (PDF). Stewin.org. Дата обращения: 25 мая 2016. Архивировано из оригинала 3 марта 2016 года.
  38. CVE - CVE-2017-5689. Cve.mitre.org. Дата обращения: 7 мая 2017. Архивировано из оригинала 5 мая 2017 года.
  39. Intel Hidden Management Engine - x86 Security Risk? Darknet (16 июня 2016). Дата обращения: 7 мая 2017. Архивировано 26 августа 2017 года.
  40. Garrett, Matthew Intel's remote AMT vulnerablity. mjg59.dreamwidth.org (1 мая 2017). Дата обращения: 7 мая 2017. Архивировано 29 августа 2017 года.
  41. 1 2 3 2017-05-05 ALERT! Intel AMT EXPLOIT OUT! IT'S BAD! DISABLE AMT NOW! Ssh.com\Accessdate=2017-05-07. Дата обращения: 20 марта 2018. Архивировано 5 марта 2018 года.
  42. Dan Goodin. The hijacking flaw that lurked in Intel chips is worse than anyone thought. Ars Technica (6 мая 2017). Дата обращения: 8 мая 2017. Архивировано 8 мая 2017 года.
  43. General: BIOS updates due to Intel AMT IME vulnerability - General Hardware - Laptop - Dell Community. En.community.dell.com. Дата обращения: 7 мая 2017. Архивировано 11 мая 2017 года.
  44. Advisory note: Intel Firmware vulnerability – Fujitsu Technical Support pages from Fujitsu Fujitsu Continental Europe, Middle East, Africa & India. Support.ts.fujitsu.com (1 мая 2017). Дата обращения: 8 мая 2017. Архивировано 8 мая 2017 года.
  45. HPE | HPE CS700 2.0 for VMware. H22208.www2.hpe.com (1 мая 2017). Дата обращения: 7 мая 2017. Архивировано 8 мая 2017 года.
  46. Intel® Security Advisory regarding escalation o... |Intel Communities. Communities.intel.com. Дата обращения: 7 мая 2017. Архивировано 26 августа 2017 года.
  47. Intel Active Management Technology, Intel Small Business Technology, and Intel Standard Manageability Remote Privilege Escalation. Support.lenovo.com. Дата обращения: 7 мая 2017. Архивировано 6 мая 2017 года.
  48. MythBusters: CVE-2017-5689. Embedi.com. Дата обращения: 7 мая 2017. Архивировано из оригинала 6 мая 2017 года.
  49. Charlie Demerjian. Remote security exploit in all 2008+ Intel platforms. SemiAccurate.com (1 мая 2017). Дата обращения: 7 мая 2017. Архивировано 1 мая 2017 года.
  50. How to Hack a Turned-Off Computer, or Running Unsigned Code in Intel Management Engine Black Hat Europe 2017. Дата обращения: 17 марта 2018. Архивировано 19 августа 2020 года.
  51. Intel® Management Engine Critical Firmware Update (Intel SA-00086). Intel. Дата обращения: 30 марта 2018. Архивировано 23 ноября 2017 года.
  52. 1 2 Intel Chip Flaws Leave Millions of Devices Exposed. Wired. Дата обращения: 30 марта 2018. Архивировано 24 марта 2018 года.
  53. Intel x86 CPUs Come with a Secret Backdoor That Nobody Can Touch or Disable. Дата обращения: 17 марта 2018. Архивировано 3 января 2020 года.
  54. Архивированная копия. Дата обращения: 17 марта 2018. Архивировано 17 апреля 2020 года.
  55. AMD Secure Processor PSP wohl bei einigen Ryzen-Mainboards abschaltbar | heise online. Дата обращения: 17 марта 2018. Архивировано 7 января 2018 года.