Можно ли откатить обновления микрокода Intel?

5

Допустим, я применил (или применил для меня автоматическое обновление) обновление микрокода, которое исправляет, например, ошибку гиперпоточности на моем чипе Skylake.

Являются ли такие обновления необратимыми или я могу позже вернуться к более раннему микрокоду?

BeeOnRope
источник
3
Обновления микрокода не являются постоянными и исчезают при перезагрузке процессора. Обновления микрокода обычно поставляются через обновления прошивки материнской платы. Микропрограмма обновляет микропрограмму ЦП при загрузке системы, поэтому способ откатить обновление - откатить прошивку материнской платы.
Мокубай
1
@ Мок отлично! Достаточно хорошо для ответа ...
BeeOnRope

Ответы:

3

Само обновление микрокода всегда можно откатить, поскольку оно не является постоянным, хотя, если это обновление выполняется из встроенного программного обеспечения (например, UEFI / BIOS), вы можете перепрограммировать измененное встроенное программное обеспечение, чтобы сделать это:

На более новых платформах Intel обновления микрокодов могут запрещать « горячие» понижения в целях безопасности (есть три поля версии микрокода: ревизия, «SVN» и «VCN», последние два являются неофициальными именами, так как они не имеют документов. горячая версия VCN или SVN (см. [1]) из-за соображений безопасности и / или стабильности). Это означает, что вам нужно изменить микрокод в образе прошивки, чтобы иметь возможность понизить версию. Обратите внимание, что ядро ​​операционной системы само по себе уже отказывается понижать версию микрокода, поэтому вам все равно придется обходить его.

Кроме того, несколько обновлений микрокода [ которые до сих пор никогда не распространялись среди широкой публики, только среди производителей микропрограмм, например, обновления микрокода Intel Westmere 0x206c2 ], имеют постоянные побочные эффекты , например, путем изменения данных, которые хранятся в платформе. ТРМ. Эти постоянные побочные эффекты существуют по соображениям безопасности, чтобы избежать «атак понижения» на Intel TXT и / или Intel SGX. В этом случае обновление микрокода можно легко откатить, но оно может оставить постоянные побочные эффекты в системе, которые не позволяют выполнять откат других компонентов прошивки (например, SINIT ACM для Intel TXT) - если вы выполняете откат этих компонентов прошивки назад процессор отключит Intel TXT в ЛЮБОМ ревизия микрокода, пока вы не обновите компонент прошивки снова.

[1] https://github.com/platomav/MCExtractor/wiki/Intel-Microcode-Extra-Undocumented-Header

анонимный
источник
2

Это зависит от того, как применяется обновление микрокода. Микрокод исправляется каждый раз при загрузке системы, либо встроенным ПО материнской платы, либо ОС, поэтому все зависит от того, насколько легко или сложно откатить эти обновления.

Если обновление идет из прошивки, это должно быть так же просто, как «обновление» до более старой версии, при условии, что оно не делает никаких проверок и не жалуется, что вы переходите на более старую версию. Если микрокод поступает из Linux, это может быть так же просто, как использовать менеджер пакетов для установки более старой версии . [1] Если он идет из Windows, это может быть легко или сложно, потому что вы можете легко удалить обновления с помощью панели управления, но это не позволит вам удалить обновления, которые « влияют на важные файлы операционной системы ».


[1] На самом деле, в Linux Mint (и, возможно, других) вы можете легко отключить обновления микрокода в настройках. На самом деле он отключен по умолчанию, потому что это собственный код, и Linux Mint хочет, чтобы конфигурация по умолчанию была только с открытым исходным кодом.

PunctualEmoticon
источник