CentOS 6.9에서 Spectre 변종 2를 완화하는 방법은 무엇입니까?

CentOS 6.9에서 Spectre 변종 2를 완화하는 방법은 무엇입니까?

~에 따르면Intel 마이크로코드 업데이트CentOS 6과의 마이크로코드 비호환성인 Spectre/Meltdown을 해결하기 위해 2018년 3월 12일에 출시되었습니다.

결과적으로 CentOS 6을 실행하는 시스템은 여전히 ​​Spectre Variant 2에 취약합니다. CentOS 관리자가 이 패치에 대한 책임을 업스트림 공급업체(Intel이라고도 함)에 위임했기 때문입니다.

사용 가능한 모든 운영 체제 업데이트를 설치했으며 CentOS 6 시스템에 Spectre Variant 1 및 Meltdown을 성공적으로 패치했습니다.

출력 실행https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh:

Spectre and Meltdown mitigation detection tool v0.35

Checking for vulnerabilities on current system
Kernel is Linux 2.6.32-696.23.1.el6.x86_64 #1 SMP Tue Mar 13 22:44:18 UTC 2018 x86_64
CPU is Intel(R) Xeon(R) CPU E3-1220 V2 @ 3.10GHz

Hardware check
* Hardware support (CPU microcode) for mitigation techniques
  * Indirect Branch Restricted Speculation (IBRS)
    * SPEC_CTRL MSR is available:  NO
    * CPU indicates IBRS capability:  NO
  * Indirect Branch Prediction Barrier (IBPB)
    * PRED_CMD MSR is available:  NO
    * CPU indicates IBPB capability:  NO
  * Single Thread Indirect Branch Predictors (STIBP)
    * SPEC_CTRL MSR is available:  NO
    * CPU indicates STIBP capability:  NO
  * Enhanced IBRS (IBRS_ALL)
    * CPU indicates ARCH_CAPABILITIES MSR availability:  NO
    * ARCH_CAPABILITIES MSR advertises IBRS_ALL capability:  NO
  * CPU explicitly indicates not being vulnerable to Meltdown (RDCL_NO):  NO
  * CPU microcode is known to cause stability problems:  NO  (model 58 stepping 9 ucode 31)
* CPU vulnerability to the three speculative execution attacks variants
  * Vulnerable to Variant 1:  YES
  * Vulnerable to Variant 2:  YES
  * Vulnerable to Variant 3:  YES

CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
* Mitigated according to the /sys interface:  YES  (kernel confirms that the mitigation is active)
* Kernel has array_index_mask_nospec:  NO
* Kernel has the Red Hat/Ubuntu patch:  YES
> STATUS:  NOT VULNERABLE  (Mitigation: Load fences)

CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
* Mitigated according to the /sys interface:  NO  (kernel confirms your system is vulnerable)
* Mitigation 1
  * Kernel is compiled with IBRS/IBPB support:  YES
  * Currently enabled features
    * IBRS enabled for Kernel space:  NO
    * IBRS enabled for User space:  NO
    * IBPB enabled:  YES
* Mitigation 2
  * Kernel compiled with retpoline option:  YES
  * Kernel compiled with a retpoline-aware compiler:  UNKNOWN
> STATUS:  VULNERABLE  (Vulnerable: Retpoline with unsafe module(s))

CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Mitigated according to the /sys interface:  YES  (kernel confirms that the mitigation is active)
* Kernel supports Page Table Isolation (PTI):  YES
* PTI enabled and active:  YES
* Running as a Xen PV DomU:  NO
> STATUS:  NOT VULNERABLE  (Mitigation: PTI)

A false sense of security is worse than no security at all, see --disclaimer

이는 CentOS 6.9를 실행하는 여러 시스템에서도 동일합니다.

Spectre 변종 2용 CentOS 6을 실행하는 시스템을 어떻게 패치합니까?

답변1

적어도 마이크로코드 배포에 대해서는 인텔 다운로드 센터의 운영 체제 호환성 목록을 완전히 무시할 수 있습니다. 그것은 전혀 가치가 없습니다.

마이크로코드 업데이트 패키지는 Intel 마이크로코드 업데이트를 사용하는 모든 제품과 호환됩니다. 그 ABI는 약 15년 ​​동안 변경되지 않았습니다.

CentOS 6.9의 커널이 마이크로코드 업데이트로 도입된 새로운 기능을 활용할지 여부는 또 다른 문제이며, 그렇지 않더라도 마이크로코드 업데이트와 호환되지 않는 것은 아닙니다.

그 문제에 있어서 마이크로코드를 프로세서에 업로드하는 방법에 대한 지침도 완전히 잘못되었습니다(커널은 텍스트 기반 형식을 처리할 수 없습니다).

CentOS의 다른 분기에서 인텔 마이크로코드 업데이트 SRPM을 구하여 다시 빌드할 수 없다고 가정하면 이전 버전을 설치하고 RPM에 설치된 마이크로코드 데이터 파일을 인텔 타르볼의 해당 파일로 바꾸면 됩니다. 가능한 한 빨리 업데이트를 적용하려면 initramfs/initrd를 다시 빌드하고 재부팅하는 것을 잊지 마세요.

아니면 기다리면 CentOS가 결국 업데이트를 출시할 것이고 다른 모든 사람들도 마찬가지일 것입니다. 대부분의(모두?) 배포판에는 이미 불안정 버전이나 베타 버전에서 이러한 업데이트를 사용할 수 있으며 결국에는 안정적인 버전으로 마이그레이션될 것입니다(타이밍은 배포판에 따라 다름).

관련 정보