it-swarm.com.de

Wie überprüfe ich, ob KPTI auf meinem Ubuntu aktiviert ist?

Die aktuelle Sicherheitsanfälligkeit in Meltdown Intel-Prozessoren wird derzeit behoben, indem die Seitentabellenisolierung aktiviert wird. Es gibt eine Frage, wie Sie dies deaktivieren können: Wie Sie die Seitentabellen-Isolation deaktivieren, um die aufgrund des Sicherheitslücken-Patches für die Intel-CPU verlorene Leistung wiederherzustellen?

Meine Frage ist umgekehrt: Gibt es eine Möglichkeit, auf einem laufenden System zu überprüfen, ob der PTI-Mechanismus auf dem System wirksam ist und somit das System geschützt ist? Ich suche speziell nach cat /proc/something oder cat /sys/something und suche nicht nach Kernel-Version, Konfigurationsparameter oder ähnlichem.

61
Martin Vysny
  • Das Greifen von CONFIG_PAGE_TABLE_ISOLATION in der Kernel-Konfiguration als von Raniz empfohlen hilft nicht auf Ubuntu-Desktops, kann aber auf Cloud-Instanzen helfen:

    grep CONFIG_PAGE_TABLE_ISOLATION=y /boot/config-`uname -r` && \
    echo "patched :)" || echo "unpatched :("
    

  • Sie können mit /proc/cpuinfo prüfen, wie JonasCz schlug vor :

    grep -q "cpu_insecure\|cpu_meltdown\|kaiser" /proc/cpuinfo && echo "patched :)" \
    || echo "unpatched :("
    

  • Oder von dmesg (danke an Jason Creighton ):

    dmesg | grep -q "Kernel/User page tables isolation: enabled" \
    && echo "patched :)" || echo "unpatched :("
    

  • Sie können ein Testprogramm aus Raphael Carvalho für die Schmelzpunkterkennung kompilieren:

    Sudo apt-get install git build-essential
    cd /tmp
    git clone https://github.com/raphaelsc/Am-I-affected-by-Meltdown.git
    cd Am-I-affected-by-Meltdown
    make
    Sudo sh -c "echo 0  > /proc/sys/kernel/kptr_restrict"
    ./meltdown-checker
    

auf gepatchten Systemen sollte es mit der Ausgabe enden

...
so far so good (i.e. meltdown safe) ...

System not affected (take it with a grain of salt though as false negative
may be reported for specific environments; Please consider running it once again).

Auf gepatchten Systemen sollte Folgendes angezeigt werden:

Spectre and Meltdown mitigation detection tool v0.27

Checking for vulnerabilities against live running kernel Linux 4.4.0-109-generic #132-Ubuntu SMP Tue Jan 9 19:52:39 UTC 2018 x86_64
...
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES 
* PTI enabled and active:  YES 
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)

Installieren Sie 4.4.0-108-generic nicht auf Xenial! Es bricht Boot/Neustart/Herunterfahren/Suspend-Funktionalität !

Installieren Sie 4.4.0-109-generic ( siehe USN-3522- für Details)!


Wie Robie Basak bereits schrieb , gibt es eine Seite über Spectre and Meltdown Vulnerabilities Status in Ubunt .

Es gibt auch:

63
N0rbert

Führen Sie den folgenden Befehl aus:

dmesg | grep 'page tables isolation'

Wenn aktiviert angezeigt wird, ist PTI aktiviert. Wenn im Terminal nichts angezeigt wird oder Sie "disabled" sehen, ist PTI deaktiviert. Ubuntu hat den Patch noch nicht veröffentlicht, daher wird keine Meldung angezeigt.

18
Aadhil RF

Sie können mit cat /proc/cpuinfo überprüfen, ob es cpu_insecure unter "Bugs" meldet, dann ist PTI aktiviert.

Wenn es leer ist (oder nur cpu_insecure nicht auflistet), führen Sie höchstwahrscheinlich einen Kernel aus, der noch nicht gepatcht wurde (Ubuntus noch nicht), oder Sie haben einen AMD-Prozessor (für den dies voraussichtlich nicht der Fall ist) aktiviert sein, da sie nicht anfällig sind).

Derzeit alle CPUs werden als anfällig behandelt im neuesten 4.15-Kernel.

12
JonasCz

Ich habe dieses großartige sh-Skript gefunden, um Meltdown/Spectre-Schwachstellen auf Ihrem System zu testen:

https://github.com/speed47/spectre-meltdown-checker

Das Skript überprüft Ihr System auf bekannte Meltdown- und Spectre-Patches auf Ihrem System, um Ihnen mitzuteilen, ob diese Sicherheitsanfälligkeiten jetzt von Ihrem Betriebssystem behoben werden

8
Compte droid

Sie können / proc/config.gz auf CONFIG_PAGE_TABLE_ISOLATION=y prüfen, was bedeutet, dass der Kernel mit KPTI kompiliert wurde.

Dies ist auf meinem gepatchten Arch Linux-System, auf dem 4.14.11-1 ausgeführt wird:

$ zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz 
CONFIG_PAGE_TABLE_ISOLATION=y
2
Raniz

Auf meiner AWS Ubuntu 14.04.5 LTS EC2-Instanz wurde ich ausgeführt

grep CONFIG_PAGE_TABLE_ISOLATION /boot/config-$(uname -r)

Es sollte heißen:

CONFIG_PAGE_TABLE_ISOLATION=y

Für das Update habe ich:

Sudo apt-get update && Sudo apt-get install linux-image-generic

Ich denke auch das ist OK:

Sudo apt-get update
Sudo apt-get dist-upgrade

So überprüfen Sie die Kernelversion:

uname -r

Muss .13.0-139-generic oder neuer sein.

1
drKreso