Алгоритм - Учебный центр

Версия сайта для слабовидящих
Заполните форму ниже! Мы вам перезвоним!

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


Что пишут об Intel ME (Intel Management Engine).

Что пишут об Intel ME (Intel Management Engine).

Intel Management Engine (ME) – встроенная в компьютерные платформы подсистема, обеспечивающая аппаратно-программную поддержку различных технологий Intel. В Intel SoC (там эта подсистема называется Intel TXE) в качестве базовой модели для ME-контроллера используется SPARC. Технология Intel ME (или AMT, Active Management Technology) является одним из самых загадочных и мощных элементов современных x86-платформ. Инструмент изначально создавался в качестве решения для удаленного администрирования. Однако он обладает столь мощной функциональностью и настолько неподконтролен пользователям Intel-based устройств, что многие из них хотели бы отключить эту технологию, что сделать не так-то просто.

Intel Management Engine (Intel ME) — автономная подсистема, встроенная почти во все чипсеты процессоров Intel (с 2008 года). Она состоит из проприетарной прошивки, исполняемой отдельным микропроцессором. Так как чипсет всегда подключен к источнику тока (батарейке или дежурному источнику питанию), эта подсистема продолжает работать даже когда компьютер отключен. Intel поясняет, что ME необходима для обеспечения максимальной производительности. Точный принцип работы по большей части недокументирован, а исходный код выполнен с помощью обфусцированого кода Хаффмана, таблица для которого хранится непосредственно в аппаратуре, поэтому сама прошивка не содержит информации для своего раскодирования. Компания AMD, также встраивает в свои процессоры аналогичную систему AMD Secure Technology, которая раньше называлась Platform Security Proccessor (начиная с 2013 года).

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

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

Начиная с ME 11, в основе лежит 32-битный x86-совместимый процессор на технологии Intel Quark, с запущенной на нём операционной системой MINIX 3. Состояние ME хранится в разделе шины SPI, с использованием файловой системы EFFS (Embedded Flash File System). Предыдущие версии базировались на 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. ME также взаимодействует с машиной через интерфейс PCI. В Linux взаимодействие машины и ME происходит через устройство /dev/mei.

Начиная с процессоров на микроархитектуре Nehalem, ME обычно интегрировался в северный мост материнской платы. На новых архитектурах Intel (начиная с Intel 5 Series), ME встроен в PCH.

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

Компания Positive Technologies обнаружила, что прошивка ME версии 11 использует MINIX 3.

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

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

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

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

В конце 2017 года, несколько производителей ноутбуков объявили о своих намерениях поставлять ноутбуки с отключенным Intel ME, например, компания Purism, SPC потребовала у Intel продавать процессоры без ME или же опубликовать исходный код ME, называя его «угрозой для цифровых прав пользователей». В 2017 году, компания Purism сообщила, что нейтрализовала ME путём удаления большей части исполняемого кода из флеш-памяти, что новые партии основанных на Debian ноутбуков линейки Librem будет выпускаться с нейтрализованным (через стирание большей части кода из флеш-памяти, как и сообщалось ранее), а также дополнительно выключенными через бит HAP модулями ME. Также были выпущены обновления для существующих ноутбуков Librem. System 76 анонсировала в 2017 году о своих планах отключить ME в новых и текущих основанных на Ubuntu машинах через HAP бит. Но ни один из двух обнаруженных методов отключения ME не способен быть эффективной контрмерой против уязвимости SA-00086. Причина этого в том, что уязвимость находится в модуле ME, загружаемом на раннем этапе и необходимом для загрузки основного процессора.

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

В 2017 году компания Intel подтвердила, что многие компьютеры с AMT содержат незакрытую критическую уязвимость повышения привилегий (CVE-2017-5689). Уязвимость, которую сообщившие о ней компании Intel исследователи назвали «Silent Bob is Silent», затрагивает множество ноутбуков, компьютеров и серверов, продаваемых компаниями Dell, Fujitsu, Hewlett-Packard (Hewlett Packard Enterprise и HP Inc. после разделения), Intel,Lenovo и, возможно, других (исследователи заявили, что ошибка затрагивает системы, произведённые в 2010 году и позднее, а некоторые сообщают, что ошибка также распространяется на системы, произведённые ещё в 2008 году). По описаниям, уязвимость позволяет удалённым злоумышленникам получить полный контроль над уязвимыми машинами, включая возможность читать и изменять всё что угодно. Она может быть использована для установки персистентых злонамеренных программ (возможно в прошивку) и для чтения и изменения любых данных.

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

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

