Chrome OS上のVM(Linux)でハイパースレッディングが無効になっています

Chrome OS上のVM(Linux)でハイパースレッディングが無効になっています

2年以上前、IntelのCPUが重大なセキュリティ上の欠陥にさらされ、PC業界が事実上頭を悩ませていたのを覚えていますか?番号?心配ない。あなたは一人ではありません。それでも、MeltdownとSpectreの脆弱性の深刻さは現実のものであり、それらがもたらす潜在的な危害は正当な懸念事項でした。ありがたいことに、ほとんどのChrome OSデバイスは、問題が公開される前にパッチが適用されていました。私の知る限り、Chromebookへの攻撃は実際には実現されていませんでした。 SpectreとMeltdownはほとんどの場合距離の記憶ですが、ChromeOSはそのような脆弱性の長期的な影響を免れていないようです。

これらの欠陥が2018年に明らかになったとき、即座の対応は、セキュリティの脆弱性の緩和策としてハイパースレッディングを無効にすることでした。 ハイパースレッディングとは何ですか? 良い質問。ハイパースレッディングは、SMTまたは同時マルチスレッディングのIntelのブランド名です。簡単に言うと、マルチスレッドは単一のCPUコアを取り、それを2つの仮想コアに分割します。目的は、余分なハードウェアを使用せずに、より効率的なマシンを作成することです。さて、これはCPUのパワーを即座に2倍にすることはありません。代わりに、マシンのカーネルは、コアが1つのタスクを完了してから次のタスクに進む代わりに、仮想スレッドを使用して2つのタスクを同時に実行できるようになりました。場合によっては、全体的なCPUパフォーマンスが向上します。 SpectreとMeltdownは、SMTプロセスの弱点を利用して、ユーザーのデバイスのメモリに保存されている機密情報にアクセスすることができました。

それはほぼ3年前のことですが、昨夜、Joe Romeoから、Chromium開発者がこれらのタイプのセキュリティ違反を防ぐための措置を講じていることを警告するメールを受け取りました。その措置のひとつは、VMを使用するときにハイパースレッディングを無効にすることです。 (仮想マシン)ChromeOS上。 Chrome OSがVMを何に使用しているのか疑問に思っている場合は、想像以上に多くのことがあります。 Androidエミュレーターはその一例ですが、さらに重要なことに、CrostiniはVMレイヤーを利用しています。つまり、ターミナルまたはLinuxアプリケーションを開くと、ハイパースレッディングはすぐに無効になります。以下のJoeRの画面記録で、実際のプロセスを確認できます。

COGシステムビューアーを使用すると、Corei5デバイスが使用可能な4つのコアを8つの仮想スレッドに分割していることがわかります。ターミナルアプリを開くとすぐに、4つのコアがすぐに無効になります。 Romeo氏が開いたバグレポートをもう少し詳しく見てみると、開発者がこのWIAにマークを付けていることがわかります。これは、意図したとおりに機能することを意味します。ハイパースレッディングを有効にした設定に関係なく、VMの実行中は機能しません。コメントのさらに下に、理由がわかります。

これはWAIです。新しいカーネルでは、セキュリティ上の理由から、仮想マシンを起動するとハイパースレッディングを無効にします。セッションでの設定は、VMを起動するまでのみ尊重されます。

Chromiumバグトラッカー

ハイパースレッディングは明らかに開発者にとって依然としてセキュリティ上の懸念事項であり、CPUを信頼できないVMにさらすことは避けたいものです。それでも、これは少しがっかりです。 ChromeOSがディスクリートGPUや外部GPUなどのハードウェアをすぐに活用できるという手がかりを着実に探してきました。プレミアムChromeOSデバイスのハードウェアを最大限に活用することは、Chromebookと、Windows、Mac、およびLinuxとの間に存在するますます狭くなるアプリのギャップを最終的に埋めることができるようにするための鍵です。ハイパースレッディングが恒久的に弱体化する可能性があると考えるのは、せいぜい残念なことです。ありがたいことに、バグレポートの最後のコメントは、割り当てられた開発者がまだこの問題について話し合っていると述べたので、希望をかすかに見せてくれます。このバグレポートの進捗状況を確認したい場合は、そうすることができます ここ