Le point sur les travaux à réaliser pour lutter contre Meltdown et Spectre (MaJ)

LeMagIT a fait le point sur les travaux des grands acteurs des processeurs, des systèmes d'exploitation et du cloud pour lutter contre Meltdown et Spectre. Acteur par acteur, nous vous proposons un inventaire des actions à réaliser pour se mettre à l'abri.

Edit : Cet article a été publié le vendredi 5 janvier 2018. Il a été mis à jour 3 fois. Une fois le 5 janvier à 23h40 avec des informations additionnelles sur Intel, HPE et OVH. Une deuxième fois le lundi 8 janvier à 14h00 avec des ajouts concernant Red Hat, BSD, Intel, OVH, Citrix et Nutanix. Une dernière fois le lundi 8 janvier à 18h00 avec plus d'informations sur IBM et sur les correctifs en cours de déploiement pour Meltdown et Spectre.

Après l’officialisation anticipée des failles Meltdown et Spectre - qui tirent parti de défauts d’implémentation dans les puces Intel pour la première, et dans la plupart des puces du marché pour les deux variantes de la seconde - Le MagIT a compilé une liste des correctifs à appliquer et de mesures à prendre pour se protéger.

Cette liste s’appuie sur les informations rendues publiques par les grands acteurs du secteur de l’informatique. Elle doit en particulier beaucoup à la transparence d’Online, la filiale cloud d’Iliad qui, sur son blog, a tenu un carnet détaillé des informations obtenues pour lutter contre ces deux failles. Au cours des deux derniers jours, la transparence d’Online nous a permis d’en savoir beaucoup plus sur les mécanismes de remédiation de Spectre et Meltdown que ce qu’ont pu nous dire l’ensemble des autres acteurs de l’infrastructure que nous avons interrogés.

Pour les administrateurs systèmes et les exploitants, la découverte des failles Meltdown et Spectre devrait se transformer en un casse-tête de grande ampleur dans les prochains jours. Il va en effet falloir appliquer des mises à jour de microcode sur un grand nombre de serveurs - dont les serveurs Intel, IBM Power et IBM z - pour lutter contre Spectre. Mais il va aussi falloir déployer des correctifs pour la plupart des hyperviseurs et des systèmes d’exploitation. Certaines applications devront aussi être « patchées » comme l’indique la publication hier par Microsoft d’un correctif pour SQL Server.

À plus long terme, les entreprises vont sans doute, aussi, devoir mettre à jour un grand nombre d’applications une fois que ces dernières auront été recompilées avec les correctifs destinés à les protéger comme les attaques rendues possibles par Spectre. Les compilateurs vont en effet progressivement être mis à jour pour tenter de limiter l’impact de Spectre (comme l’atteste l’inclusion aujourd’hui par les équipes de développement LLVM d’un correctif pour l’une des vulnérabilités Spectre). Il est à noter que l’impact de ce premier correctif à LLVM pourrait être de 5 à 10 % sur la performance de la plupart des applications.

L’équipe du MagIT a compilé dans cet article la liste des correctifs à appliquer et actions à exécuter pour les principaux systèmes d’exploitation, hyperviseurs et éléments clés de l’infrastructure. Nous avons aussi tenté de réunir les recommandations des principaux acteurs du cloud public. Cet article sera progressivement mis à jour au fur et à mesure de l’évolution des recommandations des grands acteurs du marché. 

Quel correctif pour quelle faille

La faille comblée le plus rapidement est Meltdown. Limitée aux puces Intel, elle nécessite l'application d'un correctif au noyau des OS qui met en oeuvre un mécanisme de protection de l'espace mémoire baptisé kpti (kernel page-table isolation). Ce patch empêche l'espace mémoire du noyau d'être accédé par un processus fonctionnant en mode user-space.

