[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Relevanz von /proc/cpuinfo



Hallo Martin,

Martin Steigerwald schrieb am 13. Mai um 16:52 Uhr:
> Christian Knoke - 13.05.19, 13:32:
> > > Warum meinst Du, dass der bei Dir nicht installiert ist?  Hast Du
> > > das
> > > entsprechende Debian-Paket denn installiert?
> > 
> > Ich wollte wissen, woher diese bugs: Angabe kommt in /proc/cpuinfo. 
> > Ist das ein Resultat des Intel CPU Microcode Updates oder kommt sie
> > woanders her? Bedeutet es, dass der Fehler vorhanden ist, oder das er
> > (mehr oder weniger erfolgreich) mitigiert wurde?
> 
> Soweit ich weiß, testet Linux das selbst.

> So oder gibt es bessere Alternativen '/proc/cpuinfo', um über Spectre /
> Meltdown Informationen zu bekommen. Und zwar auch, inwiefern Linux
> Work-Arounds aktiviert hat.

> Wer es noch ausführlicher haben möchte, installiert das Paket 
> 'spectre-meltdown-checker' oder lädt sich das Skript herunter, falls er/sie
> eine Debian-Version verwendet, die das nicht als Paket hat.

> [2] https://github.com/speed47/spectre-meltdown-checker

Angenehmerweise ist die aktuelle Version 0.40 des Scripts in Buster
enthalten.

Die Angaben sind wirklich sehr detailliert, und auf Wunsch mit Erklärungen
versehen! Ich versuch' mal, die für das Thema relevanten Informationen
herauszupicken:

~# spectre-meltdown-checker --verbose --explain

| * Hardware support (CPU microcode) for mitigation techniques

Hier gibt es nur "NO"'s. Interessant ist:

|  * CPU microcode is known to cause stability problems:  NO  (model 0xe
| family 0x6 stepping 0x8 ucode 0x39 cpuid 0x6e8)

|  * CPU microcode is the latest known available version:  NO  (latest
| version is 0x3c dated 2006/02/08 according to builtin MCExtractor DB v84 -
| 2018/09/27)

Mein Microcode ist Version 0x39 von 07.08.2018 (entspricht der auf
intel.de), das Script sagt, die aktuelle Version sei 0x3c vom 08.02.2006.

| * CPU vulnerability to the speculative execution attack variants

6 mal ja, 2 mal nein

Am Ende werden jedoch alle *vulnerabilities* 'mitigiert', mit einer
Ausnahme:

| CVE-2018-3640 aka 'Variant 3a, rogue system register read'
| * CPU microcode mitigates the vulnerability:  NO 
| 
| > STATUS:  VULNERABLE  (an up-to-date CPU microcode is needed to mitigate
| > this vulnerability)
| 
| > How to fix: The microcode of your CPU needs to be upgraded to mitigate
| > this vulnerability.  This is usually done at boot time by your kernel (the
| > upgrade is not persistent across reboots which is why it's done at each
| > boot).  If you're using a distro, make sure you are up to date, as
| > microcode updates are usually shipped alongside with the distro kernel. 
| > Availability of a microcode update for you CPU model depends on your CPU
| > vendor.  You can usually find out online if a microcode update is
| > available for your CPU by searching for your CPUID (indicated in the
| > Hardware Check section).  The microcode update is enough, there is no
| > additional OS, kernel or software change needed.

Hhm.

Ich habe dann noch

~# spectre-meltdown-checker --no-sysfs

laufen lassen, die Angaben sind kürzer und präziser, und weichen in 1 Punkt
ab:

-->-->-(editiert)-

CVE-2018-3640 aka 'Variant 3a, rogue system register read'
* CPU microcode mitigates the vulnerability:  NO 
STATUS:  VULNERABLE  (an up-to-date CPU microcode is needed to mitigate this
vulnerability)

CVE-2018-3620 aka 'Foreshadow-NG (OS), L1 terminal fault'
* Kernel supports PTE inversion:  YES  (found in kernel image)
* PTE inversion enabled and active:  UNKNOWN  (sysfs interface not available)
STATUS:  VULNERABLE  (Your kernel supports PTE inversion but it doesn't seem
to be enabled)

SUMMARY:CVE-2017-5753:OK 
	CVE-2017-5715:OK 
	CVE-2017-5754:OK 
	CVE-2018-3640:KO 
	CVE-2018-3639:OK 
	CVE-2018-3615:OK 
	CVE-2018-3620:KO 
	CVE-2018-3646:OK
--<--<--

Zuletzt liefert der folgende Aufruf noch abweichende Angaben.
CVE-2018-3620 ist jetzt OK und CVE-2018-3646 KO.

~# spectre-meltdown-checker --vmm yes

-->-->--
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: 
* This system is a host running an hypervisor:  YES  (forced from command line)
* Mitigation 1 (KVM)
  * EPT is disabled:  N/A  (the kvm_intel module is not loaded)
* Mitigation 2
  * L1D flush is supported by kernel:  YES  (found flush_l1d in kernel image)
  * L1D flush enabled:  UNKNOWN  (unrecognized mode)
  * Hardware-backed L1D flush supported:  NO  (flush will be done in software, this is slower)
  * Hyper-Threading (SMT) is enabled:  NO 
> STATUS:  VULNERABLE  (disable EPT or enabled L1D flushing to mitigate the
> vulnerability)

> SUMMARY: CVE-2017-5753:OK CVE-2017-5715:OK CVE-2017-5754:OK
> CVE-2018-3640:KO CVE-2018-3639:OK CVE-2018-3615:OK CVE-2018-3620:OK
> CVE-2018-3646:KO
--<--<--

Da die Virtualisierungs-Unterstützung meiner 32-Bit-CPU ziemlich outdated
ist, lässt sich die aktuelle Software auf dem Rechner nicht starten, auch
das genannte kvm_intel Modul lädt nicht (das hatte ich hier mehrfach
gepostet).  Eine 3er Version von XEN hatte ich in früheren Jahren aber mal
erfolgreich angetestet.

Wie ist die Zeile oben zu verstehen:

* This system is a host running an hypervisor:  YES  (forced from command line)

a) Der Test auf aktiven Hypervisor wurde erzwungen und ein aktiver
Hypervisor gefunden

oder

b) Das Script wurde gezwungen, anzunehmen, das ein Hypervisor aktiv ist

Gruß
Christian

-- 
http://cknoke.de


Reply to: