Само обновление микрокода всегда можно откатить, так как оно не является постоянным, хотя, если это обновление выполняется из встроенного программного обеспечения (например, UEFI/BIOS), вы можете перепрограммировать измененное встроенное программное обеспечение, чтобы сделать это:
На более новых платформах Intel обновления микрокодов могут запрещать « горячие» понижения в целях безопасности (есть три поля версии микрокода: revision, "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