DOC: rls1908 static content
[csit.git] / docs / report / introduction / test_environment_sut_meltspec_hsw.rst
1 Spectre and Meltdown Checks
2 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
3
4 Following section displays the output of a running shell script to tell if
5 system is vulnerable against the several "speculative execution" CVEs that were
6 made public in 2018. Script is available on `Spectre & Meltdown Checker Github
7 <https://github.com/speed47/spectre-meltdown-checker>`_.
8
9 ::
10
11   Spectre and Meltdown mitigation detection tool v0.42
12
13   Checking for vulnerabilities on current system
14   Kernel is Linux 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64
15   CPU is Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
16
17   Hardware check
18   * Hardware support (CPU microcode) for mitigation techniques
19     * Indirect Branch Restricted Speculation (IBRS)
20       * SPEC_CTRL MSR is available: YES
21       * CPU indicates IBRS capability: YES (SPEC_CTRL feature bit)
22     * Indirect Branch Prediction Barrier (IBPB)
23       * PRED_CMD MSR is available: YES
24       * CPU indicates IBPB capability: YES (SPEC_CTRL feature bit)
25     * Single Thread Indirect Branch Predictors (STIBP)
26       * SPEC_CTRL MSR is available: YES
27       * CPU indicates STIBP capability: YES (Intel STIBP feature bit)
28     * Speculative Store Bypass Disable (SSBD)
29       * CPU indicates SSBD capability: YES (Intel SSBD)
30     * L1 data cache invalidation
31       * FLUSH_CMD MSR is available: YES
32       * CPU indicates L1D flush capability: YES (L1D flush feature bit)
33     * Microarchitecture Data Sampling
34       * VERW instruction is available: NO
35     * Enhanced IBRS (IBRS_ALL)
36       * CPU indicates ARCH_CAPABILITIES MSR availability: NO
37       * ARCH_CAPABILITIES MSR advertises IBRS_ALL capability: NO
38     * CPU explicitly indicates not being vulnerable to Meltdown/L1TF (RDCL_NO): NO
39     * CPU explicitly indicates not being vulnerable to Variant 4 (SSB_NO): NO
40     * CPU/Hypervisor indicates L1D flushing is not necessary on this system: NO
41     * Hypervisor indicates host CPU might be vulnerable to RSB underflow (RSBA): NO
42     * CPU explicitly indicates not being vulnerable to Microarchitectural Data Sampling (MDS_NO): NO
43     * CPU supports Software Guard Extensions (SGX): NO
44     * CPU microcode is known to cause stability problems: NO (model 0x3f family 0x6 stepping 0x2 ucode 0x3d cpuid 0x306f2)
45     * CPU microcode is the latest known available version: awk: cannot open bash (No such file or directory)
46   UNKNOWN (latest microcode version for your CPU model is unknown)
47   * CPU vulnerability to the speculative execution attack variants
48     * Vulnerable to CVE-2017-5753 (Spectre Variant 1, bounds check bypass): YES
49     * Vulnerable to CVE-2017-5715 (Spectre Variant 2, branch target injection): YES
50     * Vulnerable to CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load): YES
51     * Vulnerable to CVE-2018-3640 (Variant 3a, rogue system register read): YES
52     * Vulnerable to CVE-2018-3639 (Variant 4, speculative store bypass): YES
53     * Vulnerable to CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault): NO
54     * Vulnerable to CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault): YES
55     * Vulnerable to CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault): YES
56     * Vulnerable to CVE-2018-12126 (Fallout, microarchitectural store buffer data sampling (MSBDS)): YES
57     * Vulnerable to CVE-2018-12130 (ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)): YES
58     * Vulnerable to CVE-2018-12127 (RIDL, microarchitectural load port data sampling (MLPDS)): YES
59     * Vulnerable to CVE-2019-11091 (RIDL, microarchitectural data sampling uncacheable memory (MDSUM)): YES
60
61   CVE-2017-5753 aka Spectre Variant 1, bounds check bypass
62   * Mitigated according to the /sys interface: YES (Mitigation: __user pointer sanitization)
63   * Kernel has array_index_mask_nospec: YES (1 occurrence(s) found of x86 64 bits array_index_mask_nospec())
64   * Kernel has the Red Hat/Ubuntu patch: NO
65   * Kernel has mask_nospec64 (arm64): NO
66   > STATUS: NOT VULNERABLE (Mitigation: __user pointer sanitization)
67
68   CVE-2017-5715 aka Spectre Variant 2, branch target injection
69   * Mitigated according to the /sys interface: YES (Mitigation: Full generic retpoline, IBPB, IBRS_FW)
70   * Mitigation 1
71     * Kernel is compiled with IBRS support: YES
72       * IBRS enabled and active: YES (for firmware code only)
73     * Kernel is compiled with IBPB support: YES
74       * IBPB enabled and active: YES
75   * Mitigation 2
76     * Kernel has branch predictor hardening (arm): NO
77     * Kernel compiled with retpoline option: YES
78       * Kernel compiled with a retpoline-aware compiler: YES (kernel reports full retpoline compilation)
79   > STATUS: NOT VULNERABLE (Full retpoline + IBPB are mitigating the vulnerability)
80
81   CVE-2017-5754 aka Variant 3, Meltdown, rogue data cache load
82   * Mitigated according to the /sys interface: YES (Mitigation: PTI)
83   * Kernel supports Page Table Isolation (PTI): YES
84     * PTI enabled and active: YES
85     * Reduced performance impact of PTI: YES (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
86   * Running as a Xen PV DomU: NO
87   > STATUS: NOT VULNERABLE (Mitigation: PTI)
88
89   CVE-2018-3640 aka Variant 3a, rogue system register read
90   * CPU microcode mitigates the vulnerability: YES
91   > STATUS: NOT VULNERABLE (your CPU microcode mitigates the vulnerability)
92
93   CVE-2018-3639 aka Variant 4, speculative store bypass
94   * Mitigated according to the /sys interface: YES (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
95   * Kernel supports disabling speculative store bypass (SSB): YES (found in /proc/self/status)
96   * SSB mitigation is enabled and active: YES (per-thread through prctl)
97   * SSB mitigation currently active for selected processes: YES (systemd-journald systemd-logind systemd-networkd systemd-resolved systemd-timesyncd systemd-udevd)
98   > STATUS: NOT VULNERABLE (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
99
100   CVE-2018-3615 aka Foreshadow (SGX), L1 terminal fault
101   * CPU microcode mitigates the vulnerability: N/A
102   > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
103
104   CVE-2018-3620 aka Foreshadow-NG (OS), L1 terminal fault
105   * Mitigated according to the /sys interface: YES (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled)
106   * Kernel supports PTE inversion: YES (found in kernel image)
107   * PTE inversion enabled and active: YES
108   > STATUS: NOT VULNERABLE (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled)
109
110   CVE-2018-3646 aka Foreshadow-NG (VMM), L1 terminal fault
111   * Information from the /sys interface: Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled
112   * This system is a host running a hypervisor: NO
113   * Mitigation 1 (KVM)
114     * EPT is disabled: NO
115   * Mitigation 2
116     * L1D flush is supported by kernel: YES (found flush_l1d in /proc/cpuinfo)
117     * L1D flush enabled: YES (conditional flushes)
118     * Hardware-backed L1D flush supported: YES (performance impact of the mitigation will be greatly reduced)
119     * Hyper-Threading (SMT) is enabled: NO
120   > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
121
122   CVE-2018-12126 aka Fallout, microarchitectural store buffer data sampling (MSBDS)
123   * Kernel supports using MD_CLEAR mitigation: NO
124   > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
125
126   CVE-2018-12130 aka ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)
127   * Kernel supports using MD_CLEAR mitigation: NO
128   > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
129
130   CVE-2018-12127 aka RIDL, microarchitectural load port data sampling (MLPDS)
131   * Kernel supports using MD_CLEAR mitigation: NO
132   > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
133
134   CVE-2019-11091 aka RIDL, microarchitectural data sampling uncacheable memory (MDSUM)
135   * Kernel supports using MD_CLEAR mitigation: NO
136   > STATUS: VULNERABLE (Neither your kernel or your microcode support mitigation, upgrade both to mitigate the vulnerability)
137
138   > SUMMARY: CVE-2017-5753:OK CVE-2017-5715:OK CVE-2017-5754:OK CVE-2018-3640:OK CVE-2018-3639:OK CVE-2018-3615:OK CVE-2018-3620:OK CVE-2018-3646:OK CVE-2018-12126:KO CVE-2018-12130:KO CVE-2018-12127:KO CVE-2019-11091:KO