kernel-stable > mitigations "von spectre+Co" per default=OFF?

Hi,
möchte Kernel aus “Repo-Kernel-stable” die rpm-Pakete separat installieren (samt zugehörigen kernel-doc.rpm, firmware.rpm und ucode)
z.Zeit > kernel-default-5.1.6-1.1.xxx
http://download.opensuse.org/repositories/Kernel:/stable/standard/x86_64/
http://download.opensuse.org/repositories/Kernel:/stable/standard/noarch/

Was/wie sind die “default-settings” im Kernel-stable bezüglich “Verletzlichkeiten” wie spectre, meltdown, bypass? (sofern ich diese rpm-Pakete separat installiere, ohne Distri-Upgrade)

Ich entdeckte, dass die Inst.-routine, ab ISO-Image von openSUSE 15.1, eleganterweise eine Auswahlmöglichkeit offeriert, in etwa folgend (eben, wahrscheinlich in Bezug zu vulnerabilities mitigations):

  • auto + Etwas*]auto*]manuell*]all off/ohne

via duckduckgo & Forums fand ich Hinweise wie:

~> grep . /sys/devices/system/cpu/vulnerabilities/*

grep -H . /sys/devices/system/cpu/vulnerabilities/*

/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: Barriers
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline, IBPB

In the event no mitigations are available, the word “Vulnerable” will be seen rather then the word “Mitigation”, as shown in the following output :
/sys/devices/system/cpu/vulnerabilities/meltdown:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline

hier steht bereits in Post #2 (7. Jan. 2018) > standard=auto=default setting (was bedeutet dies “genau”, gilt dies auch für aktueller Kernel-stable?)

Documentation/admin-guide/kernel-parameters.txt said:
pti= [X86_64] Control user/kernel address space isolation:
on - enable
off - disable
auto - default setting

hier spezifisch > bzgl. ein Atom-CPU (mit vielen Links)
https://bbs.archlinux.org/viewtopic.php?id=235654

meine PCs outputen:

  1. Rechner

opo:~> grep . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Mitigation: PTI
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline

  1. Rechner

ri:~> grep -H . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/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: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full AMD retpoline

  1. Rechner

ngu:~> grep -H . /sys/devices/system/cpu/vulnerabilities/*
/sys/devices/system/cpu/vulnerabilities/meltdown:Not affected
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass:Vulnerable
/sys/devices/system/cpu/vulnerabilities/spectre_v1:Mitigation: __user pointer sanitization
/sys/devices/system/cpu/vulnerabilities/spectre_v2:Mitigation: Full generic retpoline, IBPB, IBRS_FW

Bevor ich die rpm-Pakete installiere, möchte ich wissen ob meine CPUs dadurch eine Mehrbelastung erleiden würden (z.B. wenn die mitigations/Linderungen nicht per default=OFF sind). ich kann nicht Kernel compilieren, verzichte gerne auf Schutz gegen “meltdown, spectre und by-Spass”
Danke.

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/kernel-parameters.txt?h=v5.1#n2872

nospectre_v1 [PPC] Disable mitigations for Spectre Variant 1 (bounds
check bypass). With this option data leaks are possible
in the system.

nospectre_v2 [X86,PPC_FSL_BOOK3E] Disable all mitigations for the Spectre variant 2
(indirect branch prediction) vulnerability. System may
allow data leaks with this option, which is equivalent
to spectre_v2=off.

nospec_store_bypass_disable
[HW] Disable all mitigations for the Speculative Store Bypass vulnerability

evtl. Optionen
https://make-linux-fast-again.com/

und @source :slight_smile:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=98af8452945c55652de68536afdde3b520fec429
im too, want all mititgations = disabled

https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html

mitigations=
[X86,PPC,S390,ARM64] Control optional mitigations for
CPU vulnerabilities. This is a set of curated,
arch-independent options, each of which is an
aggregation of existing arch-specific options.

                    off
                            Disable all optional CPU mitigations.  This
                            improves system performance, but it may also
                            expose users to several CPU vulnerabilities.
                            Equivalent to: nopti [X86,PPC]
                                           kpti=0 [ARM64]
                                           nospectre_v1 [PPC]
                                           nobp=0 [S390]
                                           nospectre_v2 [X86,PPC,S390,ARM64]
                                           spectre_v2_user=off [X86]
                                           spec_store_bypass_disable=off [X86,PPC]
                                           ssbd=force-off [ARM64]
                                           l1tf=off [X86]
                                           mds=off [X86]

                    auto (default)
                            Mitigate all CPU vulnerabilities, but leave SMT
                            enabled, even if it's vulnerable.  This is for
                            users who don't want to be surprised by SMT
                            getting disabled across kernel upgrades, or who
                            have other ways of avoiding SMT-based attacks.
                            Equivalent to: (default behavior)

                    auto,nosmt
                            Mitigate all CPU vulnerabilities, disabling SMT
                            if needed.  This is for users who always want to
                            be fully mitigated, even if it means losing SMT.
                            Equivalent to: l1tf=flush,nosmt [X86]
                                           mds=full,nosmt [X86]

Die wählbaren kernel-Parameter sind bei “mds” (ca. L1-Cache Mit-/Auslese-Angriff, L1-Data-Sampling) ähnlich strukturiert.

https://www.kernel.org/doc/html/latest/userspace-api/spec_ctrl.html
PR_GET/SET_SPECULATION_CONTROL (Speculation Control > z.Bsp. Bit=1=mitigation is OFF) bzgl. “prctl” welche als Lösung/Workaround bei der vulnerabilities-Abfrage (spec_store_bypass:Mitigation: > disabled via prctl and seccomp) gelistet werden.

pers. Konklusion:

  • es weist alles auf AUTO als default-setting
    hin*]einfach ausprobieren > installieren > CPU-Mehrbelastung gefühlt vergleichen :slight_smile:
    if result ugly, then > deinst. die rpm-Pakete (downgrade Kernelvers.)

dear moderator: please move this thread to “Allg. Gequatsche”. Danke!

Ahaaa! :slight_smile: Claro, permanent beigeben, cool.

in “/boot/grub2/grub.cfg” auf der Zeile von “Kernel-Parameter mitgeben” (dort steht z.B. verbose/silent, quiet), Eintrag "mitigations=auto ändern.

#sudo kate /boot/grub2/grub.cfg *(oder "grub2-efi")*

zuerst speichere ich diese Datei irgendwo! z.B. als “grub_openSUSEleap151_original.cfg”
(muss nach dem Rückkopieren natürlich wieder auf “grub.cfg” umbenannt werden, man muss ein
abgeschossenes OS mit rescue wieder starten können, dazu ist sinnvoll wenn man weiss auf welcher
“/dev/sdXY” die root-Partition liegt)

evtl. “mitigations=off”, evtl. Eintrag “mitigations=XYZ” einfach weglassen (gemäss der “openSUSE
leap151-Syntax” in YaST2 > Bootloader > Auswahl der CPU-Herabsetzung [ausprobieren])
oder
evtl. sämtliche Parameter-Optionen einzeln eintragen, z.B. gemäss
https://make-linux-fast-again.com/
> speichern > schliessen
YaST2 > Bootloader starten, Timeout > neuen Wert setzen > ordentl. abschliessen (bootloader-config wird geschrieben, oder via #grub2-mkKonfi -oho;
dazu konsultiere besser:https://forums.opensuse.org/showthread.php/528400-Repair-a-broken-UEFI-GRUB2-openSUSE-boot-scenario
> Alt+Ctrl+F2 > init 6 (> root-pwd + Enter)

openSUSE leap151:

  • importiere Einhängpunkte (cool) und passe dann an*] importiere Benutzer+daten (noch cooler)
    damit wurden etliche Einstellungen gleich mitimportiert > SUPER, Danke!

https://en.opensuse.org/Features_15.1
https://doc.opensuse.org/release-notes/x86_64/openSUSE/Leap/15.1/