Processeurs : deux nouvelles variantes de la faille Spectre dévoilées

Nicolas Furno |

Meltdown et Spectre, les failles de sécurité découvertes dans les processeurs en début d’année n’ont probablement pas fini de faire parler d’elles. Même si des correctifs ont été rapidement distribuées par les systèmes d’exploitation et même si les constructeurs de processeurs préparent de nouvelles versions corrigées de leurs produits, il reste encore des failles à découvrir et à corriger. Pour preuve, Intel lève le voile sur deux nouvelles variantes de Spectre, notées Variant 3a et Variant 4, qui seront corrigées prochainement.

Les logos des deux failles : Meltdown à gauche, Spectre à droite (photo de base : Christiaan Colen (CC BY-SA 2.0))

Pour rappel, ces failles de sécurité ne sont pas nouvelles, elles sont liées à l’architecture même des processeurs depuis dix ans et elles touchent tous les modèles sortis depuis cette époque. C’est le fonctionnement même du processeur, à un très bas niveau, qui est remis en cause et il y a inévitablement d’autres failles de sécurité qui attendent d’être découvertes.

D’après Intel, les deux nouvelles variantes ne sont pas très dangereuses, d’autant que les mises à jour de navigateur sorties depuis le mois de janvier les bloque largement. Un correctif sera tout de même proposé pour combler ces failles de sécurité au niveau du processeur, mais il a un nouvel impact sur les performances, de l’ordre de 2 à 8 % cette fois d’après l’entreprise. Puisque les failles sont jugées peu dangereuses, le correctif ne sera pas activé par défaut, même si chaque acteur qui distribue les mises à jour de processeurs pourra choisir de l’activer pour ses utilisateurs.

Les détails et la liste des processeurs Intel concernés est disponible à cette adresse. Google Project Zero a travaillé avec Microsoft pour trouver ces deux nouvelles failles qui touchent aussi bien les processeurs d’Intel que ceux d’AMD et les processeurs ARM. Comme Intel, AMD et ARM proposeront des mises à jour, mais recommandent de ne pas les activer, puisque ces variantes sont peu dangereuses et en raison de la baisse des performances attendue.

avatar alexcmoi37 | 

A voir la liste des processeurs concernés, j’ai bien fait de pas changer mon iMac de 2009 en C2d qui tourne encore parfaitement avec un ssd (d’ailleurs plus moi c’est le meilleur des iMac)

avatar r e m y | 

"... si chaque acteur qui distribue les mises à jour de processeurs (Apple, par exemple), pourra choisir de l’activer pour ses utilisateurs."

Apple n'a jamais livré de correctif au niveau processeur, mais uniquement au niveau de l'OS et de Safari, il me semble.

avatar C1rc3@0rc | 

@r e m y

«"... si chaque acteur qui distribue les mises à jour de processeurs (Apple, par exemple), pourra choisir de l’activer pour ses utilisateurs."

Apple n'a jamais livré de correctif au niveau processeur, mais uniquement au niveau de l'OS et de Safari, il me semble.
»

En fait personne n'a jamais livré de correctif au niveau du processeur... parce que c'est simplement impossible.

Les failles de la categorie Spectre (c'est maintenant une categorie dont on apprend la publication tous les 6 mois pour chaque variante, et y a encore du monde dans la file comme je l'evoquais il y a quelques semaines) sont des failles materielles, donc non patchable, et pire que ça elle sont des failles de conception et pas simplement de réalisation.

Ce que font les "correctifs" c'est de tenter de limiter les risques d'exploitation, donc il s'appliquent a rendre moins facilement exploitables une technique particuliere de hacking, mais en aucun cas ils comblent la faille restant beante et pouvant etre exploitée par une autre methode.

Donc encore une fois, les processeurs Intel qui sont touchés par Spectre et Meltdown resteront toute leur vie des menaces de securité. C'est irremediable, incurable!

Pour les prochaines generations donc celle qui sortira au plus tot en 2019, rien ne laisse penser aujourd'hui qu'Intel soit capable de trouver une solution pour supprimer ces failles.

C'est pas que la suppression du mecanisme soit complexe ou impossible, en fait c'est meme tres simple, mais le probleme c'est que si Intel supprime le mecanisme responsable des failles, on va se retrouver avec des processeur avec des performances d'il y a 15 ans...

