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

Над этой технологией поработал Xzibit и она настолько хороша, что многие называют ее аппаратной закладкой в процессоре и пытаются отключить.
Над этой технологией поработал Xzibit и она настолько хороша, что многие называют ее аппаратной закладкой в процессоре и пытаются отключить.

Intel AMT позволяет удаленно управлять компьютером, даже если операционная система не загружена или не работает. Причем поддерживается как проводное, так и Wi-Fi подключение. Рулить бивасами по Wi-Fi - ну разве не прелесть?

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

В итоге я приобрел на eBay компьютер HP ProDesk 600 G3 Mini.

По железу он удовлетворял моим потребностям с большим запасом. Но вот получить доступ ко всем функциям Intel AMT мне не удалось. Оказалось что на моем экземпляре можно активировать только урезанный вариант этой технологии - Intel Standard Manageability. 

Intel Std Mgt (Standard Manageability) или Intel SMT - это одна из функций, доступных в Intel AMT (Active Management Technology). Она обеспечивает базовый набор возможностей удаленного управления компьютером. Стандартный уровень управляемости Intel AMT (Std Mgt) представляет собой минимальный набор функций удаленного управления и поддерживается на большинстве компьютеров, оснащенных технологией Intel AMT.

Подробнее про отличия между Intel AMT и SMT можно узнать из этого видео.

Если вам нужна поддержка Intel AMT без танцев с бубном, советую при покупке компьютера обращать внимание на интеловский стикер на корпусе. На стикере должна быть отмечена поддержка платформы vPro.

Краткое руководство по выбору vBro
Краткое руководство по выбору vBro

В моем случае из функционала Intel AMT были недоступны KVM и удаленное подключение по беспроводной сети. Первое меня не слишком волновало, но подключение по Wi-Fi было нужно позарез. Теоретически Intel SMT поддерживает беспроводное подключение, но то ли HP приберегла эту фичу для серии EliteDesk, то ли она появилась в более поздних версиях vPro… Поначалу я грешил на комплектный Wi-Fi адаптер Intel 7265NGW, но его замена на Intel 8265NGW, который прописан в Intel ME,  ничего не изменила.

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

Тогда я полез за решением в интернет и нашел подходящую тему на форуме Win-Raid.
Там пользователь с ником Ohlamon создал топик, в котором спрашивал как активировать KVM на HP Prodesk 600 G3.

К своему посту он добавил отчет, сформированный программой MEInfoWin64 .

E:\Soft\Intel CSME System Tools v11 r29\MEInfo\WIN64>MEInfoWin64.exe

Intel(R) MEInfo Version: 11.8.70.3626
Copyright(C) 2005 - 2019, Intel Corporation. All rights reserved.

Intel(R) Manageability and Security Application code versions:

BIOS Version P07 Ver. 02.31
MEBx Version 11.0.0.0010
GbE Version 0.1
Vendor ID 8086
PCH Version 0
FW Version 11.8.65.3590 H
Security Version (SVN) 3
LMS Version 1927.14.0.1305
MEI Driver Version 1931.14.0.1323
Wireless Hardware Version 2.1.77
Wireless Driver Version 20.70.12.5

FW Capabilities 0x593A1146

Intel(R) Standard Manageability - PRESENT/ENABLED
Intel(R) Capability Licensing Service - PRESENT/ENABLED
Protect Audio Video Path - PRESENT/ENABLED
Intel(R) Dynamic Application Loader - PRESENT/ENABLED
Service Advertisement & Discovery - PRESENT/ENABLED

Re-key needed False
Platform is re-key capable True
Intel(R) AMT State Disabled
AMT Global State Enabled
Intel(R) Standard Manageability State Enabled
TLS Enabled
Last ME reset reason Power up
Local FWUpdate Enabled
BIOS Config Lock Enabled
GbE Config Lock Enabled
Host Read Access to ME Enabled
Host Write Access to ME Disabled
Host Read Access to EC Disabled
Host Write Access to EC Disabled

