Comprendre les failles Meltdown et Spectre avec des pizzas

L’information de la semaine dernière a été traversée par un événement considérable dans le vaste monde de l’informatique. Les failles Meltdown et Spectre ont été rendues publiques. Un billet pour tenter de comprendre et de bien réagir.

Je n’ai pas parlé de ce grave problème sur Minimachines, comme je n’ai pas parlé auparavant d’autres soucis de ce type. Non pas qu’il ne concerne pas mon sujet de prédilection, puisque toutes les solutions informatiques ou presque du marché sont impactées. Mais par manque de connaissance approfondie du sujet.

2018-01-08 10_36_09-minimachines.net2018-01-08 10_36_17-minimachines.net

Les Logos de Meltdown et de Spectre

Au moment où le problème a été révélé, je n’y comprenais pas grand chose et la meilleure chose à savoir alors sur ce sujet brûlant était sans doute d’attendre. Attendre que tout se décante pour éviter d’écrire n’importe quoi.

Je traite souvent de sujets que je ne maîtrise pas parfaitement. Mais dans la mesure du possible j’essaye de creuser au maximum pour ne pas écrire trop de bêtises. J’ai entendu parler pour la première fois de ma vie de l’impression d’écran OLED il y a quelques semaines mais j’ai rattrapé mon retard en me gavant d’informations et en prenant des notes avant d’écrire sur le sujet. Je n’ai pas de mérite, c’est mon métier.

Des fois, d’ailleurs, je me plante. Il m’est arrivé de comprendre des sujets à l’envers, de faire des erreurs factuelles, de vraiment écrire de travers. Mais je signe tous mes billets, je les assume et je les modifie quand je comprends où est mon erreur. Je m’excuse également quand je me plante et il m’est même arrivé de supprimer des billets totalement infondés parce que vraiment mal compris de ma part.

Mais dans tous les cas, j’engage ma bonne foi pour publier. J’écris ce que je crois et j’essaye de donner un avis argumenté sur un sujet. Quand je manque d’arguments ou de connaissances, quand je vois que la tâche à accomplir pour me mettre au niveau de celui qui comprend assez les choses pour les expliquer à ses contemporains est trop élevée, je m’abstiens.

Mais surtout quand je vois que je manque d’informations, que les chiffres lancés ça et là sont farfelus et que de l’aveu même des sources et pour des raisons évidentes de sécurité nous ne possédons pas l’ensemble des données pour parler d’un sujet de manière experte, alors je me tais. Pas par choix, par obligation. Parler sur un sujet que l’on maîtrise pas c’est possible au café du coin, pas quand on tient un blog.

C’est pour cela que je n’ai ni pas parlé de Meltdown et de Spectre, les deux failles importantes qui touchent la quasi totalité des machines modernes et qui ont été révélées la semaine passée.

2018-01-08 10_35_26-minimachines.net

« Panique à tous les étages »

J’aurais pu en parler. J’aurais pu agiter des drapeaux en flammes et titrer, comme j’ai pu le lire en France, « Panique générale » ou autres caractères bien gras sur le sujet. Des titres racoleurs et bien tristes pour la profession de journaliste car ils sont dangereux. Ils trahissent surtout une chose : La panique n’était pas du côté des ingénieurs informatiques comme certains voulaient le faire croire. La panique était au sein des rédactions qui avaient peur de passer à côté non pas de leur devoir d’information mais de la manne de clics et de visiteurs qu’un bon titre bien putassier pouvait leur rapporter en terme de publicité.

Pas de panique à bord non, et pour cause, les chercheurs qui ont trouvé la faille travaillaient à la résoudre depuis des mois avant leur divulgation en avance sur le calendrier prévu par The Register la semaine dernière. Si on imagine bien les ingénieurs en charge de la sécurité chez les fabricants et éditeurs plus que légèrement secoués le jour où les vulnérabilités ont été révélées, on est loin d’une panique et d’une urgence mise en scène par certains.

Quand on appelle un plombier parce qu’on a une grosse fuite dans sa salle de bain qui commence à déborder à l’étage du dessous, on est en panique mais le plombier n’est pas plus ému qu’à sa première fuite de chasse d’eau. Il sait qu’il va mouiller sa chemise, il sait quels outils il doit mettre dans sa camionnette et il sait qu’il va passer quelques heures à en baver. Mais il ne panique pas.

Quand un patient arrive aux urgences après un accident de la route, personne n’a paniqué hormis les éventuels témoins de l’accident. Et encore, certains gardent suffisamment la tête froide et pensent à appeler les secours. Pas un pompier n’a paniqué, ils ont fait leur job. Les urgentistes ne paniquent pas, ils auscultent et ils orientent. Les infirmières et les chirurgiens ne se mettent pas à courir comme des fous dans les couloirs en criant « OH LA LA QU’EST CE QU’ON VA FAIRE !? » Ils gardent la tête froide et se mettent au boulot.

2018-01-08 11_33_39-minimachines.net

Ingénieurs informatique en pleine panique.

Que pensez vous qu’aient fait les ingénieurs spécialisés dans la gestion de ce type de problème dans les entreprises concernées par cette faille quand ils ont été mis au courant de Meltdown et de Spectre, il ya quelques mois ? Ils ont paniqué ? Ils ont abandonné le navire ? La réponse probable est qu’ils ont mis un cachet d’aspirine dans un grand verre d’eau. Mis en marche la machine à café et appelé leur famille pour dire qu’ils rentreraient probablement assez tard voir pas du tout ce soir. Comme le font tous les gens chargés de notre protection, qu’ils soient policiers, sapeurs pompiers, urgentistes, d’astreinte pour le gaz ou l’électricité et que sais-je encore. Ce sont des professionnels et ils ne paniquent pas.

« Mais la panique, elle est à craindre chez les particuliers et les entreprises. »

Cet argument est vrai mais c’est de la faute d’une certaine presse. La panique ne naît chez les gens que parce que des gens la sèment dans des articles putassiers qui sont là pour faire du clic.

En expliquant qu’il faut vraiment avoir peur des conséquences de cette faille avec des articles de fin du monde, comme si c’était la première ou la dernière du genre et que les précédentes avaient toutes été réglées, ce sont ces articles qui créent un vent de panique.

2018-01-08 11_35_25-minimachines.net

On sait qu’à chaque fois que la presse parle de pénurie – de beurre, de sucre, d’essence ou de quoi que ce soit d’autres – c’est cela qui crée la pénurie. Les gens paniquent effectivement de ne pouvoir remplir les différents gosiers concernés et se précipitent faire leurs emplettes au maximum, vident les rayons et les pompes et créent leur propre infortune.

Quand les gens qui décryptent l’actualité informatique expliquent qu’il faut avoir peur, alors la peur s’instille dans les esprits.

Est-ce que le grand public doit avoir peur de Meltdown ou de Spectre ? L’avenir nous le dira mais, à priori, il y a beaucoup plus de chances qu’un particulier perde ses données suite à un problème matériel sur sa machine plutôt qu’on lui vole un mot de passe avec ces vulnérabilités pour s’en servir ensuite. Est-ce que l’on titre « Panique générale » alors que beaucoup de PME françaises n’ont pas de système de sauvegarde interne ? Non. Parce que ce n’est pas vendeur, c’est rébarbatif et puis, avouons le franchement c’est plus culpabilisant qu’effrayant. Et pourtant le risque est vraiment plus de ce côté.

Pendant que le journalisme du clic balançait de l’essence et des allumettes sur nos petits cerveaux, les ingénieurs en sécurité des plus grands groupes informatiques du monde bossaient à régler le problème. Si bien qu’au moment où les flammes du bûcher de la panique commençaient à consumer les internautes, on pouvait déjà lire les premiers témoignages de professionnels. Ils continuaient à lancer des vagues de mises à jour pour empêcher ces failles de produire le moindre effet.

Et de nombreux articles de chercher a faire croire à la nouveauté de la faille avec des mots choisis pour alimenter le foyer de la peur. Des mots comme « urgence » au sujet d’un patch lancé par untel ou untel est revenu de multiples fois. Comme si comprendre la faille, écrire un contre feu et le déployer se faisait d’un coup de baguette magique en quelques heures. On n’écrit pas du code aussi simplement qu’un mauvais article, cela demande déjà de comprendre comment fonctionne Meltdown et Spectre et non pas de faire un simple copié collé.