Bref pour faire court: aucun PC a processeur x86 (Intel ou AMD) vendu avant 2020 n'ont la moindre chance d'etre "clean" et exempt de ces failles gravissimes et definitives... Donc le mieux c'est d'attendre pour acheter une nouvelle machine...

avatar r e m y | 

@C1rc3@0rc

Je n'y connais rien, mais je me rappelle d'un contributeur qui parlait de mise à jour du microcode processeur qu'il avait réalisée sur des PC (avec la perte de performances afferente) mais sans pouvoir le faire sur les Mac de son parc de machines, faute d'avoir les patches nécessaires de la part d'Apple.
Et Intel parle bien de mise à jour processeurs que les constructeurs seraient chargés de diffuser. Je n'en ai effectivement pas vu de la part d'Apple.

avatar C1rc3@0rc | 

@r e m y
«Et Intel parle bien de mise à jour processeurs que les constructeurs seraient chargés de diffuser.»

Intel fourni des patch pour l'OS, dont certaines parties peuvent etre chargée au niveau du BIOS.
L'idee c'est d'eviter les instructions qui favorisent le mecanisme predictif. Soit l'OS intercepte ces sequences d'instructions pour les rerouter, soit il reorganise les donnees en memoires.
Microsoft a aussi proposé une modification de ses compilateurs (Intel aussi il me semble) qui prend en compte de probleme et tente de limiter les possibilites des la compilation. Bien sur ça demande que les soft soient recompilés.

Dans le cas de l'exploitation via le navigateur Web, l'idee c'est de bloquer l'execution du javascript sur lequel repose l'exploit.

En aucun cas il ne s'agit de patcher le processeur... on est sur des systemes gravé dans le silicium, hyper-optimisés qui ne sont pas modifiables.
Si c'etait possible, ça fait un moment que le probleme serait resolu. Meme au prix d'une baisse de performances importante, il y a tellement de domaine ou cette menace est catastrophique...

Seul un redesign de l'architecture profonde du processeur pourra supprimer cette "meta-faille". En attendant on va voir se multiplier les exploitations...

avatar Nicolas Furno | 

@r e m y

Je me suis peut-être un peu avancé sur ce point, en effet. ?

avatar oomu | 

au sein de mises à jour kernel ou du firmware d'un mac (ou ios) vous pouvez avoir des mises à jour du microcode du processeur.

Classiquement, ces modifications du microcode (un des premiers étages d'interprétation des instructions envoyée au processeur) sont chargées à chaque démarrage. Mettre à jour le microcode permet de mitiger voir annuler des défauts physiques d'un processeur.

avatar r e m y | 

@oomu

Mais depuis que ces failles sont connues, Apple n'a pas diffusé de telles mises à jour. Je n'en ai pas souvenir en tous cas...(une mise à jour Firmware ne passe pas inaperçue, quand on en applique une).

La seule mise à jour Firmware concerne la capacité à booter sur un disque formatté APFS lors de la 1ère installation de HighSierra.

avatar fte | 

@r e m y

"Apple n'a jamais livré de correctif au niveau processeur, mais uniquement au niveau de l'OS et de Safari, il me semble."

Dans une banque cliente, la politique interne est de démarrer les Mac sous Windows pour appliquer les patchs microcode d’Intel, vérifier leur bonne application, puis seulement débloquer les MAC des Mac en questions pour les réautoriser sur le réseau.

C’est considéré comme une faveur.

avatar r e m y | 

@fte

Et macOS fonctionne toujours une fois le micro code processeur modifié ?
Et comment, même demarré sur Windows, peut-on patcher le microcode du processeur? Le processeur, en fonctionnement, peut s'auto-patcher?

avatar fte | 

@r e m y

Oui.
Le programme de patch éteint Windows pour démarrer un programme sans OS pour mettre à jour le micro-code.
Oui, dans le bon mode de fonctionnement (pas le fonctionnement normal).

Je n’ai pas vérifié personnellement, note bien.

avatar byte_order | 

> Le processeur, en fonctionnement, peut s'auto-patcher?

Pour faire bref : oui.

Il est possible de charger dynamiquement un (ou plusieurs) blocks mettant à jour le microcode d'un CPU. Le format n'est pas connu, seule la méthode pour vérifier la signature (et la compatibilité avec le CPU présent) et pour déclencher le chargement depuis une zone mémoire est documenté par intel.

Mais ce patch disparait à chaque redémarrage, car les CPU d'Intel n'ont pas de stockage persistent interne pour conserver les microcodes. C'est donc à la charge du BIOS ou de l'OS de gérer cette conservation et leur chargement à chaque démarrage.

A ce titre, je vois mal comment Windows pourrait s'en charger quand on boot sous macOS, sauf à ce que le soft sous Windows l'installe une astuce UEFI qui serait compatible avec l'UEFI des macs. Via un daisy-chained loader UEFI, p'tet.

avatar byte_order | 

@fte
> Dans une banque cliente, la politique interne est de démarrer les Mac sous Windows
> pour appliquer les patchs microcode d’Intel, vérifier leur bonne application, puis
> seulement débloquer les MAC des Mac en questions pour les réautoriser sur le réseau.

Euh... ils n'ont plus le droit d'éteindre électriquement leur mac les gens !?
Parce que les CPU n'ayant pas de memoire persistante intégré, le chargement du microcode doit être fait à chaque démarrage, soit par le BIOS/UEFI (mais c'est loin d'être la situation idéale, en particulier parce qu'en général cela ne patch *que* le CPU de démarrage, les autres restant non patchés) soit par les premiers étages de démarrage de l'OS.

