
Linuxパッチによると、Intelのエンジニアは、古いマイクロコードを実行している場合にシステムを脆弱としてタグ付けする機能を実装する予定とのことです(Phoronix経由)。これは、最近のIntel第13世代および第14世代の性能低下問題を受けての発表であり、Team Blueは集団訴訟に踏み切ろうとしています。
このパッチは、古いマイクロコードでシステムを実行しても安全であるとは限らないと主張しています。マイクロコードとは基本的にCPU内の命令セットであり、起動後に更新することで重大な欠陥やセキュリティ上の脆弱性を修正できます。このパッチは、ユーザーにPCが潜在的に安全ではないことを明確かつ簡潔に通知し、システムが脆弱であるか脆弱でないかを示すことを提案しています。作者は、この脆弱性を「/sys/devices/system/cpu/vulnerabilities/old_microcode」に報告するよう呼びかけています。これにより、単一のファイルでユーザーにマイクロコードの更新を促すことができます。
CPUが古いマイクロコードを実行しているかどうかを判別するために、新しいX86_BUG_OLD_MICROCODEフラグが導入されました。ほとんどのCPUでは、LinuxはIntelのGitリポジトリに基づいて最新のマイクロコードバージョンをまとめたリストを維持しています。
このアプローチには若干の欠陥があります。マイクロコードはBIOSまたはOSカーネルを通じて更新できるためです。CPUは通常最新のマイクロコードを選択しますが、BIOSのマイクロコードの方が新しい場合、CPU自体は最新リリースを使用していても、システムが誤検知を報告する可能性があります。これは、前述のgitリポジトリがOSがロード可能なマイクロコードのみをホストしているためです。特定のBIOSベンダーが新しいマイクロコード(gitリポジトリに含まれていないもの)をプッシュした場合、カーネルはCPUが最新バージョンかどうかを判断できません。この問題を解決するために、著者はIntelに対し、使いやすさとアクセス性を向上させるため、すべてのCPUとそれぞれのマイクロコードの「公式リスト」を公開することを提案しています。
もちろん、これによって古いマイクロコードの実行が制限されるわけではありません。このアップデートの目的は、エンドユーザーにシステムが欠陥、より具体的にはCPUの劣化の影響を受けやすいことを知らせることです。劣化に関しては、IntelはユーザーがBIOSをいちいち変更する手間を省くため、カーネル自体を通じてマイクロコードのアップデートを展開し始めました。一方で、IntelはCPUの最小電圧(Vmin)の大幅な上昇に対処する0x129マイクロコードはWindows Updateでは提供されないと発表しました。
Linuxの主流フォークがこの考え方に追随し、AMDのRyzenシリーズにも同様のものを実装するかどうかは、今後の動向次第でしょう。アイデアは堅実ですが、実装には改良の余地があり、特にOSがロードするマイクロコードとBIOSがロードするマイクロコードの区別が重要です。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
ハッサム・ナシルは、長年の技術編集者兼ライターとしての経験を持つ、熱狂的なハードウェア愛好家です。CPUの詳細な比較やハードウェア全般のニュースを専門としています。仕事以外の時間は、常に進化を続けるカスタム水冷式ゲーミングマシンのためにチューブを曲げたり、趣味で最新のCPUやGPUのベンチマークテストを行ったりしています。