La seconde faille pour laquelle des correctifs ont rapidement été disponibles est la variante 2 de Spectre (CVE-2017-5715 - Branch Target Indirection). En général, le correctif combine deux composants : une mise à jour firmware et un correctif logiciel au kernel. Les mises à jour de microcode sont exploitées par le code IBRS (Indirect Branch Restricted Speculation) pour enrayer les tentatives d'exploitation des prédicteurs de branchement des CPUA ce jour, le noyau Windows aurait déjà été modifié, mais un grand nombre de noyaux Linux doivent encore l'être.

Enfin, la dernière faille (la variante 1 de Spectre) est la plus problématique. L'industrie travaille sur la base d'une proposition de correctif de Google, baptisée Retpoline. Cette approche est théoriquement censée combatre les variante 1 et 2 de Spectre et il sera intéressant de voir comment elle cohabite (ou non) avec le code IBRS, plutôt inspiré par les travaux d'Intel.

L'idée du code Retpoline est d'éviter les branchement spéculatifs dans le code du noyau. Retpoline pourrait être intégré au noyau Linux dans les versions 4.15 ou 4.16 et devra ensuite être backporté. Il est à noter que, pour plus de sûreté, certaines applications devront aussi être recompilées avec des compilateurs intégrant l'approche Retpoline.

Les premiers correctifs aux compilateurs libres LLVM sont sortis la semaine dernière. Un patch a aussi été intégré pour GCC 7.2. A terme, il est vraisemblable qu'un grand nombre d'outils et d'applications devront, par prudence, être  recompilés avec des compilateurs mis à jour. Il faudra donc sans doute des semaines, voire des mois, pour sécuriser l'ensemble du datacenter. Et comme l'indiquait le CERT US, on ne sera sans doute totalement à l'abri que lorsqu'une nouvelle génération de processeurs sera disponible (un constat depuis supprimée de la note du CERT). 

Les fabricants de processeurs

AMD

AMD a confirmé que ses puces ne sont pas concernées par la faille Meltdown (ce qui confirme bien que cette dernière est le fruit d’un défaut d’implémentation côté Intel). La firme explique en revanche que ses processeurs sont potentiellement vulnérables à l’une des attaques Spectre.

Aucun correctif spécifique n’est pour l’instant prévu par le fondeur. La protection contre Spectre viendra a priori des mises à jour des OS et des grands compilateurs du marché. Contrairement à Intel, AMD ne devrait pas proposer de mise à jour firmware pour accompagner les correctifs logiciels des systèmes d'exploitation.

IBM

Discret depuis la révélation de Meltdown et Spectre, Big Blue va publier les correctifs firmware destinés à contrer les failles Spectre ce mardi 9 janvier. L'équipe de réponse aux incidents du constructeur (PSIRT) indique que ces correctifs s'appliquent aux plates-formes Power 7+ et 8, ainsi qu'au très récent Power 9. Ces correctifs seront accessibles via le site de l'équipe PSIRT.

Pour ce qui est des Mainframes, la transparence est moins de mise. Les informations sur l'éventuelle vulnérabilité des puces z ne sont accessibles qu'aux clients via le portail IBM Security Portal pour les zSystems. IBM fait, là, preuve d'une pudeur bien inutile. Suse a confirmé sur son site que son correctif pour Linux Mainframe nécessitait une mise à jour de firmware qui sera livrée par Big Blue via les "canaux habituels".

Intel

Après avoir publié un communiqué de presse rappelant le comportement d’un volatile australien adepte du sable, Intel a commencé aujourd’hui à communiquer de façon plus technique sur les failles Meltdown et Spectre. Le fondeur est en première ligne car ses puces sont vulnérables à toutes les formes d’attaques. Se protéger va passer par plusieurs étapes.

Dans un premier temps, les utilisateurs sont invités à appliquer les correctifs OS et hyperviseurs qui sont produits par les grands éditeurs pour lutter contre Meltdown. Ces correctifs pourraient avoir un impact notable sur les performances, ce qu'explique par exemple Red Hat dans un article de sa base de connaissance.

