HardWare.fr


Microsoft désactive la protection Spectre v2
Processeurs
Publié le Mardi 30 Janvier 2018 par Guillaume Louel

URL: /news/15350/microsoft-desactive-protection-spectre-v2.html


Après de nombreux OEM, Microsoft s'est également décidé a désactiver son patch pour la faille Spectre (Variante 2) suite aux problèmes de plantages notés avec les "nouveaux" microcode d'Intel.

Pour rappel, suite à l'annonce des failles Spectre et Meltdown, Intel avait déployé une mise à jour de microcode début janvier pour certaines de ses architectures (Haswell et supérieurs côté client). Une mise a jour qui ajoute de nouvelles possibilités pour les développeurs d'OS pour contrer Spectre (Variante 2), comme le détaillait Intel dans ce PDF  :

These capabilities will be available on modern existing products if the appropriate microcode update is applied, as well as on future products, where the performance cost of these mitigations will be improved. In particular, the capabilities are:

  • Indirect Branch Restricted Speculation (IBRS): Restricts speculation of indirect branches.
  • Single Thread Indirect Branch Predictors (STIBP): Prevents indirect branch predictions from being controlled by the sibling Hyperthread.
  • Indirect Branch Predictor Barrier (IBPB): Ensures that earlier code's behavior does not control later indirect branch predictions.

Si l'on dispose du nouveau microcode (fourni par une mise à jour de BIOS), et des dernières mises à jour Windows Update, on avait, jusqu'à ce week-end tout du moins, un patch pour Spectre Variante 2 actif sous Windows, basé sur les fonctionnalités exposées ci-dessus.


Le logiciel InSpectre permet de vérifier la présence des patchs mais également de les activer et désactiver, tout ceci étant contrôlé - comme toutes choses sous Windows - par une clef dans la base de registre, bien évidemment...

Utiliser ces nouvelles fonctionnalités exposées par les mises à jour de microcode est la voie choisie par Microsoft pour combattre Spectre V2. Sous Linux, d'autres pistes comme retpoline ont été mises en place, mais elles requièrent, pour protéger complètement le système, de recompiler intégralement toutes les applications. Quelque chose de difficilement applicable au monde Windows, Microsoft ayant rejeté l'idée d'implémenter retpoline dans ses compilateurs. Reste qu'en pratique, retpoline semble avoir ses limites puisqu'il ne protège pas correctement les processeurs Skylake (et dérivés) qui ont un mode de fonctionnement différent dans leur spéculation d'exécution par rapport aux architectures Intel précédentes.

Mais comme on vous l'indiquait il y a plus d'une semaine, Intel avait admis que sa mise à jour de microcode posait des problèmes de stabilité sur certains systèmes, dans un premier temps uniquement sur Haswell et Broadwell, avant d'admettre le 17 janvier que le problème touchait non seulement les architectures plus récentes (Skylake et dérivées) mais aussi les plus anciennes (Sandy Bridge par exemple, même si curieusement le constructeur n'avait pas déployé publiquement de microcode pour ces architectures !).

Le 22 janvier, Intel avait finalement indiqué avoir trouvé la cause du problème "pour Haswell et Broadwell" (!), recommandant à ses partenaires privilégiés de tester les nouveaux microcode beta (disponibles uniquement pour les gros clients), et aux autres "de suivre les meilleurs pratiques de sécurités et de garder leurs systèmes à jour" (!).

Dans la foulée, nombre d'OEM ont désactivés les mises à jour de microcode qu'ils livraient, soit avec leur système d'exploitation (c'est le cas de Red Hat  et VMware ), mais également des revendeurs de PC (au hasard HP ) qui ont retiré les BIOS qui incluaient le nouveau microcode d'Intel.

Et ce week-end, c'est finalement Microsoft qui a également retiré, non pas la mise à jour du microcode (il ne semble pas que Microsoft l'ait distribuée via Windows Update, même si cela est de plus en plus complexe à confirmer avec les méthodes de distribution opaques utilisées), mais directement son patch pour Spectre V2 ! Le constructeur a déployé le KB4078130  pour désactiver le patch Spectre V2 de tous ses systèmes d'exploitations, et mis à jour ses recommandations  (ici pour les serveurs ).

Chez Intel, alors que l'on attendait une version finale du microcode qui aurait résolu le problème, c'est silence radio, ou presque. Sur le site Security Center , on trouve tout de même une mise à jour des recommandations qui parle de "nouveaux développements avec Microsoft" et pointe vers la désactivation du patch.

Intel ne donne pas vraiment de nouvelle information, clarifiant simplement que s'il pensait le 22 janvier avoir identifié la cause des "redémarrages intempestifs" sur Broadwell et Haswell, il sous-entendait (ce n'était pas précisé dans le communiqué original) continuer de travailler pour confirmer si ce correctif fonctionnait également sur ses autres plateformes également touchées.

Malheureusement, le constructeur ne confirme ni si le correctif est efficace sur Haswell et Broadwell, ni s'il a progressé sur la question des autres plateformes ! On pointera juste qu'Intel indique toujours demander à ses (gros) partenaires de continuer a tester les "early versions" de ses microcode afin "d'accélérer leur sortie". Confirmant donc qu'ils ne sont toujours pas finalisées alors que leur validation était attendue la semaine dernière.

Si l'on conjugue l'absence d'une nouvelle communication concrète de la part d'Intel (malgré le dépassement des dates de validation promises) avec le fait que Microsoft désactive complètement son patch, il nous est difficile de conclure autre chose que la disponibilité d'un nouveau microcode n'est pas imminente.

Dans l'attente, nous vous conseillons bien entendu de continuer à garder à jour votre système d'exploitation, et pour ceux qui auraient mis à jour leur BIOS avec le nouveau microcode d'Intel (ce qui ne concerne que les cartes mères Haswell et supérieures, pour rappel), de revenir vers une version précédente du BIOS pour éviter les problèmes de stabilité.



Copyright © 1997-2022 HardWare.fr. Tous droits réservés.