に対する複合 CPU セキュリティ緩和の影響IBPB ベースの Retbleed 軽減策を選択した場合を含む、Linux での Retbleed 軽減策の影響、およびフラグシップ Ryzen 9 3950X プロセッサを搭載した Zen 2 の累積的な CPU セキュリティ軽減策の影響。
Retbleed パフォーマンスに興味がある以前の Zen 1 テストと Intel Skylake テストに続いて、Ryzen 9 3950X への影響を調べるために、最新のカーネル コードを使用してさまざまな緩和状態で AMD Ryzen 9 3950X を調べるいくつかのベンチマークを実行しました。なお、AMD 側の Retbleed は、Zen 2 以前の CPU にのみ影響します。現在の世代の Zen 3 や今後の Zen 4 プロセッサには影響しません。
Linux 6.0 Git カーネルからのテスト済みの構成には以下が含まれます:
p>
mitigations=off-AMD Zen 2 プロセッサ用にデフォルトで見つかった該当する CPU セキュリティ軽減策を実行時に無効にします。
デフォルト-マージ ウィンドウ中の Linux 6.0 Git 上の AMD Zen 2 のすぐに使用できる緩和された状態。これは、「itlb_multihit: 影響なし + l1tf: 影響なし + mds: 影響なし + Meltdown: 影響なし + mmio_stale_data: 影響なし + retbleed: トレーニングされていないリターン サンクの緩和; STIBP 保護で有効化された SMT + spec_store_bypass: prctl 経由で無効化された SSB の緩和」を意味します+ spectre_v1: usercopy/swapgs バリアと __user ポインター サニタイゼーションの軽減 + spectre_v2: Retpolines の軽減 IBPB: 条件付き STIBP: 常時オンの RSB 充填 PBRSB-eIBRS: 影響なし + srbds: 影響なし + tsx_async_abort: 影響なし.”
retbleed=ibpb-デフォルトの緩和ですが、Retbleed 緩和のために間接分岐予測バリア (IBPB) メソッドを選択します。これはより安全ですが、訓練されていないリターンサンクと STIBP 保護のデフォルトの手段と比較して、より重大なパフォーマンスの低下につながります.
retbleed=ibpb spectre_v2=on-デフォルトの軽減策ですが、 Retbleed に IBPB を使用し、Spectre V2 軽減策を常にオンにして、ユーザー空間からユーザー空間への攻撃から保護します。
retbleed=ibpb spectre_v2=on nosmt-“32 スレッドではなく 16 コア/スレッドを意味しますが、対称マルチスレッディング (SMT) サポートを無効にすることで、最も安全な」方法です。特に今年の夏に Retbleed に導入された retbleed=ibpb オプションについては、追加の視点が必要です。
そこから、軽減効果を調べるために、関連するさまざまな Linux ワークロードがテストされました。
I/O ワークロードのデフォルトのすぐに使用できるものは、訓練されていない Retbleed でいくらかの影響を示しますサンクを返すだけでなく、Spectre V2 Retpolines、条件付き STIBP などの他の緩和策も提供します。 retbleed=ibpb を含むテスト実行では、より強力な Retbleed 保護により、パフォーマンスが大幅に低下しました。
Ryzen 9 3950X の Retbleed IBPB 軽減策では、WireGuard Linux カーネル ネットワーク ストレス テストのパフォーマンスが大幅に低下しました。
p>
一部の OpenJDK Java テストでは、実際には SMT を無効にした方がパフォーマンスが向上しました。 Retbleed IBPB 軽減策は、ここでは SMT 対応のセットアップにいくらかの影響を与えましたが、mitigations=off 対ストック カーネル構成は、ここではほとんど影響を受けませんでした。緩和策は、他の関連する CPU セキュリティ緩和策とともにパフォーマンスを低下させる可能性があります。
明らかに、セキュリティを強化するために SMT を無効にすると、コード コンパイルのパフォーマンスやその他のマルチスレッド ジョブなどのワークロードに影響を与える可能性があります。
明らかに詳細Linux 上のサーバー タイプのワークロードは、Retbleed 軽減策の影響をより受ける傾向があり、ユーザーは公開サーバーの CPU セキュリティ軽減策について懸念する可能性が高くなります。
Linux サーバー ワークロード以外にも、多くの Linux デスクトップ アプリケーションも、AMD Ryzen 9 3950X でのこれらのさまざまな CPU セキュリティ緩和レベルとの違いを記録しています。
Web ブラウザのパフォーマンスは、その領域の 1 つです。
私が実行した数十のベンチマークを完全に実行したい場合は、この結果ページ.
実施されたすべてのベンチマークの幾何平均を取ると、 AMD Ryzen 9 3950X では、mitigations=off を介してランタイムを無効にした状態で、94.6% の軽減されていないパフォーマンスでシステムが実行されていることがわかりました。しかし、より差し迫った問題は、間接分岐予測バリアを発行するための新しい retbleed=ibpb オプションを使用する場合です。これは、トレーニングされていないリターン サンクの軽減よりも安全ですが、パフォーマンスへの影響が最も大きくなります。 Retbleed IBPB 緩和機能を使用して実行すると、完全に緩和されていないパフォーマンスの 75% しか得られませんでした。または、デフォルト (トレーニングされていないリターン サンク) の Retbleed 緩和モードよりも 20% ヒットしました。
ありがたいことに、少なくとも AMD Zen 3 以降では、Retbleed 緩和策は必要ありません。