SPI Flash ID 1 C84018
SPI Flash ID 2 Unknown
BIOS boot State Post Boot
OEM ID 00000000-0000-0000-0000-000000000000
Link Status Link Up
System UUID 0e781479-d74f-14c7-e1f2-d82aa45d135a
MAC Address f4-39-09-1d-f9-9e
IPv4 Address 10.0.16.115
IPv6 Enablement Disabled
IPv6 Address Unknown
Privacy/Security Level Default
Configuration State Completed
Provisioning Mode PKI
Capability Licensing Service Enabled
OEM Tag 0x00000000
Slot 1 Board Manufacturer 0x00000000
Slot 2 System Assembler 0x00000000
Slot 3 Reserved 0x00000000
M3 Autotest Disabled
C-link Status Enabled
Wireless Micro-code Mismatch No
Wireless Micro-code ID in Firmware 0x24FD
Wireless LAN in Firmware Intel(R) Dual Band Wireless-AC 8265
Wireless Hardware ID 0x24FD
Wireless LAN Hardware Intel(R) Dual Band Wireless-AC 8265
Localized Language Russian
Independent Firmware Recovery Disabled
EPID Group ID 0x2055
LSPCON Ports None
5K Ports None
OEM Public Key Hash FPF 0000000000000000000000000000000000000000000000000000000000000000
OEM Public Key Hash ME 0000000000000000000000000000000000000000000000000000000000000000
ACM SVN FPF 0x0
KM SVN FPF 0x0
BSMM SVN FPF 0x0
GuC Encryption Key FPF 0000000000000000000000000000000000000000000000000000000000000000
GuC Encryption Key ME 0000000000000000000000000000000000000000000000000000000000000000

FPF ME
— –
Force Boot Guard ACM Disabled Disabled
Protect BIOS Environment Disabled Disabled
CPU Debugging Enabled Enabled
BSP Initialization Enabled Enabled
Measured Boot Disabled Disabled
Verified Boot Disabled Disabled
Key Manifest ID 0x0 0x0
Enforcement Policy 0x0 0x0

MEInfoWin64 - это утилита для получения информации о настройках и функциях Intel Management Engine на компьютере.

Я скачал эту утилиту и проверил свою систему. Результаты выглядели похожими на те, что были у автора темы.

Вот отчет MEInfoWin64 для моей машины
C:\CSME System Tools\MEInfo\WIN64>MEInfoWin64

Intel(R) MEInfo Version: 11.8.92.4189
Copyright(C) 2005 - 2020, Intel Corporation. All rights reserved.



Intel(R) Manageability and Security Application code versions:

BIOS Version                                 P22 Ver. 02.45
MEBx Version                                 11.0.0.0012
GbE Version                                  0.1
Vendor ID                                    8086
PCH Version                                  0
FW Version                                   11.8.92.4222 H
Security Version (SVN)                       3
LMS Version                                  2227.3.3.2
MEI Driver Version                           2229.3.2.0
Wireless Hardware Version                    2.1.77
Wireless Driver Version                      19.51.40.1

FW Capabilities                              0x593A1146

        Intel(R) Standard Manageability - PRESENT/ENABLED
        Intel(R) Capability Licensing Service - PRESENT/ENABLED
        Protect Audio Video Path - PRESENT/ENABLED
        Intel(R) Dynamic Application Loader - PRESENT/ENABLED
        Service Advertisement & Discovery - PRESENT/ENABLED

Re-key needed                                False
Platform is re-key capable                   True
Intel(R) AMT State                           Disabled
AMT Global State                             Enabled
Intel(R) Standard Manageability State        Enabled
TLS                                          Enabled
Last ME reset reason                         Global system reset
Local FWUpdate                               Enabled
BIOS Config Lock                             Enabled
GbE Config Lock                              Enabled
Host Read Access to ME                       Enabled
Host Write Access to ME                      Disabled
Host Read Access to EC                       Disabled
Host Write Access to EC                      Disabled
SPI Flash ID 1                               C22018
SPI Flash ID 2                               Unknown
BIOS boot State                              Post Boot
OEM ID                                       00000000-0000-0000-0000-000000000000
Link Status                                  Link Up
System UUID                                  2bd82cfb-a82b-2aaa-23a0-c8115c2428e4
MAC Address                                  10-62-e5-17-07-0c
IPv4 Address                                 192.168.1.143
IPv6 Enablement                              Disabled
IPv6 Address                                 Unknown
Privacy/Security Level                       Default
Configuration State                          Completed
Provisioning Mode                            PKI
Capability Licensing Service                 Enabled
OEM Tag                                      0x00000000
Slot 1 Board Manufacturer                    0x00000000
Slot 2 System Assembler                      0x00000000
Slot 3 Reserved                              0x00000000
M3 Autotest                                  Disabled
C-link Status                                Enabled
Wireless Micro-code Mismatch                 No
Wireless Micro-code ID in Firmware           0x24FD
Wireless LAN in Firmware                     Intel(R) Dual Band Wireless-AC 8265
Wireless Hardware ID                         0x095A
Wireless LAN Hardware                        Intel(R) Dual Band Wireless-AC 7265
Localized Language                           Russian
Independent Firmware Recovery                Disabled
EPID Group ID                                0x2027
LSPCON Ports                                 None
5K Ports                                     None
OEM Public Key Hash FPF                      0000000000000000000000000000000000000000000000000000000000000000
OEM Public Key Hash ME                       0000000000000000000000000000000000000000000000000000000000000000
ACM SVN FPF                                  0x0
KM SVN FPF                                   0x0
BSMM SVN FPF                                 0x0
GuC Encryption Key FPF                       0000000000000000000000000000000000000000000000000000000000000000
GuC Encryption Key ME                        0000000000000000000000000000000000000000000000000000000000000000

                                             FPF                      ME
                                             ---                      --
