On corrige actuellement la vulnérabilité actuelle du processeur Meltdown Intel en activant l'isolation de la table des pages. Il y a une question qui se pose pour savoir comment désactiver cette option: comment désactiver l'isolation des tables de pages pour retrouver les performances perdues à cause du correctif de sécurité du processeur Intel?
Ma question est opposée: existe-t-il un moyen de vérifier sur un système en fonctionnement si le mécanisme PTI est efficace sur le système et donc que 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, le paramètre de configuration, etc.
Grepping CONFIG_PAGE_TABLE_ISOLATION dans la configuration du noyau comme suggéré par Raniz n'aide pas sur le bureau Ubuntu, mais peut aider sur les instances de cloud:
Vous pouvez vérifier avec
/proc/cpuinfo
comme JonasCz a suggéré :Ou de
dmesg
(grâce à Jason Creighton ):Vous pouvez compiler le programme de test de Raphael Carvalho pour la détection de Meltdown:
sur un système patché, il devrait se terminer par une sortie
Vérifiez avec l'outil de https://github.com/speed47/spectre-meltdown-checker :
Sur le système corrigé, il devrait afficher les éléments suivants:
N'installez pas 4.4.0-108-generic sur Xenial! Il rompt les fonctionnalités de démarrage / redémarrage / arrêt / suspension !
Installez 4.4.0-109-generic ( pour plus de détails, voir USN-3522-3 )!
Comme Robie Basak l'a déjà écrit , il existe une page sur l' état des vulnérabilités Spectre et Meltdown dans Ubuntu .
De plus il y a:
la source
dmesg | grep isolation && echo "patched :)" || echo "unpatched :("
commande listée est inutilement dangereuse : elle ne montre pas quelle ligne a été effectivement appariée, et afficherait également "patché :)" si un autre exemple "d'isolement"/proc/cpuinfo
pour cpu_insecure). Si vous mettez cela dans un script et vous avez un processeur à l'avenir où le problème est résolu dans sa microarchitecture,/proc/cpuinfo
ne dira pluscpu_insecure
et votre script pensent que le noyau est non corrigée même si elle est patché . Je recommande également de ne pas utiliser la troisième suggestion, car il est trop probable qu'il y ait un motisolation
dans ladmesg
sortie à un moment donné sans qu'il fasse référence à l'isolation de la table des pages du noyau.isolation
correspondra à la foisKernel/User page tables isolation: enabled
etKernel/User page tables isolation: disabled on command line
.Exécutez la commande suivante:
S'il indique activé, alors PTI est activé. Si rien ne s'affiche ou si vous voyez «désactivé» dans le terminal, PTI est désactivé. Ubuntu n’ayant pas encore publié le correctif, il n’affiche aucun message.
la source
dmesg
sortie. Voir/var/log/kern.log*
si cela remonte assez loin pour avoir les messages de démarrage. Ubuntu avait l'habitude d'enregistrer ladmesg
sortie au démarrage/var/log/dmesg
, mais ne semble plus le faire.dmesg: invalid option -- 'w'
.-H
est également invalide. Enlever les drapeaux a bien fonctionné pour moi, comme dans cette réponseVous pouvez vérifier avec
cat /proc/cpuinfo
, s'il indiquecpu_insecure
sous "bugs", alors PTI est activé.Si c'est vide (ou tout simplement pas dans la liste
cpu_insecure
), alors vous utilisez probablement un noyau qui n'a pas encore été corrigé (pas Ubuntu), ou vous avez un processeur AMD (pour lequel cela ne sera pas activé, car ils ne sont pas vulnérables).Actuellement, tous les processeurs sont considérés comme vulnérables dans le dernier noyau 4.15.
la source
cpu_insecure
pour tout processeur x86; 4.14.12 et les versions plus récentes ne le configurent que pour les processeurs Intel (y compris ceux trop anciens ou trop primitifs pour être vulnérables), et ce même si KPTI est désactivé.J'ai trouvé ce bon script sh pour tester les vulnérabilités de Meltdown / spectre sur votre système:
https://github.com/speed47/spectre-meltdown-checker
Le script vérifie que votre système contient les correctifs Meltdown et Specter connus sur votre système pour vous indiquer si ces vulnérabilités sont maintenant limitées par votre système d'exploitation.
la source
Vous pouvez vérifier /proc/config.gz pour savoir
CONFIG_PAGE_TABLE_ISOLATION=y
si le noyau a été compilé avec KPTI.Ceci est sur mon système Arch Linux corrigé fonctionnant sous 4.14.11-1:
la source
/proc/
n'est pas activée par défaut dans les noyaux Ubuntu. La solution de contournement (beaucoup moins élégante) est grepping/boot/config-$( uname -r )
.Sur mon instance AWS Ubuntu 14.04.5 LTS EC2, j'ai exécuté
Il devrait dire:
Pour la mise à jour j'ai fait:
Je pense aussi que c'est OK:
Pour vérifier la version du noyau:
Doit être générique 3.13.0-139 ou plus récent.
la source