Intel continue pourtant a expliquer que l'impact sera négligeable. En fait, la réalité est que l'impact sera d'autant plus élevé que les workloads font appels au kernel et qu'ils fonctionnent sur des processeurs anciens. Les workloads qui font un usage intensif du réseau et du stockage pourraient être les plus affectées.

Dans un second temps, Intel devrait proposer - via ses partenaires - des mises à jour de microcode serveur pour tenter de limiter l’impact des attaques.

Le fondeur a produit des mises à jour de microcode pour les puces de génération Haswell-X, Skylake-X et Broadwell-X. Ces mises à jour sont conçues pour permettre le contrôle des fonctions de prédiction de branchement du CPU via un MSR (Model-Specific Register, un registre de contrôle spécifique permettant par exemple d'activer ou de désactiver des fonctions du processeur, de le debugger ou d'analyser sa performance). 

Dell a par exemple commencé à pousser des mises à jour de Microcode pour ses serveurs à base de Xeon E5v3 et v4 et de Xeon « Skylake » - comme les PowerEdge R630, 730, R640, R740, R940 ou 7920R). QCT a fait de même pour certains de ses serveurs ainsi que Supermicro. HPE a lui aussi  commencé à distribuer des mises à jour de microcode pour ses serveurs Proliant Gen9 et Gen10.

L'application du microcode nécessite un long redémarrage (environ 15 mn). Ces mises à jour auront un impact perceptible sur la performance selon plusieurs sources, dont l’hébergeur et exploitant de cloud Online. Mais Intel continue de son côté à expliquer que l’impact sur les performances sera minimal.

ARM

ARM a dès le début fourni une analyse détaillée de l’impact des failles Spectre et Meltdown sur ses processeurs. Il a en parallèle détaillé dans un billet de blog comment ses différentes familles de puces sont affectées par les différentes failles.

La firme recommande aux utilisateurs de systèmes affectés de procéder à une mise à jour de leurs OS pour déployer les correctifs logiciels appropriés.

Les éditeurs de systèmes d’exploitation et d’hyperviseurs

Apple

La firme à la pomme n’a pas attendu la publication des failles pour prendre des mesures correctives dans ses OS les plus récents. Selon Apple, les dernières versions d’IOS (11.2) et de macOS (10.13.2) sont déjà protégées contre Meltdown.

Pour ce qui concerne Spectre, Apple devrait prochainement produire une nouvelle version de Safari permettant de se protéger contre des attaques JavaScript. Apple étant par ailleurs un grand promoteur du compilateur LLVM, il est vraisemblable qu’à l’avenir, la firme va appliquer les correctifs à ce compilateur dans son environnement XCode. Les éditeurs d'applications pourront alors recompiler leurs logiciels afin de limiter l’impact de la faille Spectre. L’utilisation de la version corrigée de LLVM devrait toutefois avoir un impact sur les performances de ces applications recompilées.

En attendant, Apple recommande à ses utilisateurs de ne télécharger des applications que depuis son App Store.

Citrix

Citrix a développé des correctifs pour les version 7.1, 7.2 et 7.3 de son hyperviseur XenServer. La firme note qu'il est recommandé d'appliquer les correctifs microcode des différents fabricants de serveurs AVANT d'installer ses propres correctifs. L'installation requiert un redémarage des serveurs.

Citrix recommande également à ses clients d'appliquer les correctifs nécessaires à leurs VM en utilisant les patches fournis par les différents éditeurs de systèmes d'exploitation.

Elle recommande enfin un arrêt complet des VM et un redémarrage.

Microsoft

L’éditeur de Redmond a publié, dès le 3 janvier, une première série de correctifs pour ses systèmes d’exploitation pour postes de travail. Microsoft recommande aux utilisateurs de les appliquer en urgence.

Ces correctifs sont disponibles pour toutes les versions de Windows 10, pour Windows 8.1 et Windows 7 SP1. Ils viennent patcher le noyau Windows ainsi qu’Internet Explorer et le navigateur Edge.

Microsoft a aussi produit des correctifs pour ses OS serveurs. Sont concernés Windows Server v1709, Windows Server 2016, Windows Server 2012R2 et Windows Server 2008R2. Aucun correctif n’est pour l’instant disponible pour Windows Server 2008 et Windows Server 2012.

Ces correctifs doivent être appliqués en conjonction avec les mises à jour firmware prévues par les constructeurs. Microsoft invite les entreprises à se rapprocher de leurs vendeurs de serveurs habituels pour les obtenir.

Microsoft a aussi produit une série de correctifs portant sur SQL Server que les utilisateurs de la base de données devront appliquer dans des scénarios bien précis. Les correctifs concernent pour l’instant SQL Server 2017 et SQL Server 2016. Ils visent à protéger contre des vulnérabilités liées à l’usage de procédures stockées ou de scripts écrits avec les langages R ou Python.

Nutanix

L'éditeur a publié une note indiquant qu'un correctif pour sa technologie était attendu le 8 janvier. Le correctif s'appliquera à la fois à l'hyperviseur maison, AHV, ainsi qu'aux machines virtuelles de contrôle (CVM) sur chaque hôte Nutanix.

Les clients sont aussi invités à appliquer les correctifs de système d'exploitation à leurs machines virtuelles.

Les informations détaillées sont disponibles sur le site de support de l'éditeur (authentification cliente requise). Comme avec les autres technologies hyperconvergées, un point en particulier sera à surveiller pour les entreprises après la disponibilité du correctif : l'impact sur les performances. 

Oracle

Oracle a publié des correctifs visant les failles Spectre et Meltdown pour Oracle Linux et OracleVM. Ces derniers ont été publiés entre le 4 et le 9 janvier. Le descriptif des correctifs pour la faille Meltdown est accessible depuis le bulletin de sécurité Oracle sur la faille CVE-5754. Oracle a aussi publie un bulletin pour la variante 1 de Spectre et un second pour la deuxième variante.  Aucune page ne centralise, à notre connaissance la réaction de l'éditeur aux deux failles pas plus qu'on ne trouve d'informations sur les éventuels correctifs firmware disponibles. Oracle n'a pas non plus émis de communiqué de presse ou de billet de blog suite aux deux failles. Et il n'y a à ce jour par d'informations publiques sur l'impact des failles sur les plates-formes Sparc.

Red Hat

Red Hat a publié une première série de correctifs pour ses systèmes d’exploitation et outils cloud. Un bulletin détaillé présente les failles, leur impact ainsi que les mécanismes de remédiations à mettre en œuvre.

Dans l’onglet « Resolve » du bulletin, l’éditeur met à jour régulièrement la liste des correctifs à appliquer pour protéger ses solutions. Pour l’instant RHEL 7 est la plate-forme la mieux couverte, mais l’éditeur a aussi commencé à produire des correctifs pour RHEL 6. RHEL 5 est encore largement exposé.

Aucun patch n’est encore disponible pour les distributions OpenStack, les solutions de virtualisation ou les solutions de conteneurs de l’éditeur. Mais la liste des correctifs disponible évolue rapidement. Les premiers correctifs Meltdown sont aussi disponibles pour Fedora 26 et 27 (noyau version 4.14.11)  : sudo dnf --refresh update kernel

Red Hat a aussi été très transparent sur les impacts de performance de ses correctifs. Selon les tests réalisés par l’éditeur il faut s’attendre en moyenne à un recul de 8 à 12 % des performances pour les applications hautement transactionnelles, de 3 à 7 % pour Java et les applications analytiques, et de 2 à 5 % pour les applications HPC.

Suse

L’éditeur de distributions Linux a publié un bulletin complet sur Meltdown et Spectre détaillant les mécanismes et l’impact de ces attaques. Il a également commencé à publier des correctifs pour ses principaux outils. La liste de ces correctifs est disponible sur une page internet dédiée, régulièrement mise à jour.

À l’heure où nous écrivons ces lignes, Suse a publié des correctifs pour l’ensemble de ses distributions SLES 12 ainsi que pour SLES 11 SP4 et SLES 11 LTSS. La plate-forme de conteneurs SUSE CaaS Platform fait également l’objet d’un correctif.

Suse explique que ses correctifs pour Meltdown sont valides pour les plates-formes x86 et, chose plus intéressante, pour les plates-formes Power d’IBM. Les correctifs pour Spectre seront quant à eux nécessaires pour toutes les plates-formes serveurs (Intel, AMD, ARM, Power et IBM z) et devront être déployés en parallèle de mise à jour firmware désactivant la prédiction de branchement des processeurs modernes.

Ces mises à jour de microcode seront à obtenir auprès des fabricants de serveurs.

Autres distributions Linux

Debian 9 a déjà intégré les correctifs pour Meltdown à la branche 4.9 du noyau Linux.

Canonical a annoncé via un billet de blog de Dustin Kirkland, le vice-président produit de l’éditeur, que les versions à jour des noyaux Ubuntu sont attendues au plus tard le 9 janvier. Les versions d’Ubuntu concernées sont les 17.10, 16.04 LTS, 14.04 LTS et 12.04 ESM.

Kernel.org, le site qui gère le noyau Linux, met à disposition une version corrigée du plus récent noyau Linux, la version 4.14.12 (dernière version stable, publiée ce 5 janvier 2018). Il propose aussi des versions corrigées de générations antérieures les versions 4.9.75, 4.4.110.

FreeBSD

À ce jour aucun correctif n’est disponible pour les OS BSD. FreeBSD indique travailler avec les fabricants de CPU sur un correctif, mais ne pas avoir de date pour sa disponibilité. DragonFlyBSD a de son côté intégré un correctif pour Meltdown dans la branche Master de son code et continue à tester ce code avant de le basculer dans la branche stable. Il est vraisemblable qu'un correctif similaire sera apporté rapidement aux autres OS BSD.

L'analyse de Matthew Dillon de DragonFlyBSD est moins optimiste. Selon lui, aucun correctif logiciel ne pourra efficacement contrer totalement Spectre et la seule solution pour être totalement protégé sera de remplacer ses processeurs par des puces correctement conçues. Comme il l'indique : "la seule façon de contrer Spectre est de nouveaux processeurs (pas encore produits). Cela pourrait prendre entre 6 mois et un an, fonction de l'intensité du feu allumé sous les fesses des fabricants de CPU".

VMware

VMWare a produit une série de correctifs pour ses principaux logiciels de virtualisation client et serveur. Les produits concernés sont listés dans un bulletin publié sur Internet. L’éditeur invite ses utilisateurs à appliquer ces correctifs en urgence après les avoir téléchargés sur leur portail personnel (authentification nécessaire). Il est à noter que le correctif pour la version la plus ancienne de vSphere (5.5) ne protège que contre Meltdown, mais pas contre les attaques Spectre.

VMware ne précise pas s’il convient ou non d’appliquer les mises à jour firmware des constructeurs de serveurs, pas plus qu’il ne fournit d’indications sur l’impact de ses correctifs en matière de performances.

Il sera intéressant de voir s’il y a un impact notable sur la performance des environnements hyperconvergés couplant vSphere à VSAN.

Les fournisseurs de cloud

Amazon AWS

Amazon Web Services a appliqué de façon anticipée des correctifs à ses hyperviseurs pour protéger les utilisateurs de sa plate-forme EC2. La firme encourage désormais les entreprises utilisatrices à appliquer des correctifs à leurs instances afin de mettre à jour leurs OS et leurs logiciels. Les AMI Linux créées avant le 3 janvier doivent être mises à jour par une simple commande : sudo yum update kernel.

Pour les AMI Windows, Amazon indique qu’il est en cours d’application des correctifs de Microsoft. Il préviendra ses clients de la marche à suivre dès que ses travaux seront terminés.

Le service VMware on AWS a lui aussi fait l’objet de mise à jour en décembre, mais les clients devront aussi appliquer les correctifs OS et applicatifs dans leurs VM.

Google Cloud

Google a préventivement appliqué des correctifs à son infrastructurecontre les attaques Meltdown et Spectre. Le fournisseur a, semble-t-il, travaillé très tôt sur le sujet en exploitant les connaissances de l’équipe Google Project Zero. Google a publié un bulletin détaillé sur les travaux réalisés sur l’ensemble de ses logiciels, solutions et services de cloud.

Google Compute Engine et l’ensemble des services cloud sont, semble-t-il, désormais protégés contre les attaques, mais les entreprises doivent - là encore - veiller à appliquer les correctifs nécessaires à leurs machines virtuelles. Un bulletin de sécurité spécifique de Google pointe vers les images Google mises à jour ainsi que vers les principaux correctifs des grands éditeurs d'OS.

Microsoft Azure

L’exploitant de cloud indique que la majorité de l’infrastructure Azure est désormais patchée, tout en indiquant que certains éléments d’Azure sont encore en cours de mise à jour et vont requérir le redémarrage des VM de clients pour prendre effet.

Microsoft indique avoir optimisé les chemins I/O de son infrastructure et ne pas anticiper d’impact significatif en matière de performances.

Il indique aussi que la mise à jour qu’il a effectuée ne requiert pas de mise à jour des VM Linux et Windows de ses clients, tout en recommandant d’appliquer les meilleures pratiques de sécurité des éditeurs d’OS (bref d’appliquer les correctifs et de redémarrer les VM). Microsoft dit avoir observé que les correctifs apportés à ses OS serveur ont un impact de performance négligeable sur les applications.

Online

Le fournisseur français de services cloud, filiale d’Iliad, la maison mère de Free, a sans doute été l’un des plus transparents sur les failles Meltdown et Spectre depuis la révélation de leurs existences. Il maintient via un billet de blog, un suivi détaillé de sa réaction à la faille. Comme la plupart des acteurs de cloud de Tier 2 n’appartenant pas au cercle privilégié des GAFA, il n’a pas fait mystère de son agacement face à la communication pour le moins incomplète de ses fournisseurs.

Online a mis en commun ses travaux avec d’autres acteurs cloud comme LinodePacketOVH, Digital OceanVultrNexcess et prgmr.com afin de progresser plus rapidement dans la remédiation des failles Meltdown et Spectre.

Le fournisseur de cloud a fourni un suivi précis des correctifs disponibles qui devrait être précieux pour les entreprises . L’information la plus importante est que les mises à jour firmware des serveurs ne seront pas suffisantes. Elles devront être déployées en parallèle des correctifs logiciels des noyaux systèmes.

Online note toutefois que les noyaux actuels ne comportent pas encore les modifications requises pour travailler avec les nouveaux firmware. Ces dernières ne devrait arriver qu’avec la version 4.15 et devront ensuite être backportées sur les noyaux les plus anciens.

OVH

Le fournisseur de cloud est en train d’appliquer le pach Meltdown à ses clusters de serveurs web. Il a en parallèle entamé les travaux de mise à jour de son infrastructure Private Cloud VMware.

Ces travaux devraient se dérouler jusqu'au 15 janvier. La mise à jour de ses serveurs « bare-metal » devraient passser par une mise à jour des firmwares. L’offre VPS attend encore un noyau intégrant le code IBRS (Indirect Branch Restricted Speculation) pour palier la seconde variante de la faille Spectre, en parallèle avec les mises à jour firmware.

OVH a publié dès vendredi soir un premier document sur la remédiation des failles Meltdown et Spectre dans son infrastructure. Ce week-end, il a complété son suivi avec une liste détaillée des correctifs disponibles par système d'exploitation.

Pour approfondir sur x86

Close