Force Boot Guard ACM                         Disabled                 Disabled
Protect BIOS Environment                     Disabled                 Disabled
CPU Debugging                                Enabled                  Enabled
BSP Initialization                           Enabled                  Enabled
Measured Boot                                Disabled                 Disabled
Verified Boot                                Disabled                 Disabled
Key Manifest ID                              0x0                      0x0
Enforcement Policy                           0x0                      0x0

На вопрос ответил пользователь с ником plutomaniac:

Standard Manageability включен, что означает, что HP отключила AMT для этой машины/SKU через настройки прошивки CSME. Вы можете проверить это, выгрузив ваш текущий образ SPI (fptw -d spi.bin), загрузив его в Flash Image Tool и проверив состояние настроек, связанных с AMT. Поскольку у вас нет прав на запись, вам нужно будет использовать джампер на плате (если это то, что он делает) или программатор, как объясняется в [Guide] Unlock Intel Flash Descriptor Read/Write Access Permissions for SPI Servicing. После того, как у вас будет доступ на запись, выгрузите ваш образ SPI, следуйте [Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization и настройте все связанные с AMT настройки между шагами 10 и 11.

Ниже в теме Ohlamon пишет, что считал образ SPI программатором и изменил биты доступа в Flash Descriptor.

Flash Descriptor - это часть SPI BIOS, которая хранит информацию о конфигурации BIOS, такую как размер, тип и расположение каждой области памяти BIOS, а также определенные настройки системы, включая настройки безопасности и настройки Intel ME (Management Engine).

В результате его компьютер не стартовал с измененным образом.

Больше сообщений в теме не было. Не очень обнадеживающе. Но тогда я мало что понял из этого набора заклинаний и стал экспериментировать с утилитой Flash Image Tool.

Утилита Flash Image Tool (FIT) - это инструмент, который используется для работы с образами SPI BIOS на устройствах с чипсетами Intel. Он позволяет отображать, редактировать, добавлять и удалять различные компоненты BIOS, такие как ME (Management Engine), GbE (Gigabit Ethernet), а также позволяет проверять целостность образа, его подпись и сертификаты. FIT также может использоваться для создания загрузочных USB-накопителей, обновления микрокода процессора и других задач, связанных с обновлением и управлением BIOS.

Для начала я, как и автор топика, с помощью утилиты Flash Programming Tool сделал дамп содержимого всего SPI-флеша BIOS в файл с названием "hp_full.bin":

FPTW64 -d hp_full.bin

Flash Programming Tool (FPT) - это утилита для прошивки SPI Flash, используемой для хранения BIOS на материнской плате. Она позволяет читать и записывать содержимое SPI Flash, а также выполнять другие операции, такие как стирание и блокирование защиты. FPT является частью пакета инструментов Intel Flash Programming Tool (FPT), который используется для прошивки различных компонентов на плате, включая Intel ME и другие системные контроллеры.

Затем я успешно открыл полученный файл с помощью Flash Image Tool и убедился что Intel AMT залочен производителем.

Поскольку часть ответа с разблокировкой FD на тот момент полностью прошла мимо меня, далее я следовал алгоритму, описанному в теме [Guide] Clean Dumped Intel Engine (CS)ME/(CS)TXE Regions with Data Initialization

0. Первым делом узнаем какая версия Intel ME установлена на компьютере. Сделать это можно заглянув в BIOS, либо с помощью утилиты MEInfo.

В моем случае установлена версия 11.8.92.4222

В теме на форуме выбираем подходящий под эту версию гайд из вариантов:

В моем случае это последний вариант D4.

Как видим, начиная с 11 версии Intel стали называть ME немного иначе.

Intel CSME (Converged Security and Manageability Engine) и CSTXE (Converged Security and Trusted Execution) - это два компонента, встроенные в процессоры Intel, которые обеспечивают дополнительный уровень безопасности и управляемости системы.

CSME предназначен для обеспечения безопасности на уровне железа, а также для управления системными функциями, такими как удаленное управление, обновление BIOS и другие. CSTXE, с другой стороны, обеспечивает безопасное выполнение кода на уровне железа и защищает от угроз на уровне процессора, таких как вредоносные программы и атаки на уровне железа.

В чем отличие Intel ME и CSME? Отвечает ChatGPT:

Intel ME (Management Engine) и Intel CSME (Converged Security and Manageability Engine) являются двумя различными компонентами, которые выполняют разные функции, хотя они взаимодействуют между собой.

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

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

Таким образом, Intel CSME отвечает за безопасность системы в целом, а Intel ME - за удаленное управление.

1. Ищем на форуме в теме (Converged Security) Management Engine: Drivers, Firmware and Tools или Intel (Converged Security) Trusted Execution Engine: Drivers, Firmware and Tools подходящую версию System Tools package и распаковываем ее.

Intel ME System Tools - это пакет утилит, разработанных Intel, для работы с подсистемой управления (Management Engine, ME) на компьютерах, основанных на процессорах Intel. Эти утилиты позволяют настраивать, управлять и мониторить различные функции и параметры ME, такие как управление энергопотреблением, защита от вредоносного кода, удаленное управление и многое другое.

Список утилит из пакета CSME System Tools v11:
  • Clock Commander Tool - используется для настройки частоты работы системных компонентов, связанных с Intel ME, таких как CPU, GPU, PCH и т.д.

  • Flash Image Tool (FIT) - утилита для работы с образами BIOS/UEFI и других SPI-устройств

  • Flash Programming Tool (FPT) - утилита для прошивки SPI Flash-памяти материнской платы, включая образы Intel ME.

  • Firmware Update Tool - утилита для обновления программного обеспечения Intel ME и других компонентов, таких как Intel CSME, Intel TXE, Intel AMT и т.д.

  • Manifest Extension Utility (MEU) - утилита для создания, чтения и редактирования файлов манифеста Intel ME для поддержки обновления ME.

  • MEInfo - утилита для получения информации о версии и конфигурации Intel ME.

  • MEManuf - утилита для проверки, включена ли функция Intel ME на компьютере.

2. В теме Intel (CS)ME, (CS)TXE, (CS)SPS, GSC, PMC, PCHC, PHY & OROM Firmware Repositories ищу подходящий для моей версии пак с репозиториями.

Далее качаю архив с файлообменника:

3. Теперь понадобится утилита для анализа образов Intel ME firmware - ME Analyzer

Кидаю файл “hp_full.bin” с дампом в папку с программой ME Analyzer и открываю его.

В результате получаю отчет

Здесь меня интересуют строки “Version 11.8.92.42222” и “SKU Corporate H”

4. В папке с репозиториями ищу наиболее подходящую версию микропрограммы. В моем случае это файл с именем 11.8.92.4222_COR_H_DA_PRD_RGN.bin

В имени файла “11.8.92.4222” указывает на версию микропрограммы, которая совпадает с версией из отчета Мe Analyzer; “COR_H” соответствует “SKU Corporate H”; “DA” обозначает версию PCH; “PRD” - это Production релиз; “RGN” говорит о том, что это чистый и не сконфигурированный образ, предоставляемый Intel OEM-производителям.

Извлекаю файл из архива и переименовываю его в "ME Region.bin" 

5. Возвращаюсь к отчету ME Analyzer. Для проверки наличия инициализационных данных в дампе SPI/BIOS необходимо убедиться что состояние файловой системы отображается как "Initialized".

6. Из папки "CSME System Tools v11 r46" перехожу в подпапку "Flash Image Tool" и из подпапки "WIN32" запускаю fit.exe. Запускается программа Flash Image Tool.  В ней открываю файл дампа SPI/BIOS “hp_full.bin”. 

Обратите внимание на вот эту строку внизу: “Warning: The ME FW image loaded has been pulled from a previously booted system. Some FW settings will not be allowed to be changed.”

Это предупреждение означает, что ME FW-образ, загруженный в программу Flash Image Tool, был получен из ранее загруженной системы. Это может ограничить возможность изменения некоторых настроек ME FW в программе Flash Image Tool. Обычно это происходит, когда пользователь пытается изменить ME FW-образ, сохраненный из ранее загруженной системы, на другую систему.

Захожу в меню "Build > Build Settings", и выбираю "No" в параметре "Generate Intermediate Files". Оставляю все остальные настройки без изменений. 

7. В меню слева выбираю пункт “Intel(R) AMT”. В “Intel(R) AMT Configuration” нахожу параметр “Intel(R) AMT Supported” и меняю его значение на “Yes”

Вот как этот параметр описан в программе: “This setting allows customers to disable Intel(R) AMT on the platform and force the platform into Standard Manageability mode.  Note: This setting is only applies to Desktop and Workstation platforms.” (Перевод: "Этот параметр позволяет пользователям отключить Intel(R) AMT на платформе и перевести платформу в режим стандартного управления. Примечание: этот параметр применим только к настольным компьютерам и рабочим станциям.")

8. Перехожу в меню "Файл > Сохранить как" и сохраняю файл конфигурации в формате XML, в данном случае его название будет "config.xml". Закрываю окно программы FIT.

9. Перехожу в папку FIT и там нахожу папку с именем, соответствующим открытому файлу, в данном случае это "hp_full.bin". Захожу в подпапку "Decomp" и заменяю в ней файл “ME Region.bin” на подготовленный в пункте 4 файл с чистым ME регионом. 

Если не выполнить эти действия, то изменения внесенные в ME регион не сохранятся после загрузки машины. (Проверено на личном опыте.)

10. Вновь запускаю FIT. Открываю файл "config.xml" сохраненный в пункте 8. 

11. Кликаю по иконке "Build Image" (либо "Build > Build Image"). Программа предупреждает меня что “Boot Guard Disabled On Platform” и “Intel(R) PTT Disabled”. Я соглашаюсь и получаю файл с прошивкой SPI/BIOS “outimage.bin”.

12. В папке FIT теперь лежит файл с именем "outimage.bin", который является выгруженным образом SPI/CSME с регионом МЕ, который имеет раздел "Configured DATA" без какой-либо ненужной информации об инициализации.

Если открыть это файл программой FIT, то никаких предупреждений о том, что образ получен из ранее загруженной системы, быть не должно.

13. Открываю файл "outimage.bin" программой ME Analyzer и проверяю что значения в строках “Version”, “Type”, “SKU” и “Chipset” не изменились. Параметр в строке “ File System State” должен измениться на “Configured”.

14. После записи полученного файла "outimage.bin" с модифицированной прошивкой на микросхему SPI Flash и загрузки системы, запускаю с правами администратора программу Flash Programming Tool с командой “-greset”.

Этот шаг нужен для того, чтобы заставить вспомогательный сопроцессор переинициализироваться и правильно принимать любые изменения в соответствующем регионе SPI/BIOS образа.

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

Напоследок расскажу о самой волнующей части процесса - перепрошивке микросхемы SPI Flash. В моем случае это MX25L12873F от Macronix на 128Mb.

Начались приключения с покупки черного программатора CH341а. Оказалось что нельзя просто купить программатор и начать им пользоваться. Сперва нужно сделать вольтмод, чтобы понизить напряжение на DATA пинах с 5В до 3.3В. Ну я человек простой, если в интернетах пишут что нужен вольтмод - делаю вольтмод.

Программатор CH341 с вольтмодом
Программатор CH341 с вольтмодом

Готовлю пациента к операции и выпаиваю с помощью фена. (Пока я разбирался с программатором - успел спалить роутер. Так что не хотелось рисковать повредить что-нибудь на плате.)

Чип SPI Flash на материнской плате
Чип SPI Flash на материнской плате

Попался, голубчик!

Не заметили ничего опасного на снимке? Вот и я не заметил что вставил плату-переходник в колодку с рычажком на один ряд выше чем было нужно. Понял я что что-то пошло не так, когда программатор не смог определить чип. Флешка за это время успела сильно нагреться, что говорится “закипела”. 

Но я забежал вперед. На снимке не первый мой опыт общения с этой флешкой. Моя первая попытка перепрошивки закончилась тем, что самая свежая на тот момент версия софта для программатора “CH341A Programmer 1.34”, найденная мной в интернетах, некорректно прочла чип, и я работал с поврежденным дампом не зная об этом. 

Интерфейс CH341A Programmer 1.34
Интерфейс CH341A Programmer 1.34

Первые звоночки начались когда после стирания и записи образа на флешку, проверка сообщила что записанный файл не совпадает с файлом в окне программы. Пришлось пробовать другие варианты софта. Хорошо себя показала “SiberiaProg-Ch341a_v1.45” успешно записав (увы некорректный) файл. 

Интерфейс SiberiaProg-Ch341a_v1.45
Интерфейс SiberiaProg-Ch341a_v1.45

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

Пришлось по новой выпаивать чип и разбираться что к чему. Тогда-то, после многих попыток, я и выяснил что v1.34 программатора некорректно читает эту микросхему. Опробовал также NeoProgrammer 2.2.0.10.

Интерфейс NeoProgrammer 2.2.0.10
Интерфейс NeoProgrammer 2.2.0.10

С чтением он справлялся. Но ни одна из программ не могла корректно стереть чип, зависая в бесконечном процессе. Но стирание все-таки происходило. Ориентируясь по активности светодиода “RUN” на плате программатора, я понял что в какой-то момент программа перестает обращаться к флешке. Тогда я просто останавливал процесс стирания и вытаскивал программатор из порта. Затем я читал флешку и проверял чтобы ячейки памяти заполнены "0xFF". Потом записывал образ и запускал проверку. Затем опять читал флешку но уже NeoProgrammer и записывал образ на диск. Затем открывал записанный образ и исходный файл программой WinMerge, и если файлы совпадали, успокаивался. Как говорится: "если один раз обжегся - начинаешь дуть на воду".

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

Надеюсь что моя статья вам помогла. Спасибо за внимание!

Комментарии (23)


  1. CodeRush
    17.04.2023 22:58
    +10

    Брюки превращаются... превращаются брюки... в элегантные шорты!

    На машинах HP поновее можно было бы наткнуться на SureStart, который на замену одного МЕ региона на другой скорее всего начал бы громко ругаться, и пришлось бы либо шить две микросхемы вместо одной, либо пояснить EC, у кого здесь паяльник и ружье.

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


    1. Alexsey
      17.04.2023 22:58
      +4

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

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


      1. CodeRush
        17.04.2023 22:58
        +3

        Ну с андервольтингом конкретно проблемы возникли после широко известной в узких кругах уязвимости Plundervolt, которую действительно на существующих процессорах иначе чем запретами не получится решить. И не реагировать на нее тоже нельзя - это репутационные потери, проблемы с государственными заказчиками (которые требуют при закупках закрытия известных уязвимостей), и т.п. В итоге пострадали в основном простые пользователи, у которых отобрали удобную фичу во имя безопасности, тот самый security-convenience-tradeoff, в перекосом то в одну сторону, то в другую.


        1. VADemon
          17.04.2023 22:58
          +3

          А вот это многое объясняет. В году 2018-м порекомендовал другу Intel XTU, чтобы понизить напряжение - да, сработало, ноутбук умерил пыл. Потом кто-то воплотил в жизнь идею (или концепт) малвари, которая пользуется интерфейсом для разгона, чтобы спалить чип (честно, идея у меня эта тоже была). По миру разнеслась как vulnerability.

          В текущее время, читаю, как люди пытаются разными методами андервольтнуть свои мобильнын Интелы, только эффект обратный (горячее становятся). Видимо дело в Plundervolt. Но нельзя ли было вывести это как опцию в UEFI, дать на откуп пользователю? Ведь:

          Secondly, the attacker requires administrative privileges on the machine.

          Почему бы нет? Да вот только:

          By doing so, attackers can for example cause the SGX to write secret data to user memory.

          Как мне кажется, дело не в безопасности и возможностях пользователя, а безопасности от пользователя. Не дай Бог модель Trusted Compute, защищающая вычисления (в том числе от владельца и администратора машины) порушится. Сюда же, со своей колокольни, приплету DRM и ему подобные, которым очень нравится TC. И тут Intel играет не последнюю роль, как разработчик стандарта HDCP.


          1. CodeRush
            17.04.2023 22:58
            +12

            Так и есть, но за безопасность от пользователя платят другие корпорации, а платят они потому, что иначе поставщики контента этот самый контент будут доставлять в низком разрешении и с низким битрейтом, если будут вообще. Устройство, на котором не работают стриминговые сервисы - это в нынешнее время практически бесполезный кусок железа для огромного количества пользователей, поэтому DRM, TDX, и прочая защита корпораций от пользователя - они производителям железа фактически навязаны производителями контента. Не будут брать - отключим газ.

            Вообще, практика показывает, что устройства с закрытыми экосистемами, в которых пользователь является атакующим по умолчанию - они в некоторых нишах не только прибыльны, но и буквально выдавливают из них более открытых конкурентов. Xbox Series X, который с точки зрения железа - практически обычный ПК, а с точки зрения ОС - практически обычный ПК с Windows и HyperV, стоит 500 долларов (т.е. продается в убыток), а аналогичный по производительность игровой ПК стоит уже 1500 долларов (и продается 5% наценкой хорошо если). На ПК при этом не нужно платить за онлайн-подписку, игры можно пиратить или покупать в десятке разных сторов на распродажах сильно дешевле, в онлайн-играх можно читерить, в оффлайн-играх можно редактировать память и собирать все ачивки одной кнопкой, в общем полная свобода и анархия, гуляй рванина! И несмотря на это все, консоли остаются популярными даже если на них практически не осталось эксклюзивов (не говоря уже про японские Sony и Nintendo, которые эксклюзивами в основном и интересны). Люди готовы платить деньги за удобство, отсутствие вирусов и читеров, и даже низкий фреймрейт и невозможность тонкой настройки игр и железа их не пугает.

            Мне самому эта ситуация очень сильно не нравится, и я всеми силами стараюсь сохранить системы, над которыми работаю, максимально открытыми для изменений. Пока что получается, и Asahi Linux - хорошее практическое доказательство этому. Тем не менее, работы еще непочатый край, и вести ее с каждым годом легче не становится, потому что закрытые экосистемы - это контроль, контроль - это деньги, а деньги очень нужны держателям акций, ради блага которых работает при капитализме любая корпорация, даже самая добрая, волшебная и социальная.


            1. VADemon
              17.04.2023 22:58
              +2

              Единомышленника нашел! :) По поводу ПК/консолей, мне кажется (особенно в англояз. сфере) тема ПК переживает ренессанс. Свои доли устройства типа таблетов, ультрабуков и т.п. отхватывают, но за последние лет 7 поднялось очень сильное сообщество энтузиастов ПК и гейминга (см. популярность r/pcmasterrace, каналов Linus Tech Tips, GamersNexus, Jayz2Cents, HardwareUnboxed и остальных этой тусовки). И тут ещё Valve норовит перетянуть аудиторию на открытый Steam Deck (Linux). Упор на открытость и модифицируемость в рекламе Deck - это прям дань каналам Louis Rossmann и Gamers Nexus. Карантин, в свою очередь, показал ажиотажный спрос на компьютеры: с телефонов не поработаешь и не поучишься. Хотя производители повелись и теперь, видите ли, производят свыше спроса.

              Значит ли это, что выбирают открытые системы? В целом нет, вы правы. Если перестает работать DRM (перескажу историю) после обновления телефона, то виноваты 1. программа стримингого сервиса 2. навязанное обновление 3. производитель телефона. То есть DRM-у условно достается в первом пункте, но как проблема он не определяется, в силу ограниченности знаний. Без локализации его как проблемы никто кроме гиков не будет против него выступать.

              Про Nintendo, мне кажется, у фанатов настоящий стокгольмский синдром. Даже среди шарящих гиков. "Но мне нравятся их игры!"

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

              Сам тоже пересел на Linux (наконец-то) и в основном профиле Firefox отключил DRM, чтобы не отсвечивать в статистику (т.е. отсвечивать, но выключенным). Занятный факт: Яндекс начал пытаться подргужать DRM при запросах капчи. Полгода или год как.


            1. vtal007
              17.04.2023 22:58

              Мне кажется Вы немного перегнули, про сравнение ПК за 1500 ка и хбокса за 500. Не стоит в консоли настолько мощное железо, которое можно купить за 1500к


        1. Houl
          17.04.2023 22:58

          Меня очень смущают цифры undervolt на, упомянутом вами, сайте. Мягко говоря, минус 200 - 250 mV это далеко за гранью разумного. Стабильность в таком диапазоне даже рядом не появлялась.
          Надо будет дополнительно с публикациями ознакомиться, но видео это то что посетитель видит в первую очередь. И поэтому возникают неудобные вопросы про адекватность исследователей.


          1. CodeRush
            17.04.2023 22:58

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

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

            Если же вопрос в том, почему нельзя разрешить, скажем, андервольт на 0.1В, и запретить какие-то совсем неадекватные значения - непонятно, по какой границе проходит эта самая адекватность, и как доказать, что она проходит именно по ней. В результате выбрали режим "по умолчанию", да так и оставили, а если атакующие найдут способ добиться каких-то заметных результатов повышением напряжения - по умолчанию запретят и его, если еще не запретили.


            1. Houl
              17.04.2023 22:58
              -1

              Посмотрел публикацию. Все равно очень странное исследование. Они с undervolt ходят буквально на грани. Они уходят дальше -100mV, а там стабильностью очень плохо пахнет. Логично что казлиные механизмы процессора могут вести себя неадекватно.
              В связи с этим не понимаю на кой блокировать доступ к undervolt. Это полностью в зоне отвественности пользователя.
              Особенно весело покупателям NUC 9 с i9k (возможно и другим владельцам NUC с разблокированной возможностью разгона). Intel в одном из обновлении прошивки просто отключила возможность разгона и undervolt из-за этой странной уязвимости.


              1. CodeRush
                17.04.2023 22:58

                Основные причины: репутационные потери от незакрытых известных уязвимостей, требования регуляторов, abundance of caution, оно же по русски дутье на воду после ожога на молоке.

                Spectre V2 тоже в практическом смысле совершенно не опасная уязвимость с точки зрения пользователя, но защиту от нее таки включили во всех мейнстримовых ОС по умолчанию, даже если это привело к существенной потере производительности.

                Если коротко, до пользователя конечного мало кому есть дело, он процессоры вагонами не закупает и потому корпорации интересен мало. Исправления эти полезны операторам дата-центров и облаков, а то, что они цепляют всех остальных - ну вот так, се ля ви, не нравится - у конкурента покупайте, какие могут быть вопросы.


    1. Didimus
      17.04.2023 22:58
      +1

      Большое неспасибо им за удаление из доступа драйверов для машин старше 10 лет


  1. VADemon
    17.04.2023 22:58
    -12

    Затем открывал записанный образ и исходный файл программой WinMerge, и если файлы совпадали, успокаивался.

    Лови проверочные суммы, виндузятник :) (gnu coreutils)

    sha1sum file1.bin; sha1sum file2.bin


    1. IDDQDesnik
      17.04.2023 22:58
      +9

      PowerShell:

      Get-FileHash -Algorithm SHA256 *.bin


  1. Javian
    17.04.2023 22:58
    +1

    Так же с CH341 помог только NeoProgrammer. Вольтмод сделал по рецепту на 4pda — отпаяв ножку микросхемы от 5в и отогнув её на соседнюю с 3.3В.


  1. IDDQDesnik
    17.04.2023 22:58

    .


  1. clu66er
    17.04.2023 22:58
    +1

    У кого завалялся LPT-порт и есть немного времени, можно сделать простой программатор:
    http://rayer.g6.cz/elektro/spipgm.htm, сама программа: http://rayer.g6.cz/programm/programm.htm#SPIPGM

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

    Фото ёжика:

    Hidden text


  1. NikiN
    17.04.2023 22:58
    +5

    Вообще Intel молодцы, закладки превратили в корпоративную фичу и даже как бы маркетинговое преимущество


  1. OmManiPadmeHum
    17.04.2023 22:58

    кстати для удаленного доступа к AMT есть отличная софтина MeshCommander


  1. molnij
    17.04.2023 22:58

    С одной стороны ужасно интересно и в некоторых случаях возможно полезно, но реально, всё это только ради того, чтобы не кидать веревку на шкаф?


    1. ABy Автор
      17.04.2023 22:58
      +1

      Да. Не всегда удобно тянуть кабель. Были еще идеи использовать Powerline адаптер или подключить к ethernet порту беспроводной роутер в режиме клиента.


  1. dartraiden
    17.04.2023 22:58
    +4

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


    Впрочем, это можно сделать уже на живой системе с помощью утилиты FWUpdate из всё того же набора CSME System Tools.


    PTT, наверное, стоило бы включить, если, конечно, вам нужна эмуляция TPM. Не то, чтобы критично важная вещь, но, скажем, на днях я встретил античит, который требовал включить TPM.


    Утилиту CH341A Programmer просто нужно выбросить, т.к. она, во-первых, проприетарная, во-вторых, варезная (она идёт в комплекте с оригинальным программатором, а то, что лежит на алике — в 99% случаев его клоны и работают со взломанной версией утилиты), в третьих, часто накрыта сверху пиратским VMProtect и никто не гарантирует, что под ним не скрывается какой-то "сюрприз", в четвёртых для успешной работы надо ещё и конкретную версию подбирать. Смысла заморачиваться нет, т.к. есть масса аналогов. Вплоть до загрузки LiveCD с линуксом и flashrom.


  1. Maxik12
    17.04.2023 22:58

    Кажется, угрозы от закладок Intel ME в процессоры несколько преувеличены. Такое по удалёнке вряд ли провернёшь. Но на всякий случай держите программатор подальше от материнской платы, а то мало ли АНБ к нему ножки приделает и прошьёт микросхему.