Vous pouvez patcher sous Windows, mais le microcode est perdu au prochain redémarrage à froid.

Je trouve cette politique interne particulièrement naïve...

avatar misterbrown | 

C'est que le début d'accord, d'accord..

avatar oomu | 

oui. le principe ayant été démontré comme faisable, et lié à l'architecture des processeurs modernes, vous verrez ce genre d'actu pour bien des années.

Tel le "buffer overflow", les processeurs et compilateurs vont se doter de fonctionnalités et contrôles pour limiter cette technique d'attaque.

avatar SyMich | 

Bonjour,
Je passe désormais rarement par ici (j'ai trouvé des sites anglophones beaucoup plus adaptés aux questions techniques que j'ai à traiter) mais je lis par intermittence les news.

Alors pour répondre à certains, Apple n'a effectivement diffusé aucune des mises à jour des microcodes processeurs développés par Intel.
L'intérêt, c'est que les Macs ne pâtissent pas des ralentissements que ces patch génèrent.
L'inconvenient c'est que les failles, bien que prises en compte au niveau du système d'exploitation et de Safari (en fait toutes les applications s'appuyant sur le WebKit), ne sont pas réellement comblées.
On a fait des tests en interne (sur les Macs que l'on a retiré de la circulation en les remplaçant par des HP), même avec HighSierra parfaitement à jour et toutes les mises à jour de sécurité appliquées, les failles peuvent être exploitées (que ce soit en by passant macOS ou pour certaines en passant par un navigateur autre que Safari).

avatar Bigdidou | 

"mais il a un nouvel impact sur les performances, de l’ordre de 2 à 8 % cette fois d’après l’entreprise. "

La seule question sérieuse est : quand le processeur, une fois toutes les failles corrigées (enfin, presque) tournera à - 10%, est-ce qu'on pourra voyager dans le temps avec ?

avatar Bigdidou | 

Je n'ai pas bien compris si les ARM sont aussi touchés que les x86 ni si un correctif a été déployé pour eux, et par qui..

avatar fte | 

@Bigdidou

Les ARM sont touchés (en tout cas par les premières variantes), peu de rustines ont été publiées, et uniquement par les constructeurs en bout de chaîne lorsque c’est le cas.

Il n’y a pas d’écosystème ARM, et c’est une faiblesse très importante de ces processeurs.

A vrai dire je ne serais pas surpris que les usages des processeurs ARM en embarqué dans des appareils connectés (serveurs, NAS, routeurs, bornes wifi...) chutent fortement suite à ces failles.

avatar Bigdidou | 

@fte

"A vrai dire je ne serais pas surpris que les usages des processeurs ARM en embarqué dans des appareils connectés (serveurs, NAS, routeurs, bornes wifi...) chutent fortement suite à ces failles."

Oui, merci. C'était effectivement en regardant le processeur de mes NAS que je me suis posé la question...

avatar scanmb (non vérifié) | 

A force d’avoir des patches qui prennent 8-10% des performances, on va se retrouver avec de vrais escargots et un logo « gordini » sur le capot...

avatar Nesus | 

@scanmb

C’est déjà le cas, ma surface pro est devenue un bon gros veau. Tout ça pour rien, car la faille existera toujours...

CONNEXION UTILISATEUR