Само обновление микрокода всегда можно откатить, поскольку оно не является постоянным, хотя, если это обновление выполняется из встроенного программного обеспечения (например, 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