Comment vérifier que KPTI est activé sur mon Ubuntu?

60

La vulnérabilité actuelle du processeur Meltdown Intel est actuellement résolue par l’isolation de la table de pages. Il y a une question sur la façon de désactiver cette fonction: -intel-cpu "> Comment désactiver l'isolation de la table de pages pour retrouver les performances perdues à cause du patch de trou de sécurité du processeur Intel?

Ma question est opposée: existe-t-il un moyen de vérifier sur un système en cours si le mécanisme PTI est efficace sur le système et donc le système est protégé? Je recherche spécifiquement cat /proc/something ou cat /sys/something , ne vérifie pas la version du noyau ou le paramètre config ou similaire.

    
posée Martin Vysny 04.01.2018 - 08:55
la source

6 réponses

63
  • Faire grimper CONFIG_PAGE_TABLE_ISOLATION dans la configuration du noyau comme les suggestions de Raniz n’aident pas Ubuntu sur le bureau, mais peut aider sur les instances de cloud:

    grep CONFIG_PAGE_TABLE_ISOLATION=y /boot/config-'uname -r' && \
    echo "patched :)" || echo "unpatched :("
    
  • Vous pouvez vérifier avec /proc/cpuinfo que JonasCz suggéré :

    grep -q "cpu_insecure\|cpu_meltdown\|kaiser" /proc/cpuinfo && echo "patched :)" \
    || echo "unpatched :("
    
  • Ou de dmesg (merci à Jason Creighton ):

    dmesg | grep -q "Kernel/User page tables isolation: enabled" \
    && echo "patched :)" || echo "unpatched :("
    
  • Vous pouvez compiler un programme de test depuis Raphael Carvalho pour la détection de fusion:

    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
    

sur le système patché, il devrait se terminer par une sortie

...
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).
  • Consultez l’outil lien :

    cd /tmp
    wget https://raw.githubusercontent.com/speed47/spectre-meltdown-checker/master/spectre-meltdown-checker.sh
    sudo sh /tmp/spectre-meltdown-checker.sh
    

Sur le système patché, il devrait afficher les éléments suivants:

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)

N'installez pas 4.4.0-108-generic sur Xenial! Il interrompt les fonctionnalités d'amorçage / redémarrage / arrêt / suspension !

Installez 4.4.0-109-generic ( consultez USN-3522-3 pour plus de détails) !

Comme Robie Basak a déjà écrit , il existe une page sur État des vulnérabilités Spectre et Meltdown dans Ubuntu .

Il y a aussi:

réponse donnée N0rbert 12.01.2018 - 21:47
la source
18

Exécutez la commande suivante:

dmesg | grep 'page tables isolation'

S'il est activé, PTI est activé. Si rien ne s'affiche ou que vous voyez «désactivé» dans le terminal, PTI est désactivé. Ubuntu n'a pas encore publié le patch, il n'affiche donc aucun message.

    
réponse donnée AadhilRF 04.01.2018 - 09:33
la source
12

Vous pouvez vérifier avec cat /proc/cpuinfo , s'il signale cpu_insecure sous "bugs", alors PTI est activé.

Si le champ est vide (ou si cpu_insecure n'est pas répertorié), alors vous utilisez probablement un noyau qui n’a pas encore été corrigé (ce qui n’a pas été le cas pour Ubuntu) ou vous avez un processeur AMD (pour lequel ne pas être activé, car ils ne sont pas vulnérables).

Actuellement, réponse donnée JonasCz 04.01.2018 - 09:16

la source
8

J'ai trouvé ce super script sh pour tester les vulnérabilités de Meltdown / specter sur votre système:

lien

Le script vérifie sur votre système les correctifs de fusion et de spectre connus sur votre système pour vous indiquer si ces vulnérabilités sont désormais atténuées par votre système d’exploitation.

    
réponse donnée Compte droid 10.01.2018 - 10:34
la source
2

Vous pouvez vérifier /proc/config.gz pour CONFIG_PAGE_TABLE_ISOLATION=y , ce qui signifie que le noyau a été compilé avec KPTI.

Ceci est sur mon système Arch Linux patché exécutant 4.14.11-1:

$ zgrep CONFIG_PAGE_TABLE_ISOLATION /proc/config.gz 
CONFIG_PAGE_TABLE_ISOLATION=y
    
réponse donnée Raniz 04.01.2018 - 09:28
la source
1

Sur mon instance AWS Ubuntu 14.04.5 LTS EC2, j'ai exécuté

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

Il devrait dire:

CONFIG_PAGE_TABLE_ISOLATION=y

Pour la mise à jour j'ai fait:

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

Je pense aussi que c'est OK:

sudo apt-get update
sudo apt-get dist-upgrade

Pour vérifier la version du noyau:

uname -r

Doit être 3.13.0-139-generic ou plus récent.

    
réponse donnée drKreso 12.01.2018 - 11:17
la source

Lire d'autres questions sur les étiquettes