스펙터 및 멜트다운 완화 비활성화

스펙터 및 멜트다운 완화 비활성화

Ubuntu 18.04LTS에서 Spectre 및 Meltdown 완화를 비활성화할 수 있습니까?

Linux에서 이 두 기능을 비활성화하면 성능이 얼마나 향상되는지 테스트하고 규모가 크면 영구적으로 유지하고 싶습니다.

답변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파일에 하나 이상의 긴 한 줄을 추가 /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 코드에서 악용될 수 있음을 보여줍니다. 따라서 웹 브라우저를 사용하는 한 완화 기능을 그대로 유지하는 것이 좋습니다.

관련 정보