Ubuntu 18.04LTSでSpectreとMeltdownの軽減を無効にできますか?
Linuxでこれら2つの機能を無効にすると、パフォーマンスがどれだけ向上するかをテストし、規模が大きい場合は永久に維持したいと思います。
答え1
さまざまなカーネルブートパラメータを使用して、ハードウェアの脆弱性の軽減を無効または微調整できます。
- Spectre v1とv2で利用可能:
nospectre_v1
(x86、PowerPC)、nospectre_v2
(x86、PowerPC、S / 390、ARM64)、spectre_v2_user=off
(x86) - SSBの場合:
spec_store_bypass_disable=off
(x86、PowerPC)、ssbd=force-off
(ARM64) - L1TFの場合:
l1tf=off
(x86) - MDSの場合:
mds=off
(x86) - TAAの場合:
tsx_async_abort=off
- iTLBマルチヒットの場合:
kvm.nx_huge_pages=off
- SRBDSの場合:
srbds=off
- 再出血の場合:
retbleed=off
- KPTI
nopti
kpti=0
(x86、PowerPC)または(ARM64)で無効にすることができます。
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ブラウザを使用している限り、軽減機能をそのまま維持することをお勧めします。