Ich denke dies wird zumindest auf den alten VM-Guests nicht umgesetzt, da es die Änderung des CPU-Models erforderlich macht.
Nachfolgend sind die Möglichkeiten unter Libvirt aufgelistet:
Code
# grep -A 2 -i -e ibrs -e ibpb -e stibp -e ssbd /usr/share/libvirt/cpu_map.xml
<feature name='stibp'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x08000000'/>
</feature>
--
<feature name='ssbd'>
<cpuid eax_in='0x07' ecx_in='0x00' edx='0x80000000'/>
</feature>
--
<feature name='ibpb'>
<cpuid eax_in='0x80000008' ebx='0x00001000'/>
</feature>
<feature name='virt-ssbd'>
<cpuid eax_in='0x80000008' ebx='0x02000000'/>
</feature>
--
<model name='Nehalem-IBRS'>
<model name='Nehalem'/>
<feature name='spec-ctrl'/>
--
<model name='Westmere-IBRS'>
<model name='Westmere'/>
<feature name='spec-ctrl'/>
--
<model name='SandyBridge-IBRS'>
<model name='SandyBridge'/>
<feature name='spec-ctrl'/>
--
<model name='IvyBridge-IBRS'>
<model name='IvyBridge'/>
<feature name='spec-ctrl'/>
--
<model name='Haswell-noTSX-IBRS'>
<model name='Haswell-noTSX'/>
<feature name='spec-ctrl'/>
--
<model name='Haswell-IBRS'>
<model name='Haswell'/>
<feature name='spec-ctrl'/>
--
<model name='Broadwell-noTSX-IBRS'>
<model name='Broadwell-noTSX'/>
<feature name='spec-ctrl'/>
--
<model name='Broadwell-IBRS'>
<model name='Broadwell'/>
<feature name='spec-ctrl'/>
--
<model name='Skylake-Client-IBRS'>
<model name='Skylake-Client'/>
<feature name='spec-ctrl'/>
--
<model name='Skylake-Server-IBRS'>
<model name='Skylake-Server'/>
<feature name='spec-ctrl'/>
--
<model name='EPYC-IBPB'>
<model name='EPYC'/>
<feature name='ibpb'/>
</model>
</arch>
Alles anzeigen
Ohne Wechsel auf eine CPU wie SandyBridge-IBRS ist der VM-Guest immernoch gegenüber Spectre v2 anfällig:
Code
# tail /sys/devices/system/cpu/vulnerabilities/*
==> /sys/devices/system/cpu/vulnerabilities/l1tf <==
Mitigation: PTE Inversion
==> /sys/devices/system/cpu/vulnerabilities/meltdown <==
Mitigation: PTI
==> /sys/devices/system/cpu/vulnerabilities/spec_store_bypass <==
Mitigation: Speculative Store Bypass disabled via prctl and seccomp
==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <==
Mitigation: Load fences, __user pointer sanitization
==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <==
Vulnerable: Retpoline without IBPB
Alles anzeigen
Mit IBRS CPU erhalte ich in den VM Guests:
Code
# tail /sys/devices/system/cpu/vulnerabilities/*
==> /sys/devices/system/cpu/vulnerabilities/l1tf <==
Mitigation: PTE Inversion
==> /sys/devices/system/cpu/vulnerabilities/meltdown <==
Mitigation: PTI
==> /sys/devices/system/cpu/vulnerabilities/spec_store_bypass <==
Mitigation: Speculative Store Bypass disabled via prctl and seccomp
==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <==
Mitigation: Load fences, __user pointer sanitization
==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <==
Mitigation: Full retpoline
Alles anzeigen
Ich denke, dass auch aus denselben Gründen ein großer Netcup Konkurrent nur seine neuen CX vServer abgehärtet hat (Google: "Cloud / Virtuelle Server (VQ/VX/CX)").
BTW, alle Code-Beiträge stammen von meinen eigenen vServern, gehostet auf meinem eigenen dedizierten Server.