Meupdatetool что это за программа
Live Update что это за программа
Некоторые пользователи могут заметить внезапное замедление и «тормоза» в работе своего компьютера, виновником которых выступает неизвестный пользователю процесс Live Update. При этом даже выключение компьютера через кнопку «Пуск» становится проблематичным, так как рассматриваемый процесс препятствует нормальному завершению работы операционной системы. В этой статье я расскажу Live Update что это за программа, поясню её специфику и функционал.
Что это Live Update?
Сразу разочарую тех читателей, которые давая ответ на вопрос «что это Live Update» полагают, что это системный процесс ОС Windows, ответственный за обновление операционной системы. За обновление ОС отвечает процесс svchost.exe, запускаемый соответствующей системной службой, а рассматриваемый мною процесс не является системным процессом, а его функционал используется некоторыми, обычно установленными извне, программами.
В частности, инициаторами появления на вашем компьютере файла и соответствующего процесса live Update могут являться следующие программные продукты:
Потому отвечая на вопрос, что это за приложение Live Update, нужно прежде всего понимать, что данный процесс запускается перечисленными программами и служит в их целях (обновление драйверов, установка и обновление различных программных модулей, обновление БИОС на материнских платах от ASUS и так далее). Часто указанный процесс прописан в автозапуске и активизируется при старте системы, работая в фоне. С инициацией процесса и началом загрузки соответствующих обновлений пользователь получает резкое замедление и сбои в работе своего компьютера.
Вирус Live Update
Не редки случаи, когда под рассматриваемый мною процесс маскируется очередное вирусное приложение, работающее в фоне, и напоминающее о себе внезапно появляющимися ощутимыми «тормозами» в работе вашего ПК. Потому, отвечая на вопрос, что это за программа Live Update, следует учесть, что это может быть вирус, для борьбы с которым я рекомендую использовать проверенные временем антивирусные инструменты уровня Trojan Remover, Dr.Web CureIt, Kaspersky Removal Tool, Malware Anti-Malware и ряд других, которые необходимо скачать и установить на компьютер, а затем и провести с их помощью полную проверку вашей системы.
Как удалить Live Update
Для начала нужно определиться, какое приложение является инициатором появления на вашем компьютере рассматриваемого мною процесса.
Смотрим расположение файла
Обычно по названию (и пути) директории, где хранится файл, можно понять, какая программа является источником появления данного процесса и при желании деинсталлировать её.
Если же эта программа находится просто в одноимённой директории в системной папке Program Files, или программу-источник появления рассматриваемого процесса невозможно определить по каким-либо причинам, тогда необходимо сделать следующее:
Отключаем службу Live Update
Как выглядит удаление Live Update на примере приложения от ASUS смотрим на видео
В этой статья я постарался дать ответ на вопрос «что такое Live Update». Как показано выше, эта программа является инструмент некоторых приложений, позволяющий последним получать обновления своих функциональных модулей через интернет. Обычно, она не вызывает серьёзных проблем, и в большинстве случаев пользователь не замечает её спорадической активности. Но если вы столкнулись с серьёзным замедлением в работе своей системы и виновником этого является рассматриваемый мною процесс – тогда рекомендую немного подождать, в случае же продолжительных тормозов (повторяющихся несколько дней и более) будет лучше прекратить работу указанного процесса с помощью советов, предложенных чуть выше.
Важное обновление встроенного ПО Intel® Management Engine (Intel-SA-00086)
Тип материала Поиск и устранение неисправностей
Идентификатор статьи 000025619
Последняя редакция 17.08.2021
Уязвимость Intel® Management Engine (Intel® ME 6.x/7.x/8.x/9.x/10.x/11.x), Intel® Trusted Execution Engine (Intel® TXE 3.0) и Intel® Server Platform Services (Intel® SPS 4.0) (Intel-SA-00086)
Примечание | В этой статье представлены проблемы, относящиеся к уязвимостям системы безопасности, обнаруженные во встроенном ПО Intel® Management Engine. Эта статья не содержит информацию, связанную с уязвимостью побочного канала процессора (известна как Meltdown/Spectre). Если вам нужна информация о проблеме Meltdown/Spectre, откройте темуФакты анализа побочных каналов и продукции Intel®. |
В ответ на проблемы, идентифицированные сторонними исследователями, корпорация Intel выполнила всесторонний анализ безопасности для улучшения надежности встроенного ПО:
Корпорация Intel идентифицировала уязвимости для системы безопасности, которые могут потенциально повлиять на определенные ПК, серверы и платформы Интернета вещей.
Данной уязвимости подвержены системы, использующие встроенное ПО Intel ME 6.x-11.x, серверы, использующие встроенное ПО SPS версии 4.0, и системы, использующие TXE версии 3.0. Вы можете найти эти версии встроенного ПО у определенных процессоров:
Для определения воздействия идентифицированной уязвимости на вашу систему загрузите и запустите средство определения версий Intel CSME Version Detection по следующим ссылкам.
Доступные ресурсы
Ресурсы для пользователей Microsoft и Linux*
Ресурсы от производителей систем/системных плат
Часто задаваемые вопросы:
В: Средство определения версий Intel CSME Version Detection Tool сообщает, что моя система уязвима. Что мне делать?
О: Корпорация Intel предоставила производителям систем и системных плат необходимые обновления встроенного ПО и программного обеспечения для устранения уязвимостей, идентифицированных в рекомендации для безопасности Intel-SA-00086.
Обратитесь к производителю вашей системы или системной платы за информацией о планах в отношении обновлений, доступных для конечных пользователей.
Некоторые производители предоставили Intel прямые ссылки, созданные для их клиентов для получения дополнительной информации и загрузки доступных обновлений программного обеспечения (см. список далее).
В: Почему мне нужно обращаться к производителю моей системы или системной платы? Почему корпорация Intel не может предоставить необходимое обновление для моей системы?
О: Корпорация Intel не может предоставить универсальное обновление из-за настроек встроенного ПО программы управления, которые выполнены производителями систем и системных плат.
В: Моя система отображается в инструменте обнаружения версий Intel CSME Version Detection Tool как возможно уязвимая. Что мне делать?
О: Статус возможной уязвимости обычно отображается, когда не установлен любой из следующих драйверов:
Обратитесь к производителю вашей системы или системной платы для получения соответствующих драйверов.
В: Производителя моей системы или системной платы нет в вашем списке. Что мне делать?
О: В следующем списке представлены ссылки, полученные от производителей систем или системных плат, которые предоставили нужную информацию в корпорацию Intel. Если производителя вашей системы нет в списке, обратитесь к нему за помощью, используя стандартный способ обращения за поддержкой (веб-сайт, телефон, эл. почта и т.д.).
В: Какие типы доступа могут применять атакующие для использования идентифицированных уязвимостей?
О: Если производитель аппаратных средств воспользуется рекомендуемыми корпорацией Intel механизмами защиты от записи, атакующему потребуется получить физический доступ к флэш-памяти встроенного ПО платформы для использования уязвимостей, идентифицированных в следующих рекомендациях:
Злоумышленник получает физический доступ, вручную обновляя платформу, устанавливая образ вредоносного встроенного ПО с помощью устройства программирования, физически подключаемого к флэш-памяти платформы. Защита от записи флэш-дескриптора обычно устанавливается на платформе в конце производства. Защита от записи флэш-описателя обеспечивает защиту настроек флэш-памяти от преднамеренного или непреднамеренного изменения после производства.
Если производитель аппаратных средств не активирует рекомендуемые корпорацией Intel механизмы защиты от записи флэш-описателя, атакующему потребуется доступ к работающем ядру (логический доступ, кольцо 0 операционной системы). Атакующему необходим данный доступ для использования идентифицированных уязвимостей посредством установки на платформе вредоносного образа встроенного ПО с помощью вредоносного драйвера платформы.
Уязвимость, идентифицированная в документе CVE-2017-5712, может быть использована удаленно через сеть в сочетании с действительными административными учетными данными для Intel® Management Engine. Уязвимость не может быть применима, если действительные административные учетные данные недоступны.
Если вам необходима дополнительная помощь, обратитесь в службу поддержки Intel для оформления онлайновой заявки на обслуживание.
Thread: MEUpdate Tool?
Thread Tools
Search Thread
Display
ROG Guru: White Belt Array pinkfloyd1173 PC Specs
pinkfloyd1173 PC Specs | |
Motherboard | ROG STRIX Z690-A GAMING WIFI D4 |
Processor | Intel i7 12700k |
Memory (part number) | Corsiar Dominator Platinum RGB 32GB 3200MHZ |
Graphics Card #1 | ASUS TUF 3080 OC |
Monitor | LG UltraGear 32GP850-B |
Storage #1 | 1 M.2 980 PRO 2 TB |
CPU Cooler | Corsair H100io Elite Capellix |
Case | COOL MASTER MC500P |
Power Supply | Corsair HX1000i |
OS | Windows 10 Pro |
Network Router | Asus RT-AX86 |
Join Date Nov 2012 Reputation 34 Posts 123
How do I install this firmware?? MEUpdate Tool Version 12.0.49.1534
What our the correct steps to install this firmware.
Basically as far as i remember, the ME Firmware is bundled within the ASUS BIOS package, though when downloaded separately, you can update from Windows.
The firmware version should be updated alongside the ME software from Intel.
ROG Guru: White Belt Array pinkfloyd1173 PC Specs
pinkfloyd1173 PC Specs | |
Motherboard | ROG STRIX Z690-A GAMING WIFI D4 |
Processor | Intel i7 12700k |
Memory (part number) | Corsiar Dominator Platinum RGB 32GB 3200MHZ |
Graphics Card #1 | ASUS TUF 3080 OC |
Monitor | LG UltraGear 32GP850-B |
Storage #1 | 1 M.2 980 PRO 2 TB |
CPU Cooler | Corsair H100io Elite Capellix |
Case | COOL MASTER MC500P |
Power Supply | Corsair HX1000i |
OS | Windows 10 Pro |
Network Router | Asus RT-AX86 |
Join Date Nov 2012 Reputation 34 Posts 123
I see, I am still on 1302 bios, don’t really want to update bios since every thing is working fine on my rig.
Should I just leave it alone?
ROG Guru: Yellow Belt Array Ch3vr0n PC Specs
Ch3vr0n PC Specs | |
Motherboard | Asus Maximus XI Formula |
Processor | Core i9 9900k @ 4.7GHZ (XMP) |
Memory (part number) | CMT32GX4M4Z3200C16 |
Graphics Card #1 | Asus Strix GTX 1080 A8G |
Sound Card | on board |
Monitor | ASUS VG278HR & ASUS VK278Q |
Storage #1 | Samsung 970 Evo 1TB (Boot) & 970 EVO 2TB (Scratch) |
Storage #2 | 3X HGST 10TB, 1x HGST 4TB |
CPU Cooler | Scythe Mugen 5 PCGH |
Case | Cooler Master Cosmos II |
Power Supply | Corsair AX860i |
Keyboard | Corsair k95 RGB Platinum |
Mouse | Corsair M65Pro RGB |
Headset | Corsair Voide Wireless SE |
Mouse Pad | Corsair MM300 + Corsair MM800 Polaris (EU) |
Headset/Speakers | Logitech Z-906 |
OS | Windows 10 Pro x64 |
Network Router | Netgear XR500 |
Accessory #1 | Xbox One Elite Wireless Controller |
Accessory #2 | 2X Corsair LL140, 4x Corsair LL120 |
Accessory #3 | 1x Corsair LED RGB Pro expansion kit, 2x LS100 RGB kit + 450mm expansion kit |
Join Date Nov 2012 Reputation 38 Posts 237
ah the age old «should i update bios or not» question again. That depends
Do you potentially want to encounter problems the bios updates fix, or do you update to prevent you from encountering the problems they fix?
Nobody but you can answer that. Personally i’m in favor of option 2. Especially since bios updates often update the IME or other security and performance issues. You have a choice to make, and only you can make it.
ROG Guru: Yellow Belt Array will_s PC Specs
will_s PC Specs | |
Motherboard | Asus Maximus Hero X |
Processor | Intel i7 8700K |
Memory (part number) | G.Skill F4-3600C16-8GTZNC Trident Z |
Graphics Card #1 | Aorus 1080ti |
Sound Card | external Turtle Beach |
Monitor | Predator 34″ |
Storage #1 | Samsung 960 Pro 1TB m.2 (PCIE) |
Storage #2 | Samsung 850 EVO |
CPU Cooler | Corsair H115i Pro |
Case | Corsair Carbide Air 740 ATX Cube |
Keyboard | Logitech G105 |
Mouse | Logitech G Pro Gaming |
Headset | Turtle Beach Elite Pro |
OS | Windows 10 |
Network Router | Asus |
Accessory #1 | Fanatech CSW2 |
Accessory #2 | Fanatech V3’s |
Join Date Sep 2013 Reputation 10 Posts 174
ah the age old «should i update bios or not» question again. That depends
Do you potentially want to encounter problems the bios updates fix, or do you update to prevent you from encountering the problems they fix?
Nobody but you can answer that. Personally i’m in favor of option 2. Especially since bios updates often update the IME or other security and performance issues. You have a choice to make, and only you can make it.
yes, when Moses went up and got the 11 commandments he knew that the eleventh would cause so much soulsearching and arguments that he scratched it off but he did take a pic with his iphone and it read
11/ thou shall only update BIOS if you know what you are doing
Выключаем Intel ME 11, используя недокументированный режим
В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора.
В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. О том, как мы нашли этот недокументированный режим, и о его связи с государственной программой построения доверительной платформы High Assurance Platform (HAP) мы расскажем в этой статье.
Авторы предупреждают, что использование данных знаний на практике может повлечь за собой повреждение вычислительной техники, и не несут за это никакой ответственности, а также не гарантируют работоспособность или неработоспособность чего-либо и не рекомендуют экспериментировать без наличия SPI-программатора.
Введение
Intel Management Engine — это закрытая технология, которая представляет собой интегрированный в микросхему Platform Controller Hub (PCH) микроконтроллер с набором встроенных периферийных устройств. Именно через PCH проходит почти все общение процессора с внешними устройствами, следовательно Intel ME имеет доступ практически ко всем данным на компьютере и возможность исполнения стороннего кода позволяет полностью скомпрометировать платформу. Такие безграничные возможности привлекают исследователей не первый год, но сейчас интерес к технологии Intel ME значительно вырос. Одной из причин этого является переход данной подсистемы на новую аппаратную (x86) и программную (доработанный MINIX в качестве операционной системы) архитектуру. Применение платформы x86 позволяет использовать всю мощь средств анализа бинарного кода, что ранее было затруднительно, так как до 11-й версии использовалось ядро с малораспространенной системой команд — ARC. К сожалению, анализ Intel ME 11-й версии был затруднен тем, что исполняемые модули упакованы кодом Хаффмана с неизвестными таблицами. Но нашей исследовательской группе (Дмитрий Скляров, Марк Ермолов, Максим Горячий) удалось их восстановить (утилиту для распаковки образов можно найти на нашей странице в GitHub).
После распаковки исполняемых модулей мы приступили к изучению программной и аппаратной «начинки» Intel ME. Наша команда занимается этим уже достаточно продолжительное время, и мы накопили большой объем материалов, которые было решено опубликовать. Это первая статья из цикла статей, посвященных внутреннему устройству и особенностям работы Intel ME, и в ней мы расскажем, как отключить основной функционал подсистемы. Этот вопрос терзает специалистов, так как ее отключение позволило бы снизить риски утечки данных, например в случае обнаружения в этой технологии уязвимости нулевого дня.
Как выключить ME
Как выключить ME — этот вопрос часто задают некоторые владельцы компьютеров x86-архитектуры. Тема деактивации неоднократно поднималась, в том числе и исследователями нашей компании.
Актуальности этому вопросу добавляет недавно обнаруженная критическая (9,8 из 10) уязвимость в Intel Active Management Technology (AMT) — технологии, которая базируется на Intel ME.
Сразу огорчим читателя — полностью выключить ME на современных компьютерах невозможно. Это связано прежде всего с тем, что именно эта технология отвечает за инициализацию, управление энергопотреблением и запуск основного процессора. Сложности добавляет и тот факт, что часть кода «жестко прошита» внутри микросхемы PCH, которая выполняет функции южного моста на современных материнских платах. Основным средством энтузиастов, которые «борются» с данной технологией, является удаление всего «лишнего» из образа flash-памяти при сохранении работоспособности компьютера. Но сделать это не так просто, так как, если встроенный в PCH код не найдет во flash-памяти модули ME или определит, что они повреждены, система запущена не будет. Уже несколько лет в сети развивается проект me_cleaner, в рамках которого доступна специальная утилита, позволяющая удалить большую часть образа и оставить только жизненно необходимые для основной системы компоненты. Но даже если система запустилась, радоваться рано — приблизительно через 30 минут может произойти автоматическое отключение, так как при некоторых сбоях ME переходит в Recovery-режим, в котором не функционирует больше некоторого фиксированного времени. В итоге процесс очистки усложняется. Например, до 11-й версии удавалось уменьшить размер образа до 90 KБ, но в 11-й — уже только до 650 КБ.
Секреты в QResource
Intel дает производителям материнских плат возможность задать небольшое количество параметров ME. Для этого компания предоставляет производителям оборудования специальный набор программного обеспечения, в который входят такие утилиты, как Flash Image Tool (FIT) для настройки параметров ME и Flash Programming Tool (FPT), реализующая поддержку программирования flash-памяти напрямую через встроенный SPI-контроллер. Данные программы недоступны конечному пользователю, но их без труда можно найти в интернете. Из этих утилит можно извлечь большое количество файлов формата XML (подробное Intel ME: The Way oftheStatic Analysis), изучение которых позволяет узнать много интересного: структуру прошивки ME и описание PCH strap — специальных конфигурационных битов для различных подсистем, интегрированных в микросхему PCH.
Нас заинтересовало одно из таких полей с именем «reserve_hap», так как напротив него имелся комментарий — High Assurance Platform (HAP) enable.
Поиск в Google не был долгим. Буквально вторая ссылка говорит, что такое название носит программа по созданию доверительных платформ, связанная с Агентством национальной безопасности (АНБ) США. Презентацию с описанием программы можно найти тут. Нашей первой мыслью было поставить этот бит и посмотреть, что будет. Это может сделать любой желающий, если у него есть SPI-программатор или доступ в Flash Descriptor (на многих материнских платах некорректно выставлены права доступа к регионам flash-памяти).
После загрузки платформы утилита meinfo сообщает странный статус — Alt Disable Mode. Беглые проверки показали, что ME не отвечает на команды и никак не реагирует на воздействия из операционной системы. Мы решили разобраться, как система переходит в этот режим и что он означает. К этому времени у нас уже была проанализирована основная часть модуля BUP, который отвечает за начальную инициализацию платформы и, исходя из вывода meinfo, устанавливает этот статус. Для понимания алгоритма работы BUP необходимо более подробно описать программное окружение Intel ME.
Программная часть Intel ME 11
Начиная с 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 и рассмотрим более подробно, как происходит загрузка операционной системы и модулей.
Стадии загрузки Intel ME
Запуск начинается с программы ROM, которая содержится во встроенной в PCH статической памяти. К сожалению, способ прочесть или перезаписать эту память широкой общественности не известен, но в интернете можно найти «предпродажные» версии прошивки ME с разделом ROMB (ROM BYPASS), который, по нашему предположению, дублирует функционал ROМ. Таким образом, исследуя такие прошивки, можно восстановить основной функционал программы первичной инициализации.
Изучение ROMB позволяет понять назначение ROM — выполнение начальной инициализации оборудования, например SPI-контроллера, проверка цифровой подписи заголовка раздела FTPR, загрузка модуля RBE, который расположен уже во flash-памяти. RBE, в свою очередь, проверяет контрольные суммы модулей KERNEL, SYSLIB, BUP и передает управление на точку входа в ядро.
Следует заметить, это эти три сущности — ROM, RBE и KERNEL — выполняются на нулевом уровне привилегий (в ring-0) ядра MIA.
Первый процесс, который создается ядром, — это BUP, который уже выполняется в своем адресном пространстве, в ring-3. Других процессов ядро по своей инициативе не запускает, этим занимается сам BUP, а также отдельный модуль LOADMGR, к нему вернемся позже. Назначение BUP (platform BringUP) — это инициализация всего аппаратного окружения платформы (в том числе процессора), выполнение первичных функций управления энергопитанием (например, запуск системы по нажатию кнопки включения) и запуск все остальных процессов ME. Таким образом, можно с уверенностью говорить, что PCH в 100-й серии и выше просто физически не имеют возможности запуска без корректной прошивки ME. Во-первых, BUP инициализирует контроллер управления энергопитанием (power management controller, PMC) и ICC-контроллер. Во-вторых — запускает целую вереницу процессов; часть из них «жестко прошита» в коде (SYNCMAN, PM, VFS), а другая часть содержится в InitScript (аналог автозапуска), который хранится в заголовке тома FTPR и защищен цифровой подписью.
Таким образом, BUP считывает InitScript и запускает все процессы, которые удовлетворяют типу запуска ME и являются IBL-процессами.
В случае если запуск процесса не удался, BUP не будет запускать систему или переведет ее в Recovery режим, в котором произойдет автоматическое отключение питания после нескольких десятков минут. Как можно видеть на иллюстрации, последним в списке IBL-процессов является LOADMGR. Именно он дает старт оставшимся процессам, но в отличие от BUP, если в процессе запуска модуля происходит ошибка, LOADMGR просто перейдет к следующему.
Таким образом, первый вариант ограничить функционирование Intel ME — удалить все модули, которые не имеют флаг IBL в InitScript, что позволит существенно уменьшить размер прошивки. Но первоначально мы хотели выяснить, что происходит с ME в режиме HAP. Для этого рассмотрим программную модель BUP подробнее.
BringUP
Если присмотреться к алгоритму работы модуля BUP, можно сказать, что внутри него реализован классический конечный автомат. Выполнение функционально разделено на две составляющие: стадии инициализации (представляют собой тот самый конечный автомат) и выполнение сервисных запросов других процессов после инициализации системы. Число стадий инициализации разное, в зависимости от платформы и SKU (TXE, CSME, SPS, consumer, corporate), но основные, общие для всех версий, все же можно выделить.
Первая стадия
На начальной стадии происходит создание внутренней диагностической файловой системы sfs (SUSRAM FS — файловая система, расположенная в энергозависимой памяти), считывание конфигурации, и, самое главное, получение информации от PMC о том, что привело к данному старту — включение питания платформы, глобальный перезапуск всей платформы, перезапуск только ME или же пробуждение из состояния сна. Эта стадия называется boot flow determination. От нее зависят последующие стадии работы конечного автомата инициализации. Кроме того, поддерживаются несколько режимов работы: нормальный и набор сервисных режимов, при которых основной функционал ME не выполняется — HAP, HMRFPO, TEMP_DISABLE, RECOVERY, SAFE_MODE, FW_UPDATE и FD_OVERRIDE.
Вторая стадия
На следующей стадии происходят инициализация ICC-контроллера и загрузка ICC-профиля (отвечает за тактовые частоты основных потребителей), инициализация Boot Guard и начало циклического опроса подтверждения запуска процессора.
Третья стадия
BUP ожидает сообщение от PMC о том, что основной процессор запустился. После этого BUP запускает асинхронный цикл опроса PMC на предмет возникновения событий энергопитания (перезапуск или отключение платформы) и переходит к следующей стадии. Если такое событие произошло, BUP выполнит запрашиваемое действие в момент перехода между стадиями инициализации.
Четвертая стадия
На этой стадии происходит инициализация внутреннего оборудования. Также BUP запускает цикл опроса heci (специального устройства, предназначенного для получения команд от BIOS или операционной системы) на предмет получения DID (DRAM Init Done message) от BIOS. Именно это сообщение позволяет ME понять, что основной BIOS инициализировал оперативную память и зарезервировал для ME специальный регион, UMA, и после этого перейти к следующей стадии.
Пятая стадия
Как только DID получен, BUP, в зависимости от режима работы, который определяется по разным составляющим, либо запускает IBL-процессы из InitScript (при нормальном режиме работы), либо зависает в цикле, выйти из которого он может только при получении сообщения от PMC, например, в результате запроса на перезагрузку или выключение системы.
Именно на этой стадии мы и находим обработку HAP, причем в этом режиме BUP не выполняет InitScript, а зависает. Таким образом, остальная последовательность действий при нормальном режиме работы не имеет отношения к HAP и нами рассматриваться не будет. Главное, что хочется отметить: в режиме HAP BUP выполняет всю инициализацию платформы (ICC, Boot Guard), но не запускает основные процессы ME.
Установка HAP-бита
Исходя из вышесказанного, второй вариант отключения состоит в установке HAP-бита и удалении или повреждении всех модулей, кроме тех, которые необходимы BUP для старта — RBE, KERNEL, SYSLIB, BUP. Сделать это можно просто убрав их из CPD-раздела FTPR и пересчитав контрольную сумму заголовка CPD (подробнее структура прошивки ME описана тут).
Остается еще один вопрос: как установить этот бит? Можно воспользоваться конфигурационными файлами FIT и определить, где он расположен в образе, но есть путь проще. Если открыть FIT, то в секции ME Kernel можно найти некий параметр Reserved. Именно этот бит и отвечает за включение режима HAP.
HAP и Boot Guard
Нами также был найден код в BUP, который при активированном режиме HAP устанавливает дополнительный бит в политиках Boot Guard. К сожалению, выяснить, чем управляет этот бит, нам пока не удалось.
Поддержка ME 11 в me_cleaner
Пока эта статья готовилась к печати, разработчики обновили me_cleaner, в результате чего он стал так же удалять из образов все модули, кроме RBE, KERNEL, SYSLIB и BUP, но без установки HAP-бита, что вводит ME в режим «TemporaryDisable». Нам стало любопытно, что происходит при таком подходе.
Мы выяснили, что удаление разделов с файловой системой ME приводит к ошибке при чтении файла cfg_rules. Данный файл содержит ряд различных настроек системы. Среди них, как мы полагаем, есть флаг, который мы назвали «bup_not_temporary_disable». Если он не установлен, вся подсистема переводится в режим TemporaryDisable, а так как этот флаг – глобальная переменная, по умолчанию инициализированная нулем, то ошибка чтения расценивается как конфигурация, требующая отключения.
Отметим также, что мы проверили также прошивки от серверной и мобильной версии ME (SPS 4.x и TXE 3.x). В серверной версии этот флаг всегда устанавливается в 1, а в мобильно не анализируется. Из вышесказанного следует, что данный способ не сможет работать на серверных и мобильных версиях (Apollo Lake) ME.
Вместо заключения
Таким образом, мы нашли недокументированный PCH strap, который позволяет перевести Intel ME в режим отключения основного функционала на ранней стадии. Хотя физическое удаление модулей из образа с сохранением работоспособности неявно доказывает, что этот режим производит отключение ME, бинарный анализ не оставляет поводов для сомнений. C большой долей уверенности можно сказать, что выйти из этого режима Intel ME уже не в состоянии, так как в модулях RBE, KERNEL и SYSLIB не найдено функционала, который позволял бы это осуществлять. Также мы считаем, что ROM, интегрированный в PCH, практически не отличается от ROMB, в котором тоже не найдено ничего похожего. Таким образом, HAP позволит защититься от уязвимостей, присутствующих во всех модулях, кроме RBE, KERNEL, SYSLIB, ROM и BUP, но, к сожалению, от эксплуатации ошибок на более ранних этапах этот режим не предохранит.
Мы ознакомили представителей Intel с деталями исследования. Их ответ подтвердил нашу догадку о связи недокументированного режима с программой High Assurance Platform. С разрешения компании приведем отрывок из ответа:
In response to requests from customers with specialized requirements we sometimes explore the modification or disabling of certain features. In this case, the modifications were made at the request of equipment manufacturers in support of their customer’s evaluation of the US government’s “High Assurance Platform” program. These modifications underwent a limited validation cycle and are not an officially supported configuration.
Мы полагаем, что данный механизм — удовлетворение обычной просьбы любой правительственной службы, которая хочет уменьшить вероятность утечки по побочным каналам. Но остается главный вопрос: как HAP влияет на функционирование Boot Guard? Из-за закрытости этой технологии ответить на этот вопрос пока не представляется возможным, но мы надеемся, что в скором будущем нам это удастся.
Авторы: Горячий Максим, Ермолов Марк