Как выключить intel amt

Обновлено: 05.07.2024

Некоторые мысли и ссылки на этот счет. Может где-то и на уровне капитана очевидность, но все-таки. Интересно мнение на этот счет.

Почему надо бороться? Ответ: потому что эта полностью закрытая аппаратная подсистема на материнской плате во всех чипсетах Intel уже примерно года с 2006. Имеет абсолютно прозрачный доступ ко всей памяти компьютера, к сетевой плате, может работать при выключенном питании (но включенном в элекросеть компе). Прошивка закрыта, от изменений защищена sha256 и т.д. Важно, что подсистема в том или ином виде присутствует даже там, где официально ее нет.

Формально, это как бы полезная подсистема, которая позволяет пользователю (если все правильно настроить) удаленно управлять своим компьютером, используя аппаратные возможности: то есть, независимо от ОС. Однако кто еще кроме пользователя может? :-)

То есть, это некое НЕЧТО, которое в принципе может делать что угодно в вашем компьютере.

Ссылки (так получилось, что на хабр):

К сожалению, методы отключения не являются гарантированными. Требуют модификации прошивки, что в системах с новыми процессорами затруднено.

Собственно мысли по нейтрализации

Если допустить, что отключить троянца от Intel или AMD (там тоже есть аналогичное - AMD PSP - Platform Security Processor) не удается, то что можно сделать для затрудения его работы без модификаций прошивок? Конечно, лучше всего не использовать троянское железо, но что поделать, если это слишком сложно.

0) Использовать OpenSource операционные системы. Они если и не защищают от этих технологий, то по крайней мере, и не помогают специально, чего вполне можно ожидать от винды или мака.

1) Шифрование диска или хотя бы отдельных файлов/каталогов.

Эта мера помешает автоматически дистанционно читать или модифицировать содержимое винчестера. Так как хардтроян работает вне операционной системы, он столкнется с невозможностью напрямую прочитать информацию с диска. Хотя в принципе, от него можно ожидать и извлечения из памяти ключей, но это уже более сложный уровень и например, небольшая модификация алгоритмов может обломать. Хотя с просто чтением из памяти ничего нельзя поделать. Во всяком случае мне неизвестно, чтобы Linux или BSD могли работать с постоянно зашифрованной RAM. Однако, если бы это было реализовано, оно сильно бы подгадило хардтроянцам.

2) Перекрыть на внешнем файрволе tcp порты 5900, 16992, 16993, 16994, 16995.

Эти порты штатно используются для работы с Intel Me. Не то чтобы следовало всерьез рассчитывать на нейтрализацию таким простым способом, но все же. По крайней мере, это может помочь, если система как бы штатно работает, но об этом владелей забыл или не знал, например, что-то по дефолту включил и т.п.

3) Использовать не-интеловскую сетевую карту.

Тоже не Бог весть чего дает, но как и в случае с OpenSource операционками хотя бы можно ожидать, что дополнительных возможностей не будет. В любом случае, чем более нестандартная кофигурация, тем сложнее работать хардтрояну. Так что, не лишнее и чего-нибудь навроде сетевого соединения через Firewire устроить.

4) Сетевые соединения в интернет или куда-то еще делать исключительно через VPN (или другой защищенный коннект) на сервер-файрвол с неинтеловской архитектурой или старый до 2006-го года комп.

Смысл в том, что хардтроян может мониторить трафик (например, для своей активации) или передавать что-то независимо от ОС, но ему затруднительно незаметно влезть прямо в защищенный поток данных. В то же время, если на файрволе связь с защищаемым компьютером исключительно через VPN это помешает несанкционированной связи с внешним миром. Более того, попытки такой связи можно будет детектировать. Даже если с какого-то внешнего ресурса что-то придет внутри пользовательских данных для работы с Intel Me (например, внутри якобы обычной картинки), туннель невозможно будет установить прозрачно для ОС. Во всяком случае без наличия уязвимостей в ней.


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

На прошедшем 17 и 18 мая в Москве форуме Positive Hack Days VI исследователи Positive Technologies Максим Горячий и Марк Ермолов представили несколько техник отключения Intel ME, сопроводив доклад видеодемонстрацией процесса.

Что это, и зачем нужно отключать

Подсистема Intel Management Engine (ME) представляет собой дополнительный «скрытый» процессор, который присутствует во всех устройствах на базе чипсетов Intel (не только в PC и ноутбуках, но и в серверах). Среда исполнения ME никогда не «спит» и работает даже при выключенном компьютере (при наличии дежурного напряжения), а также имеет доступ к оперативной памяти, сетевому интерфейсу, USB контроллеру и встроенному графическому адаптеру.

