Meltdown et Spectre : les failles des processeurs
Article d’archive. Rédigé en 2018. Les éditeurs ont depuis publié des correctifs : installez les mises à jour de votre système, de votre navigateur et de votre micrologiciel (BIOS/UEFI). L’outil Intel cité concerne l’avis INTEL-SA-00086 (Management Engine), pas directement Meltdown et Spectre.
Début 2018, la plupart des opérateurs et fabricants ont alerté sur de nouvelles vulnérabilités matérielles touchant l’ensemble du parc informatique mondial. Intel avait pourtant été alerté dès novembre 2017.
Meltdown et Spectre en bref
Ces failles touchent les processeurs Intel, AMD et ARM, sur les postes utilisateurs comme sur les serveurs. Elles permettent à un attaquant de lire la mémoire vive d’une machine et d’accéder à des données sensibles : mots de passe, clés de chiffrement, données personnelles ou bancaires.
Côté Intel, le Management Engine est concerné : un système d’exploitation Minix complet et très compact. Huit vulnérabilités critiques ont été présentées à Black Hat Europe (décembre 2017, Londres), notamment « How to Hack a Turned-Off Computer or Running Unsigned Code in Intel Management Engine ». Le document en anglais (PDF).
Pourquoi les correctifs pèsent sur les performances
Les correctifs sont des contournements logiciels d’un problème matériel : ils augmentent la charge processeur. Ils concernent les hyperviseurs (VMware, Hyper-V, Xen, OVM) et les systèmes serveur (Windows, Debian, Red Hat…). Au moment de la rédaction, tous les éditeurs n’avaient pas annoncé leurs correctifs.
Plus d’informations : meltdownattack.com et Google Project Zero. La majorité des appareils des vingt dernières années étaient concernés.
Tester son ordinateur
Intel a publié un outil de détection à télécharger et exécuter. Un résultat « This system is not vulnerable. It has already been patched. » indique que le poste n’est pas à risque pour la vulnérabilité testée. Voir la page Intel en français et le communiqué de l’ANSSI.
Réaction des hébergeurs
Près de deux mois après l’annonce, les délais de réaction variaient beaucoup. OVH et Gandi se sont mobilisés : billet d’OVH, billet de Gandi.
Ordibug recommande de vérifier régulièrement le niveau de mise à jour de vos applications avec vos équipes ou partenaires.
Comprendre la différence entre Meltdown et Spectre
Meltdown (CVE-2017-5754) permet à un programme ordinaire de lire la mémoire du noyau du système. Il touche surtout les processeurs Intel. Spectre (CVE-2017-5753 et CVE-2017-5715) exploite l’exécution spéculative, une optimisation qui exécute des instructions avant de savoir si elles sont utiles ; il concerne Intel, AMD et ARM et reste plus difficile à corriger complètement.
Les protections mises en place
- Isolation des tables de pages du noyau (KPTI) contre Meltdown, intégrée à Windows et Linux.
- Mises à jour de microcode fournies avec le BIOS/UEFI ou le système.
- Techniques de compilation comme retpoline et réduction de la précision des minuteurs des navigateurs, qui compliquent l’exploitation de Spectre.
Le coût en performance dépend de la charge : faible pour la bureautique, plus sensible pour les serveurs à fort trafic disque ou réseau et la virtualisation.
Vérifier aujourd’hui l’état de sa machine
- Linux :
grep . /sys/devices/system/cpu/vulnerabilities/*liste chaque faille et son état de protection. - Windows : le module PowerShell SpeculationControl (
Get-SpeculationControlSettings) affiche les protections actives. - macOS et mobiles : installez les mises à jour du système et du navigateur.