Le travail du journaliste est d’informer ses lecteurs. Or, nous venons de vivre un épisode de non information voire de désinformation pure et simple pour faire du clic.

La chronologie en cascade des articles parus ces derniers jours est édifiante. Il suffit de lire comment les premier billets Anglo-saxons ont d’abord mis en cause Intel et uniquement Intel en ne s’intéressant qu’à la partie Meltdown de l’histoire alors que Spectre impactait déjà toutes les architectures concurrentes. En précisant parfois de manière totalement trompeuse que le fondeur était le seul à proposer une technologie sensible et particulière au sein de ses puces. Sous entendant alors qu’il était le seul sujet à ces attaques. On a rapidement retrouvé des copiés collés de ces billets en France avec le même argumentaire mais sans s’intéresser le moins du monde au fond et sans comprendre comment fonctionnent nos processeurs modernes.

Puis, au fur et a mesure que les chercheurs en sécurité, et les marques, ont commencé a indiquer que toutes leurs architectures étaient impactées par Spectre avec les mêmes effets de bord…qu’ARM souffrait aussi de Meltdown sur certaines architectures de SoC. On a ajouté du scandale au premier parti pris de panique. Comme si Intel, ARM ou AMD, comme si Apple ou Qualcomm auraient pu gommer la manière dont étaient architecturés leurs processeurs. Tout le monde est impacté et donc tout le monde fait profil bas. Intel, AMD et ARM s’associent même pour faire un contre feu, conscient, eux, que le moment n’est pas à une guerre fratricide mais bien à un front commun face à l’étendue du problème.

Si tout le monde est dans le même bain, c’est parce que la méthode employée et qui ouvre cette vulnérabilité aujourd’hui était bonne et ne pas l’employer aurait été non seulement une faute technique mais également une faute commerciale vis à vis de la concurrence.

C’est exactement la même réflexion qui a poussé les différents acteurs du monde informatique à implanter dans leurs processeurs la technologie aujourd’hui mise en cause qui a poussé différentes rédactions à écrire n’importe quoi sur Meltdown et Spectre la semaine dernière.

Si les concurrents le font alors, ils faut absolument le faire sinon ils vont rafler tous les internautes. Il faut absolument en parler même si on dit n’importe quoi, même si on explique mal et même si on ne fait que rajouter de l’huile sur le feu. Sous entendu, soit plus bruyant et plus outrancier que le site concurrent. On aura peut être droit à plus de clics.

Difficile de faire le procès de la décision technique, et entre nous tout à fait valide, d’un constructeur quel qu’il soit quand on est soi-même dans la position d’un prêcheur de fausses informations qui n’hésite pas à créer de toutes pièces un vent de peur pour attirer du clic.

reactg1

reactg2

Après la peur panique, la peur d’une baisse de performances.

Deuxième étape franchement catastrophique de ce traitement particulier de l’information, l’annonce d’une baisse de performances. Annonce totalement biaisée et là encore uniquement destinée à maximiser le taux de clic.

Faire croire à des utilisateurs que du jour au lendemain, SI ils mettent a jour leurs système d’exploitation, ils allaient subir une baisse de 30% de leurs performances est totalement contre productif.

D’abord, en se penchant un tant soit peu sur les données publiées après l’annonce des vulnérabilités Meltdown et Spectre, on se rend immédiatement compte que ces chiffres ne concernent que les grosses infrastructures réseau. Les salles serveurs et autres parcs exploitant des grosses bases de données. A priori, ce n’est pas le genre de machine présente dans la maison de nos concitoyens qui sont pourtant visés par ces articles grossiers.

Le problème est que la réaction de pas mal de monde a été de conclure immédiatement qu’il n’était pas question de perdre en performances et que, donc, ils n’allaient plus mettre à jour leurs machines et même couper les futures mises à jour de leur système. Vous parlez d’un contre feu et d’un devoir d’information de la part des journalistes osant écrire ces gros titres !

L’effet de ces mises à jour n’a quasiment aucun impact mesurable sur la machine de monsieur tout le monde. D’ailleurs, personne ne s’en est aperçu alors que des patchs pour Meltdown ont déjà été déployés en 2017 pour Windows 10 et MacOS… Vous parlez d’une urgence panique.

De ce fait, après avoir mis le feu aux poudres en faisant peur aux gens, le jeu a été de leur faire comprendre que si ils réagissaient, ils y perdraient au change. Tout cela en louchant assez fort sur les chiffres communiqués pour faire croire que la situation d’une salle serveur pouvait s’appliquer aux machines de l’utilisateur moyen. Il est d’ailleurs souvent arrivé que ces articles fassent le grand écart entre un titre « clicbait » au possible promettant 30% de performances en moins et une explication plus fine relativisant ce problème dans l’article. L’important est d’attirer le visiteur après tout, pas forcément de lui mentir jusqu’au bout.

C’est déontologiquement inacceptable et cela ne s’explique vraiment que par la panique de ne pas saisir la balle au bond. De faire des articles qui vont drainer un maximum de lecteurs avec un minimum d’efforts parce que Meltdown et Spectre sont au top des recherches en ligne.

Il aurait suffit d’un appel vers un ou deux spécialistes pour comprendre la totalité des enjeux du problème, ses conséquences et son impact sur les machines.

Mais indiquer que les performances de la machine de monsieur tout le monde allaient souffrir le Jeudi permettait ensuite de revenir en arrière et de rassurer le Vendredi en écrivant qu’au final non, ouf, le problème ne se poserait pas. Même si depuis le mercredi, on avait les chiffres de l’impact réel et détaillé de ces mises à jour d’un point de vue performances.

Meltdown en action, à gauche ce qui est envoyé depuis le processeur, à droite sa traduction en clair.

Meltdown et spectre, si on essayait de comprendre

Ces vulnérabilités tiennent leur nom et leur logo de Google et de son groupe de travail en sécurité Google Project Zéro , ils ont aussi droit à leur site web . Pour autant, leur découverte a été réalisée par plusieurs chercheurs en sécurité dont certains universitaires (vous savez les universités, ces trucs qui coûtent chers et qui ne servent à rien) et des membres de l’équipe de Google.

Les dénommés Jann Horn, de Google Project Zero, Werner Haas et Thomas Prescher de la société Cyberus Technology ainsi que Daniel Gruss, Moritz Lipp, Stefan Mangard et Michael Schwarz de la Graz University of Technology sont à l’origine de la découverte de Meltdown. Jann Horn et Paul Kocher ont découvert la vulnérabilité Spectre.

Il faut leur tirer un coup de chapeau car ce sont vraiment des chevaliers blancs. Des gens plus mal intentionnés disposant de cette découverte auraient pu aller voir un gouvernement ou une mafia quelconque pour échanger ces informations contre des sommes rondelettes, basculant ainsi la faille  en gouffre dangereux.

Comme souvent dans ce type d’aventure, la vulnérabilité n’est pas révélée à cause de leur usage par de méchants pirates mais par des chercheurs qui ne vous veulent pas du mal mais plutôt du bien. Ils ne cherchent pas à récupérer vos données mais plutôt à faire en sorte que vous soyez protégés. La première chose à faire est donc de leur tirer un coup de chapeau.

Contrairement à nos habitudes, Meltdown et Spectre ne sont pas des vulnérabilités logicielles mais materielles. Cela veut dire que la façon dont ont été conçues les architectures des processeurs de nos machines est mise en cause. On ne peut pas, comme avec une vulnérabilité logicielle, se contenter de modifier du code pour régler le problème. On a un souci matériel et ce matériel est intégré dans nos machines. Il va donc falloir faire avec.

2018-01-08 11_00_09-minimachines.net

Pour bien comprendre le problème on va parler pizza.

Imaginez vous à la tête d’un camion Pizza, vous avez peu de place pour cuisiner et un seul four. Chaque centimètre compte pour votre business. Vous avez tous les soirs une file de gens qui viennent vous commander des pizzas et compte tenu du temps de cuisson et de la préparation de chacune d’elle, vous devez les servir au mieux sans trop les faire attendre.

Si un groupe débarque dans la file avec une commande de 10 pizzas compliquées, avec une préparation longue et une cuisson lente vous savez que vous allez devoir les gérer d’une manière ou d’une autre sans pour autant arrêter de servir les autres clients. Si ensuite 6 personnes différentes vous demandent des pizzas plus simples et à cuisson rapide, vous n’allez pas faire attendre les 6 suivants tout le temps de cuisson des 10 pizzas les plus longues. Vous allez faire passer les pizzas les plus rapides au fur et à mesure de la cuisson des plus lentes. Histoire de ne pas ralentir trop le service.

2018-01-08 11_02_02-minimachines.net

Les processeurs modernes fonctionnent de la même façon. Au lieu de faire cuire leurs pizzas dans l’ordre donné par la file d’attente, il leur est permis d’aller piocher plus loin dans le code pour optimiser leur temps de traitement. C’est ce qu’on appelle le Out Of Order. Au lieu de traiter les instructions nécessaires les unes à la suite des autres, on laisse le soin au matériel de prendre de l’avance dans la masse de code à traiter. C’est plus intelligent, plus pratique et surtout plus rapide car certaines tâches sont lourdes et il vaut donc mieux les anticiper. On imagine mal le Pizzaïolo refaire de la pâte dans son camion au milieu du service en expliquant aux clients qu’il va falloir attendre qu’elle repose deux ou trois heures. Tout le monde anticipe donc les tâches les plus lourdes.

Le souci posé par les vulnérabilités révélées sous le nom de Meltdown et de Spectre est lié à cette méthode de traitement particulière. Les processeurs ne vérifient pas les permissions accordées au code qu’ils anticipent. Pas avant leur exécution finale.

2018-01-08 11_45_52-minimachines.net

Si votre Pizzaiolo trouve une pizza « pirate » anchois-ananas dans la liste des pizzas à réaliser, il va prendre sa pâte, façonner la pizza et disposer les ingrédients avant de la faire cuire. Le souci ne se révélera qu’au moment où il demandera à sa clientèle « pour qui la anchois-ananas ? ». Il s’apercevra alors que personne n’a commandé celle-ci. Comprendra que c’est une erreur de prise de commande ou qu’il a mal lu et que la pizza a été préparée pour rien avant de la jeter à la poubelle sans s’alerter le moins du monde.

Dans le cadre de notre processeur, l’envoi d’une instruction compromettante ne se contenterait pas de mélanger des ingrédients improbables mais permettrait de « lire » les instructions exécutées en parallèle dans le coeur du processeur puis de communiquer celles-ci. C’est comme si la anchois-ananas disait à un pirate quelles autres pizzas étaient présentes dans le four, leurs recettes, leur temps de cuisson, tout ce qu’il se passerait dans le four au moment de sa propre cuisson.

Avec Meltdown ou Spectre, l’écoute des autres instructions permet de lire directement ce qu’il se passe dans le processeur afin de communiquer ce qui est lu vers un autre programme. Et donc de remonter des informations importantes comme des mots de passe, des logins, des images et autres données. Tout cela sans éveiller le moins du monde le moindre programme de protection comme un anti-virus.

Alors que tous les systèmes cherchent à protéger les communications internes du processeur avec le reste du système, ces vulnérabilités trouent toute l’étanchéité maintenue en place par tous les programmeurs sur les systèmes d’exploitations modernes.

Meltown est très grave et Spectre encore plus préoccupant.

Meltdown brise donc cette barrière entre actions exécutées par le processeur et le système d’exploitation. Cette vulnérabilité permet à un programme d’accéder à la mémoire d’un système. Il n’y a donc plus aucun secret sur ce qui est exécuté dans la machine.

Spectre, quant à lui, brise le caisson étanche établi directement entre les différentes applications. Normalement, une application ne peut pas voir comment se comporte une autre application et avec Spectre ce n’est plus le cas. Invisible à tout type de programme de sécurité connu jusqu’alors, la vulnérabilité permettrait à un pirate de tromper les programmes sans les alerter. Le plus vicieux pour Spectre est que les programmes pirates pourraient se comporter de manière parfaitement anodine, voire comme des premiers de la classe en terme de sécurité en respectant tous les protocoles demandés par les éditeurs en terme de protection des données. Ils travaillent sans éveiller les soupçons à un niveau materiel qui n’est pas du tout analysé par les logiciels de sécurité.

En fait, le système fait confiance à ses Pizzaïolos qui ne se rendent absolument pas compte que personne n’aurait l’idée de commander une calzone bourrée uniquement de morceaux de merguez.

2018-01-08 11_46_57-minimachines.net

Mais alors tout le monde est touché ?

Oui. Par Meltdown, tous les processeurs Intel qui exécutent des instructions Out Of Order depuis des années sont impactés. Mais cette vulnérabilité touche également des architectures Cortex ARM qui emploient ce même processus. N’essayez pas de savoir si vous êtes ou non concerné, vous l’êtes. Même si une seule de vos machine est impactée, vos données sont sensibles à ces failles.

Pour contourner le problème Meltdown, il faut demander aux puces impactées de cesser de travailler de la manière optimisée qu’elles utilisent aujourd’hui. En gros, on ne glisse plus les pizzas qu’une par une dans le four pour éviter qu’une autre pizza puisse savoir ce qu’il s’y passe. Cela ralentit le processus mais surtout lorsqu’il s’agit d’exécuter énormément de petites requêtes les unes à la suite des autres. Ce que font les serveurs qui gèrent de grosses bases de données. Les machines des particuliers ne devraient pas particulièrement sentir de ralentissement. A court terme, Meltdown est plus impactant mais des correctifs finiront par sortir pour la totalité des systèmes : Ceux de Microsoft, d’Apple et tous les dérivés de Linux.

Le plus problématique est donc du côté de Spectre car pour cette vulnérabilité cela touche tout le monde, les puces d’Intel encore une fois, mais également celles d’ARM ou d’AMD. Et donc toutes les machines du marché ou presque : ordinateurs classiques, serveurs, portables mais aussi tablettes ou smartphones en passant par les télés connectées, les TV-Box, les cartes de développement1 et autres engins du genre.

 

Le plus grave pour Spectre, c’est qu’il s’agit d’une nouvelle classe d’attaque, quelque chose de totalement inconnu des chercheurs auparavant. Alors que beaucoup de méthodes prouvant l’efficacité de ces attaques ont été publiées, il reste encore un tas d’inconnues sur les armes que la faille peut englober. En d’autres termes, on ne sait pas exactement ce qu’elles sont et quelle sera la totalité des méthodes trouvées par des pirates pour récupérer des informations sur une machine en utilisant Spectre.

Cela amène à un autre problème qui va de pair avec ce manque de vision d’ensemble du phénomène Spectre. Puisque l’on ne sait pas l’étendue des possibilités offertes par la faille aux pirates, on ne sait pas encore exactement comment s’en protéger. Si des mises à jour sortent ces derniers jours, elles ne colmateront probablement pas la totalité des trous révélés à l’avenir par spectre.

Pour être très franc, les chercheurs qui ont mené à bien ces attaques théoriques ne sont pas convaincus que l’on pourra résoudre le problème via des mises à jour et de nouveaux firmwares. Ce sont plus des rustines que des solutions miracles, il n’y a pas de vaccination anti Spectre pour le moment et il est possible qu’il n’y en ait jamais.

2018-01-08 11_50_14-minimachines.net

Alors que faire ?

Virer le Pizzaïolo semble être la solution la plus basique, si ce dernier n’arrive pas à comprendre qu’on ne glisse pas un supplément chocolat-chantilly par dessus une quatre fromages et qu’il enfourne systématiquement ses pizzas incongrues avant de demander à la cantonade « Pour qui la Régina -Chocolat ? », on se dit qu’il est bon pour trouver un autre boulot. Mais à quoi bon le virer si on doit, pour le remplacer, coller un nouveau Pizzaïolo qui fera exactement les mêmes erreurs. C’est ça le problème posé par Spectre, à terme. Il n’y a pas de processeur moderne capable de contourner cette vulnérabilité. Il va falloir attendre que le parc se renouvelle dans son ensemble aussi bien chez Intel, qu’AMD ou ARM, ce qui peut prendre des dizaines d’années.

Le plus évident est de mettre à jour très régulièrement chaque machine, c’est à dire de demander à cuire les pizzas une à une dans chaque four pour contrer Meltdown et de lister en gras au dessus de la porte quels ingrédients il ne faut pas mélanger ensemble pour Spectre. Afin d’éviter les recettes bizarres. Le problème étant qu’il y aura toujours un petit malin pour proposer une nouvelle recette de pizza non listée par les mises à jour et qu’il faudra sans cesse vérifier quand ces recettes loufoques apparaîtront. On ne peut pas dire aux systèmes de n’exécuter que tel code à la façon d’une liste blanche car cela tuerait toute innovation. Alors il faut recourir à la liste noire des codes à ne pas utiliser. Cette liste noire étant incrémentée après que des pirates se soient servi de ces codes, à la manière d’un anti-virus.

Chez les constructeurs, la problématique va être de proposer une nouvelle génération de puces débarrassée de ces failles. Cela pose de gros soucis car on ne crée pas un nouveau processeur en claquant des doigts. Il faut plusieurs années pour construire une architecture et cela veut dire que les processeurs qui sortiront dans les mois prochains seront impactés, à moins d’être salement retardés pour être modifiés en conséquence. Mais pour certaines gammes de puces, la production de masse a débuté il y a des semaines et des machines sont déjà équipées et sorties d’usine. Il y a fort à parier que la prochaine génération chez Intel, ARM ou AMD soit encore sous le coup de ces failles.

Evidemment ce sera un désastre écologique. Parce que l’industrie a tout fait pour que les machines ne soient pas modifiables et que de nombreux appareils portables ne peuvent pas être mis à jour alors que la technologie existe. Il faudra donc mettre à la benne des millions de machines parfaitement fonctionnelles, de nombreuses entreprises ne pouvant pas se permettre de continuer à prier pour qu’elles ne soient pas impactées à leur insu. Sans compter l’impact en terme de consommation énergétique représenté par l’investissement nécessaire des hébergeurs et autres centres de traitement de données qui vont voir fondre les performances de leurs parcs.

2018-01-08 11_56_24-minimachines.net

La seule et unique solution est donc de corriger les systèmes en les mettant a jour. Cela sera une course de vitesse permanente entre pirates et développeurs. Utiliser Meltdown étant plus générique, il est probable que l’attention des pirates se porte dessus pendant les mois qui viennent. L’utilisation d’un outil automatisé qui irait compromettre des millions de machines à la manière d’un virus, envoyant en masse des informations vers des serveurs qui auraient pour tâche de trier les résultats pourrait être très payant. Imaginez un système qui analyserait du contenu en masse mais qui ne réagirait qu’à la suite de remontées de chiffres ressemblant à un numéro de carte bleue. A un email et un mot de passe ou à tout ce qui toucherait une monnaie virtuelle comme le Bitcoin. Récupérer des informations serait très rentable et un tel robot logiciel pourrait se monnayer assez cher entre pirates.

Pour Spectre, l’usage de la faille semble plus complexe et donc son utilisation serait forcément plus ciblée. Ecrire une nouvelle recette pour récupérer le mot de passe Facebook d’un inconnu à l’autre bout de la planète n’a aucun sens. Pas plus que de récupérer son code de carte bleue car l’écriture du code serait plus coûteuse que le gain. Par contre, viser une personnalité, une entreprise ou un serveur particulier pourrait valoir la peine. On imagine qu’une recette pirate « dormante » mise en place sur un serveur pourrait se déclencher de manière répétée pour écouter des informations et les transmettre petit à petit pendant des mois. Une telle attaque serait complexe à mettre en place mais pourrait être véritablement payante pour voler, par exemple, des secrets industriels.

2018-01-08 11_53_35-minimachines.net

La seule issue est donc dans la mise à jour de vos machines. Patchez vos systèmes, fouillez les mises à jour et provoquez les.

Vous pourrez ainsi prendre en compte l’estime des constructeurs dans lesquels vous avez eu confiance. J’ai comme un doute que l’on ne voie pas de mises à jour aussi rapides et aussi systématiques pour les anciens systèmes que pour les nouveaux. Que ce soit logiciel ou materiel, tout ce qui n’a plus de valeur sur le marché sera traité en dernier lieu, si jamais c’est effectivement traité. Je doute que les smartphones de plus de 3 ou 4 ans bénéficient d’une quelconque mise à jour pour Spectre. Aucun fabricant ne paiera des ingénieurs pour mener à bien des correctifs et les envoyer vers les machines les plus anciennes.

Si vous avez un engin qui est mis à jour, Meltdown devrait rapidement ne plus être qu’un mauvais souvenir. Quand à Spectre, il planera toujours comme une épée de Damocles au dessus de votre tête. Mais avec un tout petit peu de chance, cela ne devrait pas vous affecter. Si, par contre, vos équipements ne sont pas mis à jour d’ici quelques semaines, il sera temps de ne plus les utiliser. Du moins de ne plus les connecter au réseau.

Vous n’avez donc pas à paniquer, il s’agit d’un énième épisode de la guerre qui se mène entre les différents protagonistes de ce milieu. Les gentils chercheurs en sécurité d’un côté, les méchants pirates qui veulent récupérer des données de l’autre. Sachant que la menace la plus forte pour vous simple particulier sera celle d’un « pirate » demi-sel qui achètera un script prêt à l’emploi. Un script écrit par un autre qui utilisera une vulnérabilité probablement déjà identifiée et qui laissera mouliner un serveur pour l’utiliser. C’est lui qui pourra éventuellement récupérer des informations vous concernant car vous pourrez peut être vous retrouver dans le grand filet tendu par son robot numérique. Si vous mettez à jour votre machine, il y a de fortes chances que son script ne lui serve à rien.

Une seule conclusion :  Surfez couverts

Notes :

  1. La fondation Raspberry Pi explique pourquoi sa carte n’est pas impactée et c’est intéressant à lire au passage. En gros, le fait d’employer une vieille architecture ARM les sauve de Spectre.

Soutenez Minimachines avec un don mensuel : C'est la solution la plus souple et la plus intéressante pour moi. Vous pouvez participer via un abonnement mensuel en cliquant sur un lien ci dessous.
2,5€ par mois 5€ par mois 10€ par mois Le montant de votre choix

Gérez votre abonnement

60 commentaires sur ce sujet.
  • 8 janvier 2018 - 12 h 35 min

    Intéressant, merci.

    Répondre
  • 8 janvier 2018 - 12 h 42 min

    Personnellement je suis assez énervé par cette histoire car demain arrive le patch tuesday de Windows, qui est réputé baisser la performance de 5% à 30%. J’ai un parc informatique vieillissant mais performant gràce à divers i7 et i5 qui jusque là étaient des merveilles de CPU. Je me demande comment Intel et les autres peuvent échapper à une indemnisation sérieuse des clients. Je ne sais pas s’il est possible de refuser cette mise à jour, qui va probablement faire partie d’un lot de mises à jour cumulatives. En même temps, le risque parait très sérieux.

    Répondre
  • 8 janvier 2018 - 13 h 23 min

    @Pierre, quelques précisions :
    * Les CPU CISC (x86/64) d’aujourd’hui se mettent bien à jour via microcode. Dans ce cas précis c’est un défaut de conception (Out of Order/Speculatif) qui ne peut être corrigé.
    * L’attaque par canal auxiliaire n’a rien de nouveau, on attaquait déjà le RSA il y a 20 ans avec ça.
    * Tous les proc ARM ne sont pas égaux, les cores A7/A53 par exemple ne sont pas impactés – beaucoup de nos tvBox vont échapper belle cette fois-ci.

    Répondre
  • Dan
    8 janvier 2018 - 13 h 24 min

    Bravo Pierre pour cet excellent article !
    Si je comprends bien «Out Of Order» ça veut dire que mon proc fait du «traitement parallèle» sans que je le sache.
    Cette techno «Out Of Order» est utilisée dans les anciens procs mono coeur ?

    Répondre
  • 8 janvier 2018 - 13 h 36 min

    Les 2 failles ont été révélées le 3 janvier au lieu du 9 janvier, pour d’après l’équipe Google limiter les risques d’exploitation.

    Toutes les MAJ ne sont pas encore disponibles. Le patch pour windows-10 et windows-7 peut entrainer d’autres problèmes sur certaines architectures, un correctif est prévu pour le patch-tuesday, c’est à dire demain. Au niveau Linux, le correctif n’est toujours pas disponible pour toutes les distributions, non pas à cause d’un problème du côté des développeurs linux, mais du côté des éditeurs des distributions (cf ubuntu qui n’a toujours pas de correctifs !). Néanmoins, un correctif pour Firefox est disponible pour limiter temporairement le problème.

    Pour moi, il s’agit de failles préoccupantes. Surtout qu’elles ne laissent aucune trace. Voler un mot de passe n’est pas anodin, surtout lorsque les gens utilisent le même mot de passe sur tous les sites qu’ils visitent. Le temps est limité, développer une méthode d’attaque ne doit prendre que quelques heures.

    Lire également cet article intéressant sur une possibilité de récolte d’informations, hors sujet meltdown et spectre, mais qui pourrait être utilisée pour ces 2 failles : https://hackernoon.com/im-harvesting-credit-card-numbers-and-passwords-from-your-site-here-s-how-9a8cb347c5b5

    Répondre
  • 8 janvier 2018 - 13 h 41 min

    @Dan: Tous les proc intel depuis 1995 sauf Itanium et Atom avant 2013.

    Répondre
  • 8 janvier 2018 - 13 h 47 min

    Deux remarques de la part d’un simple lecteur de blog et sites spécialisés :

    1/ sans leur faire de la pub, NextInpact à sorti assez tôt un article sur le sujet assez bien documenté. Et de plus il y a des des commentaires assez pointus de la part de lecteurs visiblement plus au fait que moi.

    2/ Intel soutient qu’il ne s’agit pas de bug. En effet il s’agirait d’attaques de nouvelle génération au quelle personne n’avait pensé ou imaginé. Pourquoi pas, mais on reste dans la merde.

    À cela s’ajoute des scripts de régies de pub capables de piquer identifiant et mot de passe conservés par votre navigateur et ce sans action de votre part.

    Y a pas à dire, 2018 débute bien.

    Répondre
  • 8 janvier 2018 - 14 h 05 min

    @Xanxi: Non, a moins que tu gères une salle serveur, tes performances ne seront pas spécialement affectées. Ta vie sera bien plus affectée par une faille de tes identifiants que par une mini baisse de vitesse de CPU.

    @anne: Merci pour les précisions, je n’ai pas la prétention de faire un billet encyclopédique et ma comparaison avec des pizzas est là parce que c’est ce que j’ai trouvé de mieux pour expliquer comment cela fonctionnait à des amis. Rien de plus.
    Pour les TV-Box le problème est que la plupart du temps il n’y a pas d’OTA de la part des fabricants. Qu’ils soient connus ou non. Du coup quand elles sont impactées elles restent impactées. Cela dit il est rare que l’on se serve de sa CB sur sa TV Box.

    @Dan: Le problème est pas de savoir si une machine est sauve, c’est que dans l’ensemble des machines que tu utilises il y en a forcément une qui ne l’est pas. Du coup toute la chaîne est compromise.

    @Dang: Je ne jette pas le bébé avec l’eau du bain. Certains articles sont excellents et NXI n’est pas connu pour son côté clicbait, ils ont un autre modèle éco. Le soucis est dans la titraille et les moyens employés par des sites prestigieux et/ou grand public qui ont réussi a écrire des trucs incroyables d’incompétence et vraiment problématiques dans leur approche. Et cela clairement pour le clic car les papiers sur lesquels ils s’appuyaient pour écrire étaient clairement formulés et détaillés. Ils ont fait exprès de mal comprendre pour faire du clic. Ça me dérange.

    Imagine un journal qui titrerait « 30% de plaisir en moins avec un préservatif », là c’est des gros titres du type « 30% de performances en moins avec les mises à jour ». Non seulement le chiffre est faux mais en plus il met en danger les gens en leur faisant prendre le réflexe d’un contrepied à la seule option valable qui est la mise à jour.

    Répondre
  • Dan
    8 janvier 2018 - 14 h 19 min

    @anne:
    depuis 1995 ! :) moi qui croyait que les procs multi coeurs c’était fait pour les architectures parallèles et à condition que les programmes soient écrits et optimisés pour ça.

    Répondre
  • 8 janvier 2018 - 14 h 26 min

    je vais donc pouvoir me prévaloir d’un « vice caché » pour demander à mon vendeur de me fournir, à ses frais, un autre PC équivalent à celui que je lui ai acheté il y a 4 ans. Naturellement je refuse la mise à jour proposée puisqu’elle fait perdre 30% de puissance de calcul, altérant de « façon substantielle les caractéristiques » du bien vendu.

    Répondre
  • 8 janvier 2018 - 14 h 31 min
  • Ted
    8 janvier 2018 - 14 h 40 min

    super article très intéressant et éclairant.
    Merci.

    une petite erreur de grammaire : « En d’autres terme on ne sait pas exactement qu’elles sont et qu’elles seront la totalité des méthodes trouvées par des pirates pour récupérer des informations sur une machine en utilisant Spectre. »
    il faudrait écrire « quelles »

    Répondre
  • 8 janvier 2018 - 14 h 41 min

    Bon, c’est décidé, Pierre si tu ouvres un food truc Pizza, je serais client, je te prendrais en premier une Spéciale Océan Breizh…. Tout ton raisonnement sur les Pizzas m’a l’air superbement optimisé, et tu m’as mis en appétit…

    Plus sérieusement, j’avoue que j’étais largué par toutes les alarmes « approximatives » de certains de mes sites « grand publique » habituels. Cette histoire de -30% m’avait laissé dubitatif, quant à ces failles potentielles… Ma fois, étant adepte des réseaux sociaux, d’Android, de Ios, de Windows, etc… il y a bien longtemps que j’ai compris que mes terminaux étaient de véritables passoires. Donc, un peu plus, un peu moins… A moins de jeter tous mes gadgets et de retourner au papier, crayon, gomme, je ne vois pas comment on peut sérieusement se prémunir des aléas du tout numérique d’aujourd’hui.

    Répondre
  • 8 janvier 2018 - 14 h 55 min

    en matière de sécu info, j’aime bien zataz (oui bon, mais ça fait tellement looooongtemps)
    sinon, https://www.malekal.com/
    là, on parle

    sinon pour vos linux, vérifiez vos logs de mises à jour
    les « linux micrcode intel ou amd64 » sont là pour ça

    spectre, c’est chiant quand même
    (je pense à mon syno, mon vpn etc etc, pas mes becanes perso)

    Répondre
  • Dan
    8 janvier 2018 - 15 h 07 min

    Tapez out of order dans google
    ça donne la traduction en french : HORS SERVICE

    c’est balèze ! lol

    Répondre
  • 8 janvier 2018 - 15 h 24 min

    Bravo Pierre. Ces affirmations t’honorent.
    Et je suis heureux de constater que tu es en ligne avec mes observations : que la presse ne fait que suivre l’argent. Après s’être accoquiner avec la publicité jusqu’à en perdre son âme elle poursuit à présent sa boulimie de pub avec les clics.
    Ce n’est donc plus l’intérêt d’informer le lecteur qui prévaut mais l’intérêt d’attirer le chaland.
    Et pour attirer le chaland rien de mieux que de faire briller des trucs et de … faire PEUR.
    Bon, donc rien de franchement différent avec un amuseur de rue.
    Mais ce n’est pas nouveau : fin XIXème il en était déjà ainsi avec des titres accrocheurs destinés à attraper le badaud.

    Je m’occupe de cybersécu :). Et voilà ce que j’ai déclaré en interne : que oui, c’était pénible car cela ajoutait une nouvelle menace à la très très très très longue liste déjà établie. Mais qu’avant de se préoccuper de Spectre et Meltdown nous devions nous assurer que les espaces noyau n’étaient déjà pas compromis par le biais de techniques bien plus classiques d’escalade de privilèges suite à faille d’une bibliothèque, à une mauvaise configuration des rôles ou de l’ingénierie sociale sur un administrateur.
    Et ces 3 conditions là rendent le souci bien plus réel et permanent que les ouh ouh fantomatiques et la fonte des neiges.
    In fine, Ou ouh et ce Meltdown impactent ceux qui ont déjà fait l’effort de circonscrire les 3 vulnérabilités que je viens de lister parce qu’ils sont plus matures et/ou ils ont des secrets à protéger sans compromis. Ce sont ceux-là qui sont réellement concernés.
    Et ceux-là sont rares.

    On notera tout de même que l’on en est arrivé là pour des raisons de performance. Dans les 2 cas, il s’est agi, pour le ou les fondeurs/constructeurs de choisir des compromis valorisant la vitesse au détriment de la sécurité.
    Ce choix est à rapprocher de celui d’Infineon, révélé cet automne, toujours par un chercheur : avoir réduit volontairement l’aspect aléatoire de la génération de clé pour des raisons de performance. Et ce, au détriment donc de la sécurité car, partant, il est plus facile de trouver la clé privée à partir de la clé publique lorsque la biclé est générée par la puce. Bon, ce n’est pas à la portée de M. Tout le Monde, c’est complexe et c’est donc très cher (de qq milliers à plusieurs dizaines de milliers d’euros).
    Mais lorsqu’une telle clé protège des secrets bancaires ou militaires, certains n’hésitent pas.

    À côté de cela des soucis plus fondamentaux passent totalement inaperçus.
    C’est le cas des instructions SGX2.
    SGX est un système de conteneurisation de la mémoire gérée par un processeur Intel : l’espace mémoire enclavé est chiffré par une clé que seul le proc possède (en interne) et que la NSA doit connaître :) et est géré de manière complètement isolé des processus non enclavés. Les choses ne pas simples et, en réalité, il est très compliqué d’enclaver une application ou des applications sans enclaver tout le reste de l’OS.
    Dans l’instant on ignore quels sont les impacts du fantôme et de la glace sur les enclaves que ce jeu d’instructions peut créer.
    Mais, en mars 2017, un chercheur a démontré qu’un host pouvait être contaminé par un maliciel hébergé dans une telle enclave et ce, sans qu’aucun signal ne permettre de déceler l’attaque de l’intérieur. Les signaux sont volontairement coupés par Intel dans le cas d’une enclave. C’est con.

    Bref, si on ne peut plus faire confiance à un système hardware (firmware en fait) d’isolation de processus c’est une bonne partie de la justification de l’informatique en nuage qui tombe (même si bien peu nombreux sont les hébergeurs qui utilisent à ce jour les instructions SGX2).

    Finalement, ces constructeurs/fondeurs/éditeurs ne valent pas mieux que la presse que nous dénonçons : pour attirer le chaland il faut paraître mieux faire que le voisin. Et pour faire mieux il faut parler brillants, vitesse, nombre, de celui qui a la plus grosse. Il faut causer sexy. La sécurité c’est pas sexy. De toutes les manières personne n’y comprend rien. Mais c’est super-pratique pour faire peur.

    Et la peur … ça fait vendre !

    db

    Répondre
  • 8 janvier 2018 - 15 h 37 min

    Bonjour,
    Merci pour l’article
    Une petite video de 3 mns pour illustrer le probleme, mais l’explication de Pierre est bien mieux ^^

    Répondre
  • 8 janvier 2018 - 15 h 52 min

    bonjour.

    le patch windows semblent etre arrivé. mais les tests sont fait avec des machines peu impactées type i7.

    il y a des retour de tests fait avec nos minimachines sous atom ou celeron. a priori qui subiront le plus gros ralentissement ?

    Répondre
  • 8 janvier 2018 - 16 h 05 min
  • 8 janvier 2018 - 17 h 12 min

    Magnifique ils ont enfin trouver la recette pour relancer les ventes de PC qui sont moribondent ! les actions Intel & Amd vont grimper…

    Répondre
  • 8 janvier 2018 - 18 h 36 min

    @Pierre Lecourt:
    Non, c’est caramel et saucisse flambée au chouchen …
    et la pâte, au sarrasin, est très très fine :)

    Mais tout n’est pas perdu, ça s’accompagne de cidre, ou de bière, au choix,

    Cdlt

    PS : très bon article, juste compliqué comme il faut, mais à ne surtout pas lire quand ton chat a décidé que c’est sur tes genoux qu’il sera le mieux pour jouer avec sa souris en peluche :)

    Emmanuel, breton d’adoption

    Répondre
  • 8 janvier 2018 - 18 h 55 min

    Au delà de l’aspect informatif du billet, j’adore le préambule qui me rappelle de temps à autre que l’intégrité du site est une des meilleures bonnes raisons de suivre Blogeee, heu Minimachines, depuis toutes ces années! Merci, Pierre!

    Répondre
  • 8 janvier 2018 - 19 h 07 min

    Je pourrais avoir un petit résumé ? C’est vraiment long à lire :/
    Sinon tant pis ,j’attendrais la sortie du film. :p

    Répondre
  • 8 janvier 2018 - 19 h 11 min

    Enfin un article où le problème est bien expliqué …
    Bon le problème est que j’ai grave envie d’une pizza tout de suite !!!!

    Sinon, même pas peur, je suis toujours sur XP avec mon ordi principal, ça poutre encore bien :)

    Répondre
  • 8 janvier 2018 - 19 h 19 min

    @titi95830: Non avec toute cette presse, il semblerait qu’Intel ait enregistré une chute de 11% en bourse et qu’AMD en ait gagné 5% depuis quelques jours. Intel perd pas mal en termes d’image.
    Linus Torvalds (le fondateur de Linux) a été particulièrement virulent à l’encontre d’Intel (en gros, si j’ai bien compris), il a demandé comment il était possible d’autoriser un système out-of-order sans le sécuriser au minimum (ce qui est le cas d’AMD, bien qu’on sait qu’AMD est quand même impacté par au moins une des variantes de Spectre).

    Répondre
  • 8 janvier 2018 - 19 h 36 min

    @MacGivre: imaginons que quand Optimus Prime veuille se transformer en camion, il souhaite que sa quantité de carburant, son kilométrage, son autonomie de batterie, l’armement des missiles, et la radio qu’il écoute soient tenues secrètes.

    Et que pour fonctionner, le calculateur du camion a besoin de gérer certains de ces éléments en parallèles en téléchargeant parfois des programmes depuis le Net parce qu’Optimus Prime, en mode combat, il a pas le temps d’attendre d’alimenter la batterie, puis de vérifier le kilométrage, puis la quantité de carburant, combient il lui reste de missiles, puis la radio, tout ça l’un après l’autre.

    Eh bah, grosso-modo (de chez grosso-modo), imagine qu’un des programmes téléchargés par le calculateur est malveillant (tout en étant 100% interprété comme normal par son calculateur), parce qu’il se déclenche avec les autres programmes et peut donc connaître toutes les infos qu’Optimus Prime voulait garder secret, puis les envoie sur le Net à Mégatron, le méchant, qui peut donc savoir qu’il reste à Optimus Prime 0 missiles, et qu’il écoutait Radio Transformers 109.5 FM.

    Pour palier au souci, il faut donc qu’Optimus Prime passe chez Speedy changer son calculo (cher), ou se le faire flasher (moins cher) mais avec le risque de pas avoir complètement résolu le problème.

    Voilà plus ou moins l’idée.

    Répondre
  • 8 janvier 2018 - 20 h 14 min

    @prog-amateur: Pour le moment oui, c’est pour faire genre ‘oh les vilains c’est pas bien’ mais dès que les ventes de processeurs vont décoller, l’action va grimper à fond,
    Linus Torvalds peut toujours vociférer tant qu’il veut, Intel a un quasi monopole donc… belle affaire pour eux à terme.

    Ça tombe pile poil après encore une année catastrophique pour les ventes de PC.

    Oh la vilaine théorie du complot ! c’est pas bien ça.

    Allez j’arrête là ma mauvaise fois, en tout cas, merci Pierre pour ton site toujours aussi intéressant et nécessaire.

    Répondre
  • 8 janvier 2018 - 21 h 09 min
  • 8 janvier 2018 - 21 h 51 min

    Bonjour,
    Mon n2807 n’a pas l’air de mouliner moins vite (et y’a pas une réserve de puissance ;). Mon vieux p6200 non plus.

    Par contre, j’ai trouvé pratique les liens de l’article putaclic de Ginjfo, vers les correctifs Windows (qui ne seront pas forcément dans le patch de demain). Peut être aurais-tu pu les ajouter ?

    Pour l’info sur cet événement, Hardware.fr a sorti un article titrant « perte de perfs côtés serveurs » puis le lendemain d’un autre article (bien complet également) pour l’aspect côté particulier. Et les commentaires sont parfois niveau bistrot du coin, mais parfois y’a des pavés très bien écrits dont on sent la maîtrise du sujet.

    Comme tu dis, ils font front ensemble, et rien de plus parasite que les fanboys d’une marque ou d’une autre quand on tient un sujet complexe comme celui ci.

    Super article, bien sur.

    Répondre
  • 8 janvier 2018 - 21 h 56 min

    @arpenteur: Pas mal de monde aurait du commencer par aller lire le billet de HFR avant d’écrire un mot. Ca aurait évité des problèmes effectivement.

    J’a pas lu l’article de Gifinfo, je ne sais pas ce qu’ils ont écrit. Ce qui me chagrine c’est plus la presse nationale avec des moyens et une grosse réserve de lecteurs…

    Répondre
  • 8 janvier 2018 - 22 h 26 min

    Alors…
    Je suis pas journaliste…
    Je suis pas informaticien…
    J ai quelques petites connaissances informatiques (tres limitées), un bon petit background Web et Marketing
    et un soif permanente d apprendre et de découvrir et franchement… Bravo !
    Bravo pour ton analyse Pierre !
    Ton introduction sur ton humilité, ta patience a comprendre avant d’écrire, ton regard sur la bronca journalistique, la vulgarisation intelligente utilisée sont pour moi une leçon que beaucoup devraient appliquer au quotidien
    Bravo pour cet article sain, honnête, intéressant, intelligent.

    Merci !

    Répondre
  • 8 janvier 2018 - 23 h 06 min

    Ce qui est intéressent c’est qu’à 1 semaine d’intervalle on entends 1 équipe de chercheurs qui va livrer un patch pour craquer la switch via une faille hardware et qui n’a pas peur d’une mise à jour nintendo et de l’autre une faille hardware qui va être patcher sans souci. Que ce soit faux ou vrai les gens vont perdre confiance dans un cas et acheter dans l’autre ^^

    Répondre
  • 8 janvier 2018 - 23 h 16 min

    @anne:

    C’est faux d’après intel c’est après 2011 c’est à dire la 2 eme génération de i3,i5,i7 : donc avant sandy bridge.

    Répondre
  • yan
    9 janvier 2018 - 7 h 34 min

    @Dan:
    Ici, on parle en fait de parallélisme intra-coeur (et non inter-coeur dans une architecture multi-coeurs): Pour alimenter le plus possible en continu toutes les unités d’execution d’un coeur (unités arithmétiques et logiques, flottantes, load/store…) le processeur peut réordonner des instructions tant qu’il ne rencontre pas une instruction dite « barrier » (existe en data et instruction), forcant toutes les instructions ou échanges avec IO/mémoire (selon barrier instruction ou data) faits avant la barrier dans le code à être réalisées avant de passer à la suite. Utile pour les cas ou l’on doit être assuré de l’ordre de ce que l’on fait (surtout au démarrage et lors de l’init du matériel par les drivers, voire pour gérer les files de buffer servant à un controleur réseau ou autre)… et pour pallier à spectre désormais, sans doute, pour ne pas désactiver l’OOO ce qui n’est pas viable (possible?) mais imposera avec une recompilation nécessaire de tout l’applicatif avec des chaines de compilation mises à jour pour placer une barrier data après chaque instruction de branchement (pouvant mener à execution spéculative de code post-branchement, si mal anticipế).

    Répondre
  • yan
    9 janvier 2018 - 8 h 49 min

    @Gaduc:
    Il y a toujours des compromis pour atteindre de la performance… Je dirais qu’Intel a joué alors que les attaques de ce type ne sont pas vraiment nouvelles, comptant sans doute sur la difficulté d’avoir une exploitation stable/reproductible: Pas de bol, certains y sont arrivés.
    Si AMD, qui aurait géré des contextes de sécurité au niveau des caches permettant de les rendre insensibles à meltdown et moins sensible (avec quand même l’impact possible de devoir faire plusieurs tâches là ou on faisait plusieurs threads, surtout pour l’applicatif en frontal sur l’internet) à spectre, pouvait en bénéficier pour ré-équilibrer la concurrence ce serait au moins un aspect positif de cette histoire… en attendant les vocations que ne vont pas manquer pour cibler d’autres aspects des optimisations processeur.

    Répondre
  • Dan
    9 janvier 2018 - 10 h 45 min

    @yan:
    Merci pour tes explications, en effet personnellement j’en étais resté au traitement parallèle multi-coeurs (ou multi-procs), j’ignorais cette techno sur un seul coeur.

    Je préfère employer le terme proc que coeur, car à ma connaissance (limitée), le traitement parallèle c’était plutôt réservé à des procs RISC, je suis surpris de voir que des procs CISC soient utilisés dans ce cas là.

    Répondre
  • yan
    9 janvier 2018 - 13 h 08 min

    @Dan:
    Le ooo (execution out-of-order) a précédé le multi-coeur (avant d’en mettre plusieurs, il fallait déjà optimiser ce qui pouvait l’être dans un seul) et est assez indépendant de l’architecture CISC/RISC. Surtout que les premières sont en général désormais en fait du RISC, les instructions CISC étant découpées en interne.

    Au final, les seules machines pas trop antédiluviennes qui ne soient pas touchées sont les vieux netbook avec leurs Atom d’alors, d’execution in-order (un peu compensé niveau perte de perf par l’hyper-threading).

    A noter que la faille la plus difficilement patchable (spectre), même si de moindre portée, aurait pu être contrée si Intel avait permis la configuration de la prédiction de branchement dynamique (l’exploit faisant en sorte de perturber les statistiques internes au processeur servant à cette prédiction, afin de provoquer une exécution spéculative à coup sûr de lecture de données sans contrôle!). Avec ceci, il n’aurait pas été nécessaire de recompiler tous les applicatifs avec des chaînes de compilation capables d’introduire les instructions rendant l’exploitation impossible, sur chaque branchement. L’impact perf aurait aussi été moins fort que de bloquer les unités load/store après chaque branch, s’il n’y a pas de solution plus fine au problème.

    Sans compter que nombreux sont les applis métier dans des secteurs poussiéreux comme le bancaire… dont on a perdu les sources depuis longtemps et qu’il sera impossible de simplement recompiler. Re-compilation qui ne sera pas non plus forcément sans poser des tas de problèmes: Sources qui ne compilent plus avec les chaines de compil actuelles qui sont plus strictes… problèmes fins d’accès concurrents et autres donnant des programmes qui « tombaient en marche » avec le séquencement des instructions présent actuellement et qui pourraient voir des bugs cachés apparaître! AMHA, il y a des secteurs ou ça va quand même générer pas mal de boulot. Les bugs hardware sont de toutes manières toujours les plus problématiques, surtout quand les réglages manquent:

    J’ai pour ma part fait beaucoup de powerPC à bas niveau et sur tous ceux sur lesquels j’ai pu travailler avaient une prédiction de branchement que l’on devait activer explicitement. D’ailleurs, à tous niveaux, les optimisations processeur apparues ces 2 dernières décennies étaient très finement configurables. Chez Intel ce n’est pas le cas, au moins pas de façon documentée…

    Si cette boite de pandore de l’exploitation de ces optimisations a des suites, ils vont un peu s’en mordre les c…..!

    Répondre
  • 9 janvier 2018 - 15 h 08 min

    @Dang:
    Les attaques basées sur l’analyse du temps sont connues depuis longtemps. Comme celles basées sur la consommation d’énergie.
    On les utilise en cryptographie depuis, je pense, plus de 15 ans, des valeurs de paramètres d’algo de fonction cryptographique et, in fine, découvrir des clés.

    Ici, il s’agit de découvrir quel est le mapping des adresses mémoire (table de translation). C’est une valeur de paramètres.
    Cela fait plusieurs années que la recherche de ce mapping bat son plein.
    D’où la <> de ces adresses via ASLR (https://en.wikipedia.org/wiki/Address_space_layout_randomization) par exemple dont les premières implantations remontent à l’an de grâce 2001 mais qui ne s’est vraiment déployée qu’à partir des années 2010. Auparavant, mettre de l’aléa sur une adresse de base mémoire lorsqu’il n’y a pas beaucoup de mémoire, c’était un peu pisser dans un violon.

    Quoi qu’il en soit, une fois de plus, l’origine de la faille est à chercher dans la course au profit, la compétition et le je-m’en-foutisme eut égard au client.

    Mélanger un jeu de cartes ça prend du temps. Plus on mélange mieux les cartes sont battues (si on a un bon algo de mélange). En faisant l’impasse sur cette agitation de départ, les fondeurs/constructeurs ont gagné du temps, certes.
    Mais à quel prix ?

    db

    Répondre
  • 9 janvier 2018 - 16 h 17 min

    Ce qui est rassurant c’est qu’il y a une porte de sortie de secours. Comme la evga x299 dark qui me plait beaucoup. Si vous aimez osciller. :)

    Répondre
  • 10 janvier 2018 - 17 h 45 min

    même mon netbook Medion Akoya avec un Atom 1.6ghz sous WinXP daté de 2008 est impacté. Microsoft avait sorti un ultime patch pour Wannacry. je doute qu’il y ait encore une maj pour ce vieil OS qui me sert encore. :/

    Répondre
  • 10 janvier 2018 - 18 h 14 min

    @Qsdf Klm: Euh XP est une vraie passoire aujourd’hui de toutes façons non ?

    Répondre
  • 13 janvier 2018 - 3 h 04 min

    Merci pour l’article, c’est très bien écrit, ça met les points sur les i, et les explications sont assez simples pour être comprises mais assez précises pour ne pas faire de contresens. Donc c’est cool !

    Je me permets de linker un autre article de bonne qualité sur Meltdown et Spectre (y’en a pas des masses alors il faut en profiter), fait par AnandTech. Des gens sérieux, donc. Il utilise un peu plus de jargon technique, mais du coup ça rentre un petit peu plus dans les détails :
    https://www.anandtech.com/show/12214/understanding-meltdown-and-spectre

    Eux disent que c’est corrigeable par software, ce qui n’est pas faux en soi même pour Spectre, mais ta conclusion qu’il faut mettre à jour la « liste noire d’instructions à ne pas exécuter en même temps » est un peu plus proche de la réalité (mises à jours constantes, quoi).

    Enfin, cet article est le seul qui parle du comportement stupide et dangereux de la presse, et surtout de la presse en ligne (la plus lue aujourd’hui, je pense!), pour la popularité des articles, dans cette affaire. Mais qui reste didactique et accessible, au moins pour un public qui a une vague idée de ce qu’il y a dans un PC, mais pas spécialiste. Le genre de truc que j’aurai quand même du mal à montrer à ma mère, mais aucun souci à faire lire à mon économiste de frère. Bref, c’est un article exceptionnel, bravo.

    Répondre
  • 13 janvier 2018 - 3 h 42 min

    Oh, allez, petite précision technique sur comment fonctionne le processeur / pizaïolo :

    Le mécanisme de « réagencement des pizzas » que tu décris, c’est bien l’Out-of-Order. C’est le fait de pouvoir réagencer les instructions. Par contre, ce qui est utilisé par Meltdown, c’est le mécanisme qui exécute les instructions avant qu’elles soient demandées, c’est l’exécution spéculative (on tente de prédire le prochain truc à faire). C’est complémentaire, mais différent. En gros, si le processeur s’apperçoit que 100 fois de suite, il valide une condition « a>b », bah il va commencer à charger et même à exécuter les prochaines instructions qui correspondent à cette condition.

    Pour reprendre ton analogie, si j’ai 100 clients qui à la suite demandent une pizza pepperoni à mon pizaïolo, si un 101-ème client arrive, mon pizaïolo va commencer à sortir des garnitures pepperoni, parce que c’est quand même vachement probable qu’on lui en redemande une. Alors, dans la vie, peut-être pas, mais dans les programmes informatiques, c’est très fréquent.

    Et tout le problème, c’est qu’avec Meltdown, comme tu l’as bien dit, on peut faire passer une pizza-espion comme étant « la prochaine pizza qui sera probablement demandée ». Comment faire ce choix, c’est touffu, l’OOo joue un rôle, la prédiction de branche aussi… Mais en pratique, on écrit des instructions de sorte à berner le processeur sur l’ordre qu’il faudrait qu’il prenne. Ainsi, il exécute une instruction quand il faut pas, par exemple à un moment où d’autres informations sont déjà en cours d’exécution, donc sont vulnérables (les pizzas en cours de cuisson dans le four, que notre pizza-espion peut analyser).

    Donc pour résumer, on a 1) la possibilité de réordonner les commandes de pizzas (Out-of-Order), ce qui implique qu’il faut déterminer quelles commandes sont les plus susceptibles d’être les prochaines (prédiction de branche). Et tout le souci, c’est que quand on a décidé quelle prochaine pizza on prédit, on prépare en avance la pizza pour de vrai (exécution spéculative), donc en particulier à un moment où des pizzas qui sont censées être secrètes sont en train de cuire.

    J’espère ne pas avoir fait de bêtises dans mon explication, évidememnt corrigez-moi si y’a un souci. Sources : mes cours d’architecture processeurs, et surtout l’article des chercheurs sur Meltdown : https://meltdownattack.com/meltdown.pdf

    Pour aller plus loin, y’a les mêmes chercheurs de l’Université de Graz qui ont publié un article quelques jours avant sur une des techniques employées pour Meltdown, mais sans expliciter la faille, à l’occasion du 34c3. Je le mets ici, j’arrive plus à retrouver la conférence mais elle doit être sur le site du 34c3. Ca fait un très bon complément d’information, d’autant que cet article est souvent cité dans le papier sur Meltdown.
    https://gruss.cc/files/kaiser.pdf

    Répondre
  • 13 janvier 2018 - 10 h 28 min

    La comparaison avec les urgences et les préservatifs (étant usager des deux) m’a bien fait rire !

    Répondre
  • 13 janvier 2018 - 17 h 51 min

    Merci beaucoup pour cet article Pierre.
    Question pratique, je gère mes mots de passe avec KeePass Xc et une (deux fait, une de sauvegarde) clé Yubico.
    Ces deux failles sont-elles susceptibles théoriquement de compromettre cette manière de sécuriser mes mots de passe ?

    Répondre
  • 13 janvier 2018 - 18 h 12 min

    @therevenger30: Tout ce qu’il se passe dans le processeur peut être transmis. Donc peut importe le mot de passe, cela pose soucis.

    C’est comme si tu fermais un coffre fort avec un code devant un inconnu.

    Une pseudo parade peut être une double authentification du type google Authentificator. Le code étant temporaire, il serait lu via la faille mais ne pourrait être utile que pendant un temps très court.

    Répondre
  • 13 janvier 2018 - 21 h 12 min

    Le problème va se traduire très simplement pour moi: je suis chez un éditeur de logiciel de trading. Et où la course à la performance est omniprésente. Donc tout ce qui va etre perdu sur le hardware devra etre récupéré d’une facon ou d’une autre sur le software. A ce niveau on ne va plus à la machine a café, on se fait directement des shoots de caféine ><

    Ce qui m'inquiète le plus c'est les millions (milliards?) de machines réparties dans toutes les architectures de la planète, qui sont oubliées ("tant que ca marche on ne touche pas") et qui ne seront pas remplacées avant un bon moment. Ca en combo avec les OS pas mis à jour (avec le cas préoccupant de Android) cela commence devenir délicat.

    Spéciale dédicace aux entreprises qui font encore tourner leurs applications critiques sur des 386/486 afin de se protéger du monde moderne :-)

    Répondre
  • 13 janvier 2018 - 22 h 56 min

    @R2D2: Oui, la plupart des experts expliquent que la faille va perdurer pour un bon paquet d’années.

    Répondre
  • 14 janvier 2018 - 12 h 17 min

    @Pierre: en y repensant je me demande si cela ne va pas être une locomotive pour une bonne partie de l’industrie (au dela des fabricants de cpus) comme l’ont ete le bug du passage à l’an 2000 ou celui de l’Euro. Avec des consultants spécialisés (… a faire peur les entreprises) en migration d’infra avec certification meltdown/spectre proof.
    #laviecontinue #businessisbusiness

    Répondre
  • 14 janvier 2018 - 14 h 07 min

    @R2D2: Ouai sauf qu’au bug de l’an 2000 il y avait beaucoup de solution et pas de vrais problèmes. Là on a pas de solution et un gros problème!

    Répondre
  • LAISSER UN COMMENTAIRE

    *

    *