Docs: Update report sections
[csit.git] / docs / report / introduction / test_environment_sut_meltspec_hsw.rst
index 71787f0..fd66a8d 100644 (file)
@@ -6,121 +6,165 @@ system is vulnerable against the several "speculative execution" CVEs that were
 made public in 2018. Script is available on `Spectre & Meltdown Checker Github
 <https://github.com/speed47/spectre-meltdown-checker>`_.
 
-- CVE-2017-5753 [bounds check bypass] aka 'Spectre Variant 1'
-- CVE-2017-5715 [branch target injection] aka 'Spectre Variant 2'
-- CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
-- CVE-2018-3640 [rogue system register read] aka 'Variant 3a'
-- CVE-2018-3639 [speculative store bypass] aka 'Variant 4'
-- CVE-2018-3615 [L1 terminal fault] aka 'Foreshadow (SGX)'
-- CVE-2018-3620 [L1 terminal fault] aka 'Foreshadow-NG (OS)'
-- CVE-2018-3646 [L1 terminal fault] aka 'Foreshadow-NG (VMM)'
-
 ::
 
-    $ sudo ./spectre-meltdown-checker.sh --no-color
-
-    Spectre and Meltdown mitigation detection tool v0.40
-
-    Checking for vulnerabilities on current system
-    Kernel is Linux 4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64
-    CPU is Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
-
-    Hardware check
-    * Hardware support (CPU microcode) for mitigation techniques
-      * Indirect Branch Restricted Speculation (IBRS)
-        * SPEC_CTRL MSR is available: YES
-        * CPU indicates IBRS capability: YES (SPEC_CTRL feature bit)
-      * Indirect Branch Prediction Barrier (IBPB)
-        * PRED_CMD MSR is available: YES
-        * CPU indicates IBPB capability: YES (SPEC_CTRL feature bit)
-      * Single Thread Indirect Branch Predictors (STIBP)
-        * SPEC_CTRL MSR is available: YES
-        * CPU indicates STIBP capability: YES (Intel STIBP feature bit)
-      * Speculative Store Bypass Disable (SSBD)
-        * CPU indicates SSBD capability: YES (Intel SSBD)
-      * L1 data cache invalidation
-        * FLUSH_CMD MSR is available: YES
-        * CPU indicates L1D flush capability: YES (L1D flush feature bit)
-      * 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 explicitly indicates not being vulnerable to Variant 4 (SSB_NO): NO
-      * CPU/Hypervisor indicates L1D flushing is not necessary on this system: NO
-      * Hypervisor indicates host CPU might be vulnerable to RSB underflow (RSBA): NO
-      * CPU supports Software Guard Extensions (SGX): NO
-      * CPU microcode is known to cause stability problems: NO (model 0x3f family 0x6 stepping 0x2 ucode 0x3d cpuid 0x306f2)
-      * CPU microcode is the latest known available version: YES (latest version is 0x3d dated 2018/04/20 according to builtin MCExtractor DB v84 - 2018/09/27)
-    * CPU vulnerability to the speculative execution attack variants
-      * Vulnerable to CVE-2017-5753 (Spectre Variant 1, bounds check bypass): YES
-      * Vulnerable to CVE-2017-5715 (Spectre Variant 2, branch target injection): YES
-      * Vulnerable to CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load): YES
-      * Vulnerable to CVE-2018-3640 (Variant 3a, rogue system register read): YES
-      * Vulnerable to CVE-2018-3639 (Variant 4, speculative store bypass): YES
-      * Vulnerable to CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault): NO
-      * Vulnerable to CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault): YES
-      * Vulnerable to CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault): YES
-
-    CVE-2017-5753 aka 'Spectre Variant 1, bounds check bypass'
-    * Mitigated according to the /sys interface: YES (Mitigation: __user pointer sanitization)
-    * Kernel has array_index_mask_nospec: YES (1 occurrence(s) found of x86 64 bits array_index_mask_nospec())
-    * Kernel has the Red Hat/Ubuntu patch: NO
-    * Kernel has mask_nospec64 (arm64): NO
-    > STATUS: NOT VULNERABLE (Mitigation: __user pointer sanitization)
-
-    CVE-2017-5715 aka 'Spectre Variant 2, branch target injection'
-    * Mitigated according to the /sys interface: YES (Mitigation: Full generic retpoline, IBPB, IBRS_FW)
-    * Mitigation 1
-      * Kernel is compiled with IBRS support: YES
-        * IBRS enabled and active: YES (for kernel and firmware code)
-      * Kernel is compiled with IBPB support: YES
-        * IBPB enabled and active: YES
-    * Mitigation 2
-      * Kernel has branch predictor hardening (arm): NO
-      * Kernel compiled with retpoline option: YES
-        * Kernel compiled with a retpoline-aware compiler: YES (kernel reports full retpoline compilation)
-    > STATUS: NOT VULNERABLE (Full retpoline + IBPB are mitigating the vulnerability)
-
-    CVE-2017-5754 aka 'Variant 3, Meltdown, rogue data cache load'
-    * Mitigated according to the /sys interface: YES (Mitigation: PTI)
-    * Kernel supports Page Table Isolation (PTI): YES
-      * PTI enabled and active: YES
-      * Reduced performance impact of PTI: YES (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
-    * Running as a Xen PV DomU: NO
-    > STATUS: NOT VULNERABLE (Mitigation: PTI)
-
-    CVE-2018-3640 aka 'Variant 3a, rogue system register read'
-    * CPU microcode mitigates the vulnerability: YES
-    > STATUS: NOT VULNERABLE (your CPU microcode mitigates the vulnerability)
-
-    CVE-2018-3639 aka 'Variant 4, speculative store bypass'
-    * Mitigated according to the /sys interface: YES (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
-    * Kernel supports speculation store bypass: YES (found in /proc/self/status)
-    > STATUS: NOT VULNERABLE (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
-
-    CVE-2018-3615 aka 'Foreshadow (SGX), L1 terminal fault'
-    * CPU microcode mitigates the vulnerability: N/A
-    > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
-
-    CVE-2018-3620 aka 'Foreshadow-NG (OS), L1 terminal fault'
-    * Mitigated according to the /sys interface: YES (Mitigation: PTE Inversion)
-    * Kernel supports PTE inversion: YES (found in kernel image)
-    * PTE inversion enabled and active: YES
-    > STATUS: NOT VULNERABLE (Mitigation: PTE Inversion)
-
-    CVE-2018-3646 aka 'Foreshadow-NG (VMM), L1 terminal fault'
-    * Information from the /sys interface: VMX: conditional cache flushes, SMT disabled
-    * This system is a host running an hypervisor: NO
-    * Mitigation 1 (KVM)
-      * EPT is disabled: NO
-    * Mitigation 2
-      * L1D flush is supported by kernel: YES (found flush_l1d in /proc/cpuinfo)
-      * L1D flush enabled: YES (conditional flushes)
-      * Hardware-backed L1D flush supported: YES (performance impact of the mitigation will be greatly reduced)
-      * Hyper-Threading (SMT) is enabled: NO
-    > STATUS: NOT VULNERABLE (this system is not running an hypervisor)
-
-    > 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
-
-    Need more detailed information about mitigation options? Use --explain
-    A false sense of security is worse than no security at all, see --disclaimer
+  Spectre and Meltdown mitigation detection tool v0.43
+
+  awk: cannot open bash (No such file or directory)
+  Checking for vulnerabilities on current system
+  Kernel is Linux 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019 x86_64
+  CPU is Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
+
+  Hardware check
+  * Hardware support (CPU microcode) for mitigation techniques
+    * Indirect Branch Restricted Speculation (IBRS)
+      * SPEC_CTRL MSR is available: YES
+      * CPU indicates IBRS capability: YES (SPEC_CTRL feature bit)
+    * Indirect Branch Prediction Barrier (IBPB)
+      * PRED_CMD MSR is available: YES
+      * CPU indicates IBPB capability: YES (SPEC_CTRL feature bit)
+    * Single Thread Indirect Branch Predictors (STIBP)
+      * SPEC_CTRL MSR is available: YES
+      * CPU indicates STIBP capability: YES (Intel STIBP feature bit)
+    * Speculative Store Bypass Disable (SSBD)
+      * CPU indicates SSBD capability: YES (Intel SSBD)
+    * L1 data cache invalidation
+      * FLUSH_CMD MSR is available: YES
+      * CPU indicates L1D flush capability: YES (L1D flush feature bit)
+    * Microarchitectural Data Sampling
+      * VERW instruction is available: YES (MD_CLEAR feature bit)
+    * 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/L1TF (RDCL_NO): NO
+    * CPU explicitly indicates not being vulnerable to Variant 4 (SSB_NO): NO
+    * CPU/Hypervisor indicates L1D flushing is not necessary on this system: NO
+    * Hypervisor indicates host CPU might be vulnerable to RSB underflow (RSBA): NO
+    * CPU explicitly indicates not being vulnerable to Microarchitectural Data Sampling (MDS_NO): NO
+    * CPU explicitly indicates not being vulnerable to TSX Asynchronous Abort (TAA_NO): NO
+    * CPU explicitly indicates not being vulnerable to iTLB Multihit (PSCHANGE_MSC_NO): NO
+    * CPU explicitly indicates having MSR for TSX control (TSX_CTRL_MSR): NO
+    * CPU supports Transactional Synchronization Extensions (TSX): NO
+    * CPU supports Software Guard Extensions (SGX): NO
+    * CPU microcode is known to cause stability problems: NO (model 0x3f family 0x6 stepping 0x2 ucode 0x43 cpuid 0x306f2)
+    * CPU microcode is the latest known available version: awk: cannot open bash (No such file or directory)
+  UNKNOWN (latest microcode version for your CPU model is unknown)
+  * CPU vulnerability to the speculative execution attack variants
+    * Vulnerable to CVE-2017-5753 (Spectre Variant 1, bounds check bypass): YES
+    * Vulnerable to CVE-2017-5715 (Spectre Variant 2, branch target injection): YES
+    * Vulnerable to CVE-2017-5754 (Variant 3, Meltdown, rogue data cache load): YES
+    * Vulnerable to CVE-2018-3640 (Variant 3a, rogue system register read): YES
+    * Vulnerable to CVE-2018-3639 (Variant 4, speculative store bypass): YES
+    * Vulnerable to CVE-2018-3615 (Foreshadow (SGX), L1 terminal fault): NO
+    * Vulnerable to CVE-2018-3620 (Foreshadow-NG (OS), L1 terminal fault): YES
+    * Vulnerable to CVE-2018-3646 (Foreshadow-NG (VMM), L1 terminal fault): YES
+    * Vulnerable to CVE-2018-12126 (Fallout, microarchitectural store buffer data sampling (MSBDS)): YES
+    * Vulnerable to CVE-2018-12130 (ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)): YES
+    * Vulnerable to CVE-2018-12127 (RIDL, microarchitectural load port data sampling (MLPDS)): YES
+    * Vulnerable to CVE-2019-11091 (RIDL, microarchitectural data sampling uncacheable memory (MDSUM)): YES
+    * Vulnerable to CVE-2019-11135 (ZombieLoad V2, TSX Asynchronous Abort (TAA)): NO
+    * Vulnerable to CVE-2018-12207 (No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)): YES
+
+  CVE-2017-5753 aka Spectre Variant 1, bounds check bypass
+  * Mitigated according to the /sys interface: YES (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
+  * Kernel has array_index_mask_nospec: YES (1 occurrence(s) found of x86 64 bits array_index_mask_nospec())
+  * Kernel has the Red Hat/Ubuntu patch: NO
+  * Kernel has mask_nospec64 (arm64): NO
+  > STATUS: NOT VULNERABLE (Mitigation: usercopy/swapgs barriers and __user pointer sanitization)
+
+  CVE-2017-5715 aka Spectre Variant 2, branch target injection
+  * Mitigated according to the /sys interface: YES (Mitigation: Full generic retpoline, IBPB: conditional, IBRS_FW, RSB filling)
+  * Mitigation 1
+    * Kernel is compiled with IBRS support: YES
+      * IBRS enabled and active: YES (for firmware code only)
+    * Kernel is compiled with IBPB support: YES
+      * IBPB enabled and active: YES
+  * Mitigation 2
+    * Kernel has branch predictor hardening (arm): NO
+    * Kernel compiled with retpoline option: YES
+      * Kernel compiled with a retpoline-aware compiler: YES (kernel reports full retpoline compilation)
+  > STATUS: NOT VULNERABLE (Full retpoline + IBPB are mitigating the vulnerability)
+
+  CVE-2017-5754 aka Variant 3, Meltdown, rogue data cache load
+  * Mitigated according to the /sys interface: YES (Mitigation: PTI)
+  * Kernel supports Page Table Isolation (PTI): YES
+    * PTI enabled and active: YES
+    * Reduced performance impact of PTI: YES (CPU supports INVPCID, performance impact of PTI will be greatly reduced)
+  * Running as a Xen PV DomU: NO
+  > STATUS: NOT VULNERABLE (Mitigation: PTI)
+
+  CVE-2018-3640 aka Variant 3a, rogue system register read
+  * CPU microcode mitigates the vulnerability: YES
+  > STATUS: NOT VULNERABLE (your CPU microcode mitigates the vulnerability)
+
+  CVE-2018-3639 aka Variant 4, speculative store bypass
+  * Mitigated according to the /sys interface: YES (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
+  * Kernel supports disabling speculative store bypass (SSB): YES (found in /proc/self/status)
+  * SSB mitigation is enabled and active: YES (per-thread through prctl)
+  * SSB mitigation currently active for selected processes: YES (systemd-journald systemd-logind systemd-networkd systemd-resolved systemd-timesyncd systemd-udevd)
+  > STATUS: NOT VULNERABLE (Mitigation: Speculative Store Bypass disabled via prctl and seccomp)
+
+  CVE-2018-3615 aka Foreshadow (SGX), L1 terminal fault
+  * CPU microcode mitigates the vulnerability: N/A
+  > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
+
+  CVE-2018-3620 aka Foreshadow-NG (OS), L1 terminal fault
+  * Mitigated according to the /sys interface: YES (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled)
+  * Kernel supports PTE inversion: YES (found in kernel image)
+  * PTE inversion enabled and active: YES
+  > STATUS: NOT VULNERABLE (Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled)
+
+  CVE-2018-3646 aka Foreshadow-NG (VMM), L1 terminal fault
+  * Information from the /sys interface: Mitigation: PTE Inversion; VMX: conditional cache flushes, SMT disabled
+  * This system is a host running a hypervisor: NO
+  * Mitigation 1 (KVM)
+    * EPT is disabled: NO
+  * Mitigation 2
+    * L1D flush is supported by kernel: YES (found flush_l1d in /proc/cpuinfo)
+    * L1D flush enabled: YES (conditional flushes)
+    * Hardware-backed L1D flush supported: YES (performance impact of the mitigation will be greatly reduced)
+    * Hyper-Threading (SMT) is enabled: NO
+  > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
+
+  CVE-2018-12126 aka Fallout, microarchitectural store buffer data sampling (MSBDS)
+  * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT disabled)
+  * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
+  * Kernel mitigation is enabled and active: YES
+  * SMT is either mitigated or disabled: YES
+  > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
+
+  CVE-2018-12130 aka ZombieLoad, microarchitectural fill buffer data sampling (MFBDS)
+  * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT disabled)
+  * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
+  * Kernel mitigation is enabled and active: YES
+  * SMT is either mitigated or disabled: YES
+  > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
+
+  CVE-2018-12127 aka RIDL, microarchitectural load port data sampling (MLPDS)
+  * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT disabled)
+  * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
+  * Kernel mitigation is enabled and active: YES
+  * SMT is either mitigated or disabled: YES
+  > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
+
+  CVE-2019-11091 aka RIDL, microarchitectural data sampling uncacheable memory (MDSUM)
+  * Mitigated according to the /sys interface: YES (Mitigation: Clear CPU buffers; SMT disabled)
+  * Kernel supports using MD_CLEAR mitigation: YES (md_clear found in /proc/cpuinfo)
+  * Kernel mitigation is enabled and active: YES
+  * SMT is either mitigated or disabled: YES
+  > STATUS: NOT VULNERABLE (Your microcode and kernel are both up to date for this mitigation, and mitigation is enabled)
+
+  CVE-2019-11135 aka ZombieLoad V2, TSX Asynchronous Abort (TAA)
+  * Mitigated according to the /sys interface: YES (Not affected)
+  * TAA mitigation is supported by kernel: YES (found tsx_async_abort in kernel image)
+  * TAA mitigation enabled and active: NO
+  > STATUS: NOT VULNERABLE (your CPU vendor reported your CPU model as not vulnerable)
+
+  CVE-2018-12207 aka No eXcuses, iTLB Multihit, machine check exception on page size changes (MCEPSC)
+  * Mitigated according to the /sys interface: YES (KVM: Mitigation: Split huge pages)
+  * This system is a host running a hypervisor: NO
+  * iTLB Multihit mitigation is supported by kernel: YES (found itlb_multihit in kernel image)
+  * iTLB Multihit mitigation enabled and active: YES (KVM: Mitigation: Split huge pages)
+  > STATUS: NOT VULNERABLE (this system is not running a hypervisor)
+
+  > 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