Компания Intel ответила, что «Intel не встраивает бэкдоров в свои продукты, и они не дают Intel контроля или доступа к вычислительной системе без явного разрешения конечного пользователя» и что «Intel не разрабатывает и не будет разрабатывать бэкдоров для доступа к своим продуктам. Последние отчёты, заявляющие об обратном, основаны на неверной информации и вопиюще ложны. Intel не предпринимает попыток снизить безопасность своих технологий». Но когда компания Google, по состоянию на 2017 год, пыталась избавиться от проприетарных прошивок со своих серверов и обнаружила, что технология ME является препятствием на пути к этому, а вскоре после исправления уязвимости SA-00086, производители материнских плат для процессоров AMD стали поставлять обновления BIOS, позволяющие отключить AMD Secure Technology, схожую с Intel ME подсистему.

Начиная с PCH 100-й серии компания Intel полностью переработала эту микросхему. Был осуществлен переход на новую архитектуру встроенных микроконтроллеров — с ARCompact компании ARC на x86. За основу был выбран 32-битный микроконтроллер Minute IA (MIA), который используется в микрокомпьютерах Intel Edison и SoC Quark. Он основан на дизайне весьма старого, скалярного микропроцессора Intel 486 с добавлением системы команд (ISA) от процессора Pentium. Однако для PCH компания выпускает данное ядро с применением 22-нм полупроводниковой технологии, получая высокую энергоэффективность микроконтроллера. Таких ядер в новом PCH три: Management Engine (ME), Integrated Sensors Hub (ISH) и Innovation Engine (IE). Последние два могут активироваться и деактивироваться в зависимости от модели PCH и целевой платформы, а ME-ядро работает всегда.

Такие глобальные изменения потребовали изменения и программной составляющей ME. В частности, в качестве основы для операционной системы был выбран MINIX (ранее ThreadX RTOS). Теперь прошивка ME включает полноценную операционную систему со своими процессами, потоками, диспетчером памяти, драйвером аппаратных шин, файловой системой и многим другим. В ME интегрирован аппаратный криптопроцессор, поддерживающий алгоритмы SHA256, AES, RSA, HMAС. Доступ к оборудованию для пользовательских процессов производится посредством локальной таблицы дескрипторов (LDT). Через LDT организовано также и адресное пространство процесса — оно является всего лишь частью глобального адресного пространства ядра, границы которого заданы в локальном дескрипторе. Таким образом, ядру не нужно переключаться на память разных процессов (меняя каталоги страниц), как, например, в Microsoft Windows или Linux.

Состав компонентов подсистемы Intel ME (с версии 2.0) практически не изменялся:

  1. ME-контроллер – встроенный в чипсет 32-разрядный микроконтроллер типа RISC, имеющий внутренние ROM и SRAM;

  2. Регион ME в SPI флэш-памяти, в котором хранится разработанная и подписанная компанией Intel прошивка ME-контроллера (поэтому, именно Intel ME firmware);

  3. ME UMA – скрытая ото всех, кроме ME-контроллера, область (16 — 32 МБ) в оперативной памяти компьютера, которой он пользуется в качестве runtime-memory для размещения и запуска прошивки;

  4. Management Engine Interface (MEI), ранее известный как Host Embedded Controller Interface (HECI), – набор регистров в конфигурационном пространстве PCI и область в MMIO, представляющие собой интерфейс для обмена информацией с ME-контроллером (по сути, единственный канал связи софта, исполняющегося на CPU, с подсистемой Intel ME);

  5. Отдельный MAC – контроллер канального уровня, предоставляющий ME-контроллеру out-of-band доступ к общему физическому сетевому интерфейсу для удалённого администрирования компьютерной системой;

  6. Некоторые модули в BIOS, отвечающие за инициализацию платформы и сообщающие о результатах своей работы ME-контроллеру через MEI.

В случае наличия шильдика Intel vPro, в состав подсистемы Intel ME дополнительно входит BIOS-модуль ME BIOS Extenstion (MEBx), предоставляющий графический интерфейс (показан выше), а также осуществляющий включение и конфигурирование AMT через MEI.
Таким образом, у нас имеется среда исполнения ring -3 (так её условно называют) — 1 штука. Её привилегированность обуславливается способностями, которыми наделён ME-контроллер (о них написано выше), а скрытность — полным отсутствием возможности контроллировать программными (и даже аппаратными, в production-версиях плат) средствами.

 


Лицензия