web-dev-qa-db-ja.com

Intelマイクロコードの更新をロールバックできますか?

Skylakeチップの hyperthreading bug などを修正するマイクロコード更新を適用した(または自動更新プロセスで適用した)としましょう。

そのような更新は元に戻せませんか、それとも後で以前のマイクロコードに切り替えることができますか?

5
BeeOnRope

マイクロコードの更新自体は永続的ではないため、常にロールバックできますが、その更新がファームウェア(UEFI/BIOSなど)から行われている場合は、変更されたファームウェアをフラッシュして更新することができます。

新しいIntelプラットフォームでは、セキュリティ上の理由から、マイクロコードの更新がhot-downgradesを禁止する場合があります(3つのマイクロコードバージョンフィールドがあります:リビジョン、「SVN」、「VCN」、後者の2つは非公式です)それらは文書化されていないため、名前です。セキュリティや安定性の理由により、VCNまたはSVN([1]を参照)をhot-downgradeすることはできません。つまり、ダウングレードできるようにするには、ファームウェアイメージのマイクロコードを変更する必要があります。オペレーティングシステムのカーネル自体は、すでにマイクロコードリビジョンのダウングレードを拒否しているため、とにかくそれを回避する必要があることに注意してください。

また、fewマイクロコード更新[]はこれまでは一般に配布されたことはなく、ファームウェアOEMのみに配布されていました。 Intel Westmere 0x206c2マイクロコードの更新]には永続的な副作用があります。プラットフォームTPMに保存されるデータを変更する。これらの永続的な副作用は、セキュリティ上の理由から存在し、Intel TXTおよび/またはIntel SGXで「ダウングレード攻撃」を回避します。この場合、マイクロコードの更新は簡単にロールバックできますが、他のファームウェアコンポーネントのロールバックを禁止する永続的な副作用がシステムに残る場合があります(たとえば、Intel TXTのSINIT ACM)。 -これらのファームウェアコンポーネントをロールバックすると、プロセッサはIntel TXT at[〜#〜] any [〜#〜]マイクロコードを無効にしますファームウェアコンポーネントを再度アップグレードするまでのリビジョン。

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

3
anonymous

マイクロコードの更新がどのように適用されるかによって異なります。マイクロコードは、マザーボードのファームウェアまたはOSによってシステムが起動するたびにパッチが適用されるため、これらのアップデートをロールバックするのがいかに簡単か、または難しいかに依存します。

更新がファームウェアからのものである場合は、チェックを行わず、古いバージョンに移行することについて不平を言っていなければ、古いバージョンに「更新」するだけの簡単なはずです。マイクロコードがLinuxからのものである場合、パッケージマネージャーを使用して 古いバージョンをインストールする と同じくらい簡単です。[1] Windowsからのものである場合、コントロールパネルを使用して更新を簡単に削除できるため、簡単であるか困難である可能性がありますが、「 重要なオペレーティングシステムファイルに影響を与える 」という更新は削除できません。


[1]実際、Linux Mint(およびおそらく他のミント)では、設定でマイクロコードの更新を簡単に無効にすることができます。それはプロプライエタリなコードであり、Linux Mintはデフォルトの設定がオープンソースのみであることを望んでいるため、実際にはデフォルトではオフになっています。

2