Docs: Update report sections
[csit.git] / docs / report / introduction / test_environment_sut_meltspec_skx.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.43
12
13   awk: cannot open bash (No such file or directory)
14   Checking for vulnerabilities on current system
15   Kernel is Linux 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64
16   CPU is Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
17
18   Hardware check
19   * Hardware support (CPU microcode) for mitigation techniques
20    * Indirect Branch Restricted Speculation (IBRS)
21      * SPEC_CTRL MSR is available: YES
22      * CPU indicates IBRS capability: YES (SPEC_CTRL feature bit)
23    * Indirect Branch Prediction Barrier (IBPB)
24      * PRED_CMD MSR is available: YES
25      * CPU indicates IBPB capability: YES (SPEC_CTRL feature bit)
26    * Single Thread Indirect Branch Predictors (STIBP)
27      * SPEC_CTRL MSR is available: YES
28      * CPU indicates STIBP capability: YES (Intel STIBP feature bit)
29    * Speculative Store Bypass Disable (SSBD)
30      * CPU indicates SSBD capability: YES (Intel SSBD)
31    * L1 data cache invalidation
32      * FLUSH_CMD MSR is available: YES
33      * CPU indicates L1D flush capability: YES (L1D flush feature bit)
34    * Microarchitectural Data Sampling
35      * VERW instruction is available: YES (MD_CLEAR feature bit)
36    * Enhanced IBRS (IBRS_ALL)
37      * CPU indicates ARCH_CAPABILITIES MSR availability: NO
38      * ARCH_CAPABILITIES MSR advertises IBRS_ALL capability: NO
39    * CPU explicitly indicates not being vulnerable to Meltdown/L1TF (RDCL_NO): NO
40    * CPU explicitly indicates not being vulnerable to Variant 4 (SSB_NO): NO
41    * CPU/Hypervisor indicates L1D flushing is not necessary on this system: NO
42    * Hypervisor indicates host CPU might be vulnerable to RSB underflow (RSBA): NO
43    * CPU explicitly indicates not being vulnerable to Microarchitectural Data Sampling (MDS_NO): NO
44    * CPU explicitly indicates not being vulnerable to TSX Asynchronous Abort (TAA_NO): NO
45    * CPU explicitly indicates not being vulnerable to iTLB Multihit (PSCHANGE_MSC_NO): NO
46    * CPU explicitly indicates having MSR for TSX control (TSX_CTRL_MSR): NO
47    * CPU supports Transactional Synchronization Extensions (TSX): YES (RTM feature bit)
48    * CPU supports Software Guard Extensions (SGX): NO
49    * CPU microcode is known to cause stability problems: NO (model 0x55 family 0x6 stepping 0x4 ucode 0x2000064 cpuid 0x50654)
50    * CPU microcode is the latest known available version: awk: cannot open bash (No such file or directory)
51   UNKNOWN (latest microcode version for your CPU model is unknown)
52   * CPU vulnerability to the speculative execution attack variants
53    * Vulnerable to CVE-2017-5753 (Spectre Variant 1, bounds check bypass): YES
54    * Vulnerable to CVE-2017-5715 (Spectre Variant 2, branch target injection): YES
55    * Vulnerable to CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load): YES
56    * Vulnerable to CVE-2018-3640 (Variant 3a, rogue system register read): YES
57    * Vulnerable to CVE-2018-3639 (Variant 4, speculative store bypass): YES
58    * Vulnerable to CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault): NO
59    * Vulnerable to CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault): YES
60    * Vulnerable to CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault): YES
61    * Vulnerable to CVE-2018-12126 (Fallout, microarchitectural store buffer data sampling (MSBDS)): YES
62    * Vulnerable to CVE-2018-12130 (ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)): YES
63    * Vulnerable to CVE-2018-12127 (RIDL, microarchitectural load port data sampling (MLPDS)): YES
64    * Vulnerable to CVE-2019-11091 (RIDL, microarchitectural data sampling uncacheable memory (MDSUM)): YES
65    * Vulnerable to CVE-2019-11135 (ZombieLoad V2, TSX Asynchronous Abort (TAA)): YES
66    * Vulnerable to CVE-2018-12207 (No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)): YES
67
68   CVE-2017-5753 aka Spectre Variant 1, bounds check bypass
69   * Mitigated according to the /sys interface: YES (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
70   * Kernel has array_index_mask_nospec: YES (1 occurrence(s) found of x86 64 bits array_index_mask_nospec())
71   * Kernel has the Red Hat/Ubuntu patch: NO
72   * Kernel has mask_nospec64 (arm64): NO
73   > STATUS: NOT VULNERABLE (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
74
75   CVE-2017-5715 aka Spectre Variant 2, branch target injection
76   * Mitigated according to the /sys interface: YES (Mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, STIBP: conditional, RSB filling)
77   * Mitigation 1
78    * Kernel is compiled with IBRS support: YES
79      * IBRS enabled and active: YES (for firmware code only)
80    * Kernel is compiled with IBPB support: YES
81      * IBPB enabled and active: YES
82   * Mitigation 2
83    * Kernel has branch predictor hardening (arm): NO
84    * Kernel compiled with retpoline option: YES
85      * Kernel compiled with a retpoline-aware compiler: YES (kernel reports full retpoline compilation)
86    * Kernel supports RSB filling: YES
87   > STATUS: NOT VULNERABLE (Full retpoline + IBPB are mitigating the vulnerability)
88
89   CVE-2017-5754 aka Variant 3, Meltdown, rogue data cache load
90   * Mitigated according to the /sys interface: YES (Mitigation: PTI)
91   * Kernel supports Page Table Isolation (PTI): YES
92    * PTI enabled and active: YES
93    * Reduced performance impact of PTI: YES (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
94   * Running as a Xen PV DomU: NO
95   > STATUS: NOT VULNERABLE (Mitigation: PTI)
96
97   CVE-2018-3640 aka Variant 3a, rogue system register read
98   * CPU microcode mitigates the vulnerability: YES
99   > STATUS: NOT VULNERABLE (your CPU microcode mitigates the vulnerability)
100
101   CVE-2018-3639 aka Variant 4, speculative store bypass
102   * Mitigated according to the /sys interface: YES (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
103   * Kernel supports disabling speculative store bypass (SSB): YES (found in /proc/self/status)
104   * SSB mitigation is enabled and active: YES (per-thread through prctl)
105   * SSB mitigation currently active for selected processes: YES (systemd-journald systemd-logind systemd-networkd systemd-resolved systemd-timesyncd systemd-udevd)
106   > STATUS: NOT VULNERABLE (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
107
108   CVE-2018-3615 aka Foreshadow (SGX), L1 terminal fault
109   * CPU microcode mitigates the vulnerability: N/A
110   > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
111
112   CVE-2018-3620 aka Foreshadow-NG (OS), L1 terminal fault
113   * Mitigated according to the /sys interface: YES (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable)
114   * Kernel supports PTE inversion: YES (found in kernel image)
115   * PTE inversion enabled and active: YES
116   > STATUS: NOT VULNERABLE (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable)
117
118   CVE-2018-3646 aka Foreshadow-NG (VMM), L1 terminal fault
119   * Information from the /sys interface: Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT vulnerable
120   * This system is a host running a hypervisor: NO
121   * Mitigation 1 (KVM)
122    * EPT is disabled: NO
123   * Mitigation 2
124    * L1D flush is supported by kernel: YES (found flush_l1d in /proc/cpuinfo)
125    * L1D flush enabled: YES (conditional flushes)
126    * Hardware-backed L1D flush supported: YES (performance impact of the mitigation will be greatly reduced)
127    * Hyper-Threading (SMT) is enabled: YES
128   > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
129
130   CVE-2018-12126 aka Fallout, microarchitectural store buffer data sampling (MSBDS)
131   * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
132   * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
133   * Kernel mitigation is enabled and active: YES
134   * SMT is either mitigated or disabled: NO
135   > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
136
137   CVE-2018-12130 aka ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)
138   * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
139   * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
140   * Kernel mitigation is enabled and active: YES
141   * SMT is either mitigated or disabled: NO
142   > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
143
144   CVE-2018-12127 aka RIDL, microarchitectural load port data sampling (MLPDS)
145   * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
146   * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
147   * Kernel mitigation is enabled and active: YES
148   * SMT is either mitigated or disabled: NO
149   > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
150
151   CVE-2019-11091 aka RIDL, microarchitectural data sampling uncacheable memory (MDSUM)
152   * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
153   * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
154   * Kernel mitigation is enabled and active: YES
155   * SMT is either mitigated or disabled: NO
156   > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
157
158   CVE-2019-11135 aka ZombieLoad V2, TSX Asynchronous Abort (TAA)
159   * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
160   * TAA mitigation is supported by kernel: YES (found tsx_async_abort in kernel image)
161   * TAA mitigation enabled and active: YES (Mitigation: Clear CPU buffers; SMT vulnerable)
162   > STATUS: NOT VULNERABLE (Mitigation: Clear CPU buffers; SMT vulnerable)
163
164   CVE-2018-12207 aka No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)
165   * Mitigated according to the /sys interface: YES (KVM: Mitigation: Split huge pages)
166   * This system is a host running a hypervisor: NO
167   * iTLB Multihit mitigation is supported by kernel: YES (found itlb_multihit in kernel image)
168   * iTLB Multihit mitigation enabled and active: YES (KVM: Mitigation: Split huge pages)
169   > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
170
171   > 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:OK CVE-2018-12130:OK CVE-2018-12127:OK CVE-2019-11091:OK CVE-2019-11135:OK CVE-2018-12207:OK