スペクターとメルトダウン緩和を無効にする

スペクターとメルトダウン緩和を無効にする

Ubuntu 18.04LTSでSpectreとMeltdownの軽減を無効にできますか?

Linuxでこれら2つの機能を無効にすると、パフォーマンスがどれだけ向上するかをテストし、規模が大きい場合は永久に維持したいと思います。

答え1

さまざまなカーネルブートパラメータを使用して、ハードウェアの脆弱性の軽減を無効または微調整できます。

mitigationsメタパラメータが導入されました。5.2から5.1.2、5.0.16、および4.19.43(およびその他のバージョン)にバックポートされました。次のように、すべてのアーキテクチャのすべての軽減を制御するために使用できます。

  • mitigations=offすべてのオプションのCPU緩和が無効になります。
  • mitigations=auto(デフォルト)既知のすべてのCPUの脆弱性を軽減しますが、SMTを有効にします(有効になっている場合)。
  • mitigations=auto,nosmt既知のすべてのCPUの脆弱性が軽減され、適切な場合はSMTが無効になります。

これらのいくつかは実行時に切り替えることができます。詳細については、リンクされたドキュメントを参照してください。

答え2

カーネル 5.1.13 以降の使用:

開始パラメーターでは、以下を使用できます。

mitigations=off 

5.1.13 以前のカーネルの使用:

noibrs noibpb nopti nospectre_v2 nospectre_v1 l1tf=off nospec_store_bypass_disable no_stf_barrier mds=off mitigations=off 

mitigations=offファイルに 1 つ以上の長い行を追加し、/etc/sysconfig/grub次を使用して grub の構成ファイルを再生成します。

grub2-mkconfig

(あなたの割り当て手順はさまざまです)。

Debian/Ubuntu 派生ディストリビューション:

ファイルを編集し/etc/default/grubて実行します。

update-grub

答え3

Fedora 37では、新しいカーネルを使って/sys/devices/system/cpu/vulnerabilities/

$ grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX disabled
/sys/devices/system/cpu/vulnerabilities/l1tf:Not affected
/sys/devices/system/cpu/vulnerabilities/mds:Not affected
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Mitigation: Clear CPU buffers; SMT vulnerable
/sys/devices/system/cpu/vulnerabilities/retbleed:Mitigation: Enhanced IBRS
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Mitigation: Speculative Store Bypass disabled via prctl
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: usercopy/swapgs barriers and __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Enhanced IBRS, IBPB: conditional, RSB filling, PBRSB-eIBRS: SW sequence
/sys/devices/system/cpu/vulnerabilities/srbds:Mitigation: Microcode
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

軽減を一度に無効にするには:

sudo grubby --update-kernel=ALL --args="mitigations=off"

再起動後にプリントがどのように変更されるかを確認する

$ grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/itlb_multihit:KVM: Mitigation: VMX disabled
/sys/devices/system/cpu/vulnerabilities/l1tf:Not affected
/sys/devices/system/cpu/vulnerabilities/mds:Not affected
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data:Vulnerable
/sys/devices/system/cpu/vulnerabilities/retbleed:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Vulnerable: __user pointer sanitization and usercopy barriers only; no swapgs barriers
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Vulnerable, IBPB: disabled, STIBP: disabled, PBRSB-eIBRS: Vulnerable
/sys/devices/system/cpu/vulnerabilities/srbds:Vulnerable
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort:Not affected

注意:Spectreの概念証明の脆弱性はブラウザのJavaScriptで実行されます。

〜のようにLeaky.page コンセプト証明この脆弱性がブラウザのJavaScriptコードで悪用される可能性があることを示しています。したがって、Webブラウザを使用している限り、軽減機能をそのまま維持することをお勧めします。

関連情報