ハードウェアの問題:隠れたバグの解読
警告なしにフリーズするPC、負荷がかかった状態で再起動するサーバー。こうした症状の背後には、ハードウェアのバグが、Chrome拡張機能のスパイウェアよりも巧妙に隠れていることがよくあります。 SpectreとMeltdown以降、ファームウェア、マイクロコード、そしてカーネルは、DellもAppleも完全には排除できない脆弱性をめぐり、いたちごっこを続けています。 これらの不具合を解明することは、2025年に適切なパフォーマンスを維持するために必須になりつつあります。特に、Mitigation=auto の各対策が数ミリ秒、そして数ワットの電力を消費するとなるとなおさらです。
ハードウェアの問題:カーネルの背後にある氷山
現代のプロセッサは数十億個のトランジスタを積み重ねており、最適化のたびに投機的攻撃への扉が開かれます。
Meltdown 2018、Spectre v2、Retbleed:Linuxの変更ログやLenovo、HP、AsusのBIOSには、数多くの問題がつきまといます。
新たな脆弱性が発生するたびに、Microsoft、Samsung、Acer がマイクロコードをリリースし、カーネルは修正パッチを追加します。Spectre、Meltdown:生きた百科事典
カーネル 6.17 ではすでに 17 の脆弱性ファミリーがリスト化されており、それぞれが独自の cmdline オプションで制御されます。
spectre_v2_user、spectre_bhi などにより、プレヴェール風のインベントリと Grub の致命的なタイプミスに近づいています。
Apple、MSI、東芝は定期的にパフォーマンスに関するメモを公開しています。パッチを適用したマシンは、パッチ適用前よりも 15% 遅くなることがあります。
攻撃ベクトル制御:パンドラの箱を片付ける /proc/cmdline がダダイズムの詩のようになってしまうのを防ぐため、カーネルは攻撃ベクトル制御 (AVC) を導入しました。単一のディレクティブ mitigations で、no_user_kernel、no_guest_host、no_cross_thread、および他の 2 つの兄弟クラスという 5 つの保護クラスをオーケストレーションします。
これにより可読性が向上するだけでなく、柔軟性も向上します。KVMのないサーバーでは、no_guest_hostを無効にして貴重なサイクルを再利用することができます。パフォーマンス:失われた電力はどこへ行くのでしょうか?
各緩和策は投機的コードのリークを防ぎますが、CPUはパイプラインをより頻繁にフラッシュすることになります。
Dell XPSラップトップでは、no_cross_threadを使用してSMTを無効にすると、ストレステスト中にパッケージの温度がピーク時に10℃低下しましたが、仮想コアが犠牲になりました。
データセンターでは、HPとLenovoは影響を最も近いワット単位で測定しています。エネルギーコストがセキュリティポリシーを左右することもあります。 オシロスコープなしでハードウェアバグを診断する 散発的なフリーズは必ずしもカーネルパニックではありません。ドライバーのせいにする前に、マイクロコードを確認してください。
dmesg | grep microcode
を実行すると、ロードされているバージョンが表示されます。2024年以前のバージョンであれば、BHIの脆弱性がまだ潜んでいる可能性があります。Windows 11では、Microsoft PC Health Checkツールがファームウェア側でまだアクティブなCVEをリストするようになりました。これはオープンソースコミュニティにとって初めての歓迎すべき機能です。
パッチ適用ではなく無効化すべき状況とは?
Asus ProArt グラフィックワークステーションなど、仮想化されていない環境では、 mitigations=no_guest_host を使用することで GPU レイテンシを削減できます。
一方、Acer や Samsung 上の VMware ハイパーバイザーでは、VM が低速であっても、これらの保護機能を維持する必要があります。
セキュリティとパフォーマンスのトレードオフは、もはやディストリビューションごとではなく、ワークロードごとに決定されるようになりました。
出典: www.heise.de
Comments
Leave a comment