Несмотря на столь обширные возможности, существуют вопросы к уровню защищенности ME — ранее исследователи уже находили серьезные уязвимости и векторы атак. Кроме того, подсистема содержит потенциально опасные функции — удаленное управление, NFC, скрытый сервисный раздел (hidden service partition). Интерфейсы подсистемы ME недокументированы, а реализация закрыта.

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

Хорошая новость заключается в том, что способы отключения ME все же существуют.

Техники отключения Intel ME

Исследователи компании Positive Technologies Максим Горячий и Марк Ермолов в ходе состоявшегося в Москве форума Positive Hack Days VI представили доклад, посвященный отключению Intel ME. Специалисты описали несколько техник отключения данной подсистемы:

  1. Основанные на сбое инициализации ME;
  2. Через механизм обновления микропрограммы ME;
  3. Недокументированные команды
  4. Недокументированный механизм, предназначенный для разработчиков аппаратуры — Manufacture Mode.

Большинство методов отключения используют встроенные механизмы ME, разработанные для вендоров устройств на платформе Intel. Все они подробно описаны в презентации, которая опубликована на GitHub. По ссылке представлено демонстрационное видео отключения ME (оно же ниже):

И тем не менее, возникает резонный вопрос: «Действительно ли ME перестает работать в полном объеме при использовании ее встроенных механизмов отключения?» В качестве доказательства факта отключения МЕ исследователи приводят следующий аргумент: ME работает в двух режимах использования памяти: только SRAM (встроенный в ME) и SRAM + UMA. UMA — это часть памяти хоста, которая используется как подкачиваемая память (swap). После инициализации DRAM-контроллера хостом ME всегда переключается в режим SRAM + UMA.

Таким образом, если ME действительно выключена, то при отключении на аппаратном уровне доступа МЕ к UMA-памяти в произвольный момент (посредствам канала VСm), в МЕ не будет происходить аппаратных сбоев, связанных с отсутствием данных и кода, которые были вытеснены в UMA память (такие аппаратные сбои приводят к аварийному отключению питания с основных аппаратных компонентов платформы). С другой стороны применение этих методов позволяет осуществить DoS-атаки на технологию AMT в случае ее применения для удаленного управления.

Конечным пользователям будет предложено разрешить сеанс удаленной виртуальной машины (KVM) на базе ядра для Intel® Active Management Technology (Intel® AMT). Мы использовали ACUWiгоd для Intel AMT.

Когда для работы с AMT используется ACUWiотdd (известная также как конфигурация на базе хоста), это всегда приводит систему в режимуправления клиентом (CCM). Для работы системы в системе CCM необходимо согласие пользователя на удаленные сеансы. Это не может быть отключено, пока система находится в системе CCM.

Для устранения этой проблемы система должна быть помещена в режим управления администратором (ACM).

Опции по вложению системы в ACM

  1. Если у вас есть серверная настройка RCS:
    1. ИспользуйтеACUConfig и параметр MoveToACM для изменения режима управления ACM (Admin Control Mode). См. раздел «Переход от управления клиентом к администратору» руководства пользователя Intel® Setup and Configuration Software (Intel® SCS)
    1. Система должна быть неконфигурна и сконфигурна без использования конфигурации на базе хоста.
      1. Для сконфигурировать:
        В клиентской системе запуститенеконфигурировать ACUConfig.
      2. Для изменения конфигурации без использования конфигурации на базе хоста:
        • ИспользуйтеMEBx для Intel AMT.
          Или
        • Используйте конфигурацию клавиш USB. См. раздел «Определение конфигурации вручную» (раздел «Несколько систем» в Руководстве пользователя конфигурации AMT, чтобы получить инструкции по созданию usb-ключа для конфигурации.

      В некоторых системах (особенно в более новых системах HP) имеется настройка BIOS для поддержки поддержки ключа USB. По умолчанию для этой настройки часто устанавливается значение Disabled по соображениям безопасности. Если клавиша USB не распознается после перезагрузки, перейдите в BIOS и измените эту настройку на Enabled. Возможно, вам придется найти эту настройку, поскольку она не находится в одном стандартном месте в BIOS.

      Согласие пользователя не может быть выключено в режиме client Control Mode (CCM).

      В этой статье мы рассмотрим, как настроить и использовать функцию удаленного управления компьютерами Intel AMT KVM . Технология Intel AMT (Active Management Technology) является частью комплекса Intel vPro , и администраторам удаленно управлять компьютерами пользователей, даже если на них не запущена / не работает / не установлена операционная система, или компьютер выключен позволяет (на самом деле это только одна из функций AMT). Как правило такое удаленное управление сводится к использованию возможностей KVM (удаленный просмотр экрана пользователя, управления его клавиатурой, мышью и питанием).

      KVM в Intel vPro AMT

      Поддержка технологии удаленного управления KVM появилась в Intel vPro AMT 6.x на компьютерах с процессорами i5 и i7 на чипсете Intel с поддержкой vPro (как правило название чипсета начинается с Q) со встроенным графическим чипсетом Intel.

      Удаленное управление реализуется за счет наличия встроенного сервера VNC. Любой совместимый VNC клиенты может использоваться для удаленного подключения и управления компьютером через AMT.

      Как включить KVM на Intel vPro AMT

      По умолчанию возможность удаленного управления через AMT KVM на компьютерах с поддержкой Intel vPro отключена. Включить ее можно через меню Intel MEBx . Попасть в это меню можно после отображения экрана запуска BIOS/UEFI с помощью сочетания клавиш Ctrl+P или F12 (на некоторых компьютерах можно скрыть это меню с помощью настроек BIOS).

      В нашем случае, чтобы попасть в меню MEBx, на ноутбуке Dell Latitude E7270 после включения компьютера нужно нажать кнопку F12. На экране выбора режима загрузки нужно выбрать Intel(R) Management Engine BIOS Extension (MEBx).

      • Затем нужно выбрать пункт MEBx Login и нажать Enter.
      • Укажите пароль для входа в режим Intel(R) ME (по умолчанию это admin)

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

      • После смены пароля выберите меню настройки Intel(R) AMT configuration .
      • Измените значение Manageability Feature Selection на Enabled
      • Активируйте функции в разделе SOL/Storage Redirection/KVM

      Перейдите в раздел User Consent и измените параметр User Opt-in с KVM на None (отключится запрос кода-подтверждения пользователем).

      Теперь нужно включить доступ по сети. Выберите пункт Activate Network Access. И подтвердите включение клавишей Y.

      • Выберите пункт меню MEBx Exit и нажмите Y для сохранения изменений. Компьютер перезагрузится.

      Теперь, если при загрузке нажат кнопку F12, вы увидите новую опцию Intel(R) Fast Call for Help. Выберите ее и нажмите Enter.


      В прошлый раз мы рассказали об Intel Management Engine (ME) — подсистеме, которая встроена во все современные компьютерные платформы (десктопы, лэптопы, серверы, планшеты) с чипсетами компании Intel. Эта технология многими воспринимается как аппаратная «закладка», и на то есть причины. Достаточно сказать, что Intel ME является единственной средой исполнения, которая:

      • работает даже тогда, когда компьютер выключен (но электропитание подаётся);
      • имеет доступ ко всему содержимому оперативной памяти компьютера;
      • имеет внеполосный доступ к сетевому интерфейсу.

      Ошарашенный присутствием такого компонента в компьютере, пользователь (получается, что именно «пользователь», а не «владелец») наверняка задавался вопросом: можно ли выключить Intel ME?

      Эта статья целиком посвящена этому вопросу.

      Начиная с 6-й версии, ME-контроллер встраивают во все чипсеты Intel.



      [рисунок взят отсюда]

      Загрузчик его прошивки хранится во внутренней ROM и недоступен для анализа. Сама прошивка располагается в регионе ME во внешней SPI флэш-памяти (т.е. в той же памяти, где хранится BIOS). Структура этой прошивки такова, что весь исполнимый код разбит на модули, которые хранятся в сжатом виде (либо кастомной реализацией алгоритма Хаффмана, либо LZMA). Эти кодовые модули криптографически защищены от модификаций.

      Если есть желание поревёрсить прошивку, рекомендуем воспользоваться этими двумя инструментами для изучения её структуры и распаковки кодовых модулей.

      Итак, рассматриваемая подсистема является аппаратно-программной основой для различных системных функций (некоторые раньше реализовывали в BIOS) и технологий Intel. Их имплементация включается в состав прошивки Intel ME. Одной из таких технологий, использующих несколько особых привилегий Intel ME, является Active Management Technology (AMT).

      AMT – технология удалённого администрирования компьютерных систем, для которых заявлена официальная поддержка Intel vPro (это бренд, объединяющий несколько технологий, в том числе, AMT). Речь идёт о системах с чипсетами линейки Q (например, Q57 или Q170).

      Учитывая высокую стоимость таких платформ, вряд ли кто-то случайно приобретёт компьютер с AMT для того, чтобы принципиально этой технологией не пользоваться. Тем не менее, если под рукой именно такой продукт, и есть необходимость убедиться, что AMT на текущий момент выключена, следует воспользоваться утилитой ACUwizard:



      [рисунок взят отсюда]

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



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

      В продуктах, не относящихся к разряду vPro-платформ AMT включить нельзя, однако в состав прошивки Intel ME входят сетевые драйверы:


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

      Поэтому проблему стоит решать основательно – пытаться выключить подсистему Intel ME.

      Вендорам материнских плат компания Intel предоставляет:

      1. Прошивку Intel ME в бинарном виде;
      2. Модули MEBx для BIOS;
      3. ПО Intel ME для ОС;
      4. 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) получает информацию о работе этой подсистемы:


      Напомним, что 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:


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


      Согласно документации, в таком состоянии подсистема Intel ME находится до следующего запуска компьютера или перезагрузки.

      На vPro-платформах возможность отправки этой команды есть и в более ранних версиях. Для этого необходимо воспользоваться разделом конфигурирования ME/AMT в BIOS, где должна быть опция «Intel ME disable»:



      [рисунок взят отсюда]

      Нельзя говорить о том, что этот способ позволяет полностью отключить Intel ME, хотя бы потому, что до момента принятия команды на отключение ME-контроллер успеет загрузиться, а значит, выполнить некоторую часть кода прошивки.
      Несмотря на то, что Intel ME не подаёт «признаков жизни» после этой операции, неизвестно, может ли эту подсистему заново включить какой-нибудь сигнал извне. Также неясно, насколько Intel ME выключена.

      В интересах исключения возможности исполнения ME-контроллером кода прошивки, логично попробовать ограничить ему доступ к ней. А что? Нет кода – нет проблемы.

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

      1. Вырезать (обнулить) ME регион из SPI флэш-памяти.

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

      Отказ компьютерной системы грузиться без прошивки Intel ME можно объяснить важностью ME-контроллера в процессе инициализации аппаратной составляющей. А 30-минутный таймаут наводит на мысль о WDT (Watch Dog Timer).

      2. Включить не дескрипторный режим SPI флэш-памяти, т.е. «по старинке» когда в ней содержался только BIOS. Для этого требуется сделать одно из двух:

      • стереть первые 0x20 байт в ней (таким образом повредив сигнатуру 0x0FF0A55A, которая определяет режим работы флэш-памяти);
      • выставить джампер HDA_SDO (если он есть).

      Таким образом, ME-контроллер не получит доступ к своему региону, и, следовательно, не будет исполнять прошивку.

      С одной стороны, ME-контроллер так же, как и в предыдущем случае, может препятствовать нормальной работе компьютерной системы. С другой стороны, не дескрипторный режим включает т.н. manufacturing mode, который используется вендорами в отладочных целях, и есть шанс, что система запустится.

      3. Известно, что прошивка Intel ME распаковывается в выделенную и скрытую от основного CPU область оперативной памяти – ME UMA. Выделение и блокировку этой области осуществляет BIOS во время конфигурирования карты памяти. Тогда почему бы не вырезать эти фрагменты кода из BIOS, чтобы данная область не выделялась. Тогда прошивка ME не будет распаковываться и исполняться.

      Проведённые эксперименты показали, что такой способ тоже не годится, и система не запускается. К тому же, у ME-контроллера есть внутренняя SRAM, которая используется при недоступности ME UMA. Поэтому часть прошивки всё равно будет исполняться.

      Мы рассказали о предполагаемых и требующих развития способах выключения Intel ME:

      • отключение при каждом старте командой в MEI или отключение флагом в регионе flash descriptors (в зависимости от версии);
      • ограничение доступа ME-контроллеру к своей прошивке либо перевод компьютерный платформы в manufacturing mode.
      • препятствование нормальной работе ME-контроллера не обеспечивая его runtime-памятью.

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

      Вероятно, это связано с тем, что, отключая Intel ME, мы нейтрализуем важный компонент в архитектуре компьютерной системы. Например, без ME некому будет решать важные системные задачи вроде ACPI или ICC (которые когда-то реализовывались в BIOS). Чтобы заставить платформу стабильно работать без ME, как минимум, необходимо вернуть реализацию этих технологий в BIOS.

      Так или иначе, вопрос о том, как отключить Intel ME без потери работоспособности компьютерной системы, остаётся открытым.

      Читайте также: