Les derniers contenus liés aux tags Intel et Microsoft

Afficher sous forme de : Titre | Flux

Microcode final pour Spectre chez Intel

Publié le 15/03/2018 à 18:45 par Guillaume Louel

Intel vient de publier quelques informations  concernant les failles de sécurité Spectre et Meltdown. Après deux bons mois de développement, le constructeur a publié mardi soir une nouvelle version de ses microcode  qui contient la version définitive des correctifs pour Spectre. On se souviendra que Microsoft avait désactivé fin janvier son patch pour la variante 2 de Spectre suite aux problèmes de stabilité rencontrés dans certaines situations avec le microcode d'Intel.

L'attente aura été assez longue et la communication d'Intel au compte goutte, mais ce microcode final résout les problèmes de stabilités. Le correctif a été déployé d'après Intel sur toutes les architectures lancées ces cinq dernières années. En pratique, le patch Spectre est désormais disponible pour tous les CPU à partir de Sandy Bridge (les Core "2nde génération" comme les Core i7 2600K) en version classique et HEDT. A ce que nous avons pu voir, l'impact sur les performances ne changerait pas réellement entre la version finale et la version beta de ce microcode que nous avions testé il y a plus d'un mois de cela.

En parallèle, Intel annonce avoir effectué des modifications pour ses prochaines architectures. Le prochain processeur serveur Xeon, connu sous le nom de code Cascade Lake sera protégé nativement contre Meltdown (une faille qui ne touche qu'Intel côté x86) et la variante 2 de Spectre. Intel dit avoir "ajouté des "murs protecteurs" entre les applications et les niveaux de privilèges utilisateurs pour créer un obstacle contre les mauvais acteurs". En plus des Cascade Lake, Intel dit que des processeurs Core 8eme génération attendus pour la deuxième moitié de l'année proposeront aussi ces correctifs. Intel ne précise pas quels CPU sont concernées exactement, la logique voudrait que le constructeur parle de Cascade Lake-X, la déclinaison HEDT de Cascade Lake, même si le constructeur n'a pas pu nous le confirmer.

Corriger de manière matérielle Spectre V2 sera particulièrement important pour les nouvelles architectures d'Intel puisque Skylake, la dernière architecture en date, est assez difficile à sécuriser autrement qu'avec la méthode utilisée par Microsoft pour Windows (communément appelé patch IBRS). Une solution alternative développée par Google, retpoline , est plus difficile à appliquer sur les Skylake dont les mécanismes d'exécution spéculative diffèrent. L'impact de l'IBRS est particulièrement important sur les changements de contextes et les IO pour rappel. Intel n'a pas précisé le coût éventuel sur les performances de ses "murs protecteurs".

Les BIOS incluant ces mises à jour vont être rendus disponibles par les constructeurs dans les jours à venir.

Microsoft désactive la protection Spectre v2

Publié le 30/01/2018 à 16:37 par Guillaume Louel

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é.

CES: Les PC Qualcomm Snapdragon 835 en approche

Publié le 09/01/2018 à 23:02 par Guillaume Louel

Un peu plus d'un an après la première annonce de Windows ARM en partenariat avec Qualcomm, on commence à voir ces machines s'approcher petit à petit.

Annoncées pour 2017 avec le Snapdragon 835, c'est plutôt courant 2018 que l'on verra débarquer ces machines, le premier semestre étant évoqué par la société, Asus visant plus probablement le premier trimestre. Côté système d'exploitation, les choses semblent s'être compliquées un peu. Une des particularités de l'annonce de Windows 10 ARM était la couche d'émulation Win32 proposée par Microsoft. Quelque chose qui avait fâché Intel qui avait montré ses muscles côté brevets.

Aujourd'hui le message n'est pas particulièrement clair car les trois modèles annoncées, le HP Envy X2, l'Asus NovaGo et le Lenovo Miix 630 (présenté aujourd'hui au CES) sont tous livrés avec Windows 10 S, la version bridée au Windows Store du système d'exploitation de Microsoft. Il s'agit peut être d'une concession effectuée vis à vis d'Intel.

La couche d'émulation Win32 est toujours présente et utilisée pour les applis Win32 du store. Il sera possible de mettre à jour cette version de Windows S ARM en Windows 10 Pro pour ne pas être limité par ces restrictions, la plupart des constructeurs ayant annoncés des programmes de mises à jour gratuits.

Intel fâché contre l'émulation x86 W10 ARM

Publié le 09/06/2017 à 14:31 par Marc Prieur

A l'occasion des 39 ans du lancement du premier processeur x86 Intel, le 8086, le constructeur revient via un billet de blog  sur les améliorations apportées au jeu d'instructions au fil des années. Mais alors que la première moitié du billet est assez classique et mélange historique et marketing, la seconde évoque la protection juridique de ces améliorations, avec pas moins de 1600 brevets déposés dans le monde.

Intel rappelle ensuite qu'il a dû poursuivre diverses entreprises par le passé pour faire valoir ses droits, surtout à ses débuts : United Microelectronics Corporation, Advanced Micro Devices, Cyrix Corporation, Chips and Technologies, Via Technologies et plus récemment Transmeta Corporation.

Vient ensuite cette partie :

However, there have been reports that some companies may try to emulate Intel's proprietary x86 ISA without Intel's authorization. Emulation is not a new technology, and Transmeta was notably the last company to claim to have produced a compatible x86 processor using emulation (“code morphing”) techniques. Intel enforced patents relating to SIMD instruction set enhancements against Transmeta's x86 implementation even though it used emulation. In any event, Transmeta was not commercially successful, and it exited the microprocessor business 10 years ago.

Only time will tell if new attempts to emulate Intel's x86 ISA will meet a different fate. Intel welcomes lawful competition, and we are confident that Intel's microprocessors, which have been specifically optimized to implement Intel's x86 ISA for almost four decades, will deliver amazing experiences, consistency across applications, and a full breadth of consumer offerings, full manageability and IT integration for the enterprise. However, we do not welcome unlawful infringement of our patents, and we fully expect other companies to continue to respect Intel's intellectual property rights. Strong intellectual property protections make it possible for Intel to continue to invest the enormous resources required to advance Intel's dynamic x86 ISA, and Intel will maintain its vigilance to protect its innovations and investments.

Sans les citer, ce qui semblait être au premier abord un gentillet billet de blog anniversaire se transforme clairement ici en un avertissement contre l'émulation x86 actuellement mise au point par Microsoft et Qualcomm pour Windows 10 ARM qui se limite pourtant au 32-bit, et promet donc une guerre juridique à venir entre ces 3 géants !

Windows 10 ARM avec Win32, la fin du Wintel ?

Publié le 08/12/2016 à 21:28 par Marc Prieur

Lancé en 2012, Windows RT qui était une version ARM 32-bit de Windows 8 s'est avéré être un echec. Il faut dire qu'au-delà du système et des applications Windows natives, les utilisateurs n'avaient accès qu'aux applications distribuées UWP (Universal Windows Platform) c'est-à-dire distribuées via le Windows Store utilisant l'API WinRT.

Pour Windows 10 sur ARM, Microsoft a appris de cette erreur. Si cette version sera ARM 64-bit et supportera les applications UWP, elle disposera également d'une émulation native permettant d'exécuter les applications Win32, soit x86 32-bits ce qui permettra d'avoir accès à l'énorme historique d'applications Windows !

Cette version ARM 64-bit a été développée en partenariat avec Qualcomm, et si la démonstration tourne sur un Snapdragon 820 il faudra a priori atteindre le second semestre 2017 et le Snapdragon 835 en 10nm pour voir débarquer des PC équipés de Windows 10 ARM. S'il n'est pas question d'attaquer Intel sur le plan performances pures, d'autant plus avec une surcouche d'émulation, voilà qui devrait faire bouger les lignes dans le secteur de l'ultra-mobilité et éventuellement sur l'entrée de gamme, des segments sur lesquels Microsoft prenait un risque de plus en plus grand en restant uniquement associé à Intel.

Top articles