Spectre et Meltdown - Décryptualité du 14 janvier 2018

De April MediaWiki
Aller à la navigationAller à la recherche


Titre : Décryptualité du 14 janvier 2018

Intervenants : Luc - Nico - Manu

Lieu : Studio d'enregistrement April

Date : janvier 2018

Durée : 14 min

Écouter ou téléchargerle podcast

Licence de la transcription : Verbatim

Statut : Transcrit MO

Transcription

Luc : Décryptualité.

Nicolas : Le podcast qui décrypte l’actualité des libertés numériques.

Luc : Semaine 2, année 2018. Salut Manu.

Manu : Salut Nico.

Nico : Salut Luc.

Luc : Eh bien le retour de Nicolas, mais pas de Mag qui est en balade. Est-ce que tu peux nous donner la revue de presse, s’il te plaît ?

Manu : Alors on va aller vite, mais il y a six articles sympas. Six sujets principaux.

Luc : EconomieMatin, « Une année 2018 sous le signe de l’ouverture pour l’informatique d’entreprise », un article de Thomas Di Giacomo.

Manu : Un article très intéressant qui reparle un petit peu de prédiction, classique dans notre période et qui met en avant le côté ouverture, justement, mais l’ouverture notamment du logiciel libre, du code open source, des choses pas mal.

Luc : ZDNet France, « Barcelone éjecte Microsoft au profit de Linux et de l’Open Source », un article de la rédaction.

Manu : Super nouvelle. Barcelone, grosse ville. Ils sont en plein bouleversement politique. Eh bien, dans tous ces bouleversements, ils se proposent de passer au logiciel libre de manière majeure, un peu comme Munich et on espère qu’ils ne vont pas faire comme Munich !

Luc : On se dit que Microsoft va avoir du mal à mettre son siège dans toutes les villes européennes, ça va être compliqué. PhonAndroid, « Android : comment ne plus être pisté par Google ? », un article de Robin Pomian Bonnemaison.

Manu : Très intéressant, parce que Android c’est du logiciel libre, pur et dur, c’est dans beaucoup de poches dans le monde entier, mais il y a des problèmes qui vont avec, notamment il y a des entreprises qui rajoutent du logiciel, donc Google, forcément, et tout ça c’est embêtant. Il y a des gens qui s’y intéressent de plus en plus dont la communauté Android. Comment faire pour ne pas être tracés par toutes ces entreprises. Il y a des pistes de travail. Allez jeter un œil sur votre Android.

Luc : Sujet intéressant. FIGARO, « LinTO, une enceinte connectée française et open source », un article de Lucie Ronfaut.

Manu : C’est un sujet compliqué, on en a parlé déjà plusieurs fois. Il y a de gens qui achètent des enceintes intelligentes pour mettre chez eux. Eh bien ces petits objets, ces petits assistants électroniques, vous écoutent en permanence et, en plus, c’est du logiciel propriétaire. Eh bien là, il y a une boîte française, associée à Linagora, qui se propose de faire la même chose en Libre mais ça va continuer à vous écouter !

Luc : On m’en a offert une pour Noël et quand je l’ai branchée sur mon téléphone, juste pour passer de la musique, elle m’a dit : « Est-ce que je peux te piquer ton carnet d’adresses et je ne sais plus trop quoi d’autre. » C’est une enceinte ; c’est juste censé passer de la musique. Donc ça veut dire qu’elle va le renvoyer quelque part sur Internet, je ne sais pas comment elle se connecte. Je ne sais pas ! Je ne sais pas !

Manu : Là c’est supposé être fait en Libre, c’est-à-dire que même les plans seront libres. Donc on peut imaginer une communauté qui s’emparerait de l’outil et qui en ferait quelque chose d’intéressant. Je pense qu’il y a des choses à creuser, donc il y a de l’espoir. Il y a quelque chose d’intéressant.

Luc : Métro, « Nadine Boulianne, la concierge du premier fab lab dans le Bas-Saint-Laurent », un article Chloé Freslon. Ça c’est un truc au Québec ?

Manu : Exactement, tu as bien compris le truc. Et concierge, eh bien c’est une façon de présenter la responsable du fablab. C’est assez intéressant, c’est une approche originale, la traiter de concierge c’est marrant. Elle prend son boulot à cœur, elle y travaille de manière assez intéressante. Allez jeter un œil, vraiment les fablabs, c’est quand même super fun !

Luc : Le Temps, « Spectre et Meltdown vous souhaitent une bonne année 2018 ! », un article de Solange Ghernaouti.

Manu : Eh bien on peut aborder le sujet puisque c’est justement le sujet.

Luc : On en a parlé la semaine dernière, on avait promis qu’on attendrait le retour de Nicolas pour en parler parce que c’est quand même lui le spécialiste de la sécurité.

Manu : C’est un bon article, pour le coup, mais on va essayer d’aborder le sujet de manière plus globale. On a un peu de temps.

Luc : Donc le truc c’est Spectre et Meltdown. Donc ce n’est pas une faille majeure. Ce sont deux failles majeures pour le prix d’une !

Manu : Et qui arrivent quasiment à Noël !

Nico : C’est ça. C’est gros buzz, là, sur décembre.

Manu : Je crois même qu’ils en ont parlé dans les journaux télévisés, dans les journaux papier partout dans le monde quoi !

Nico : C’est passé sur France 2 aux 20 heures. Ça fait vraiment le buzz partout parce qu’effectivement c’est assez problématique ce qui s’est passé. En fait, depuis très longtemps, les fabricants ont eu besoin d’accélérer de plus en plus les performances de vos machines, parce que vous n’aimez pas avoir une machine qui passe son temps à rien faire ou à ramer. Ils ont essayé de prendre des raccourcis ou d’optimiser les processeurs le plus possible. En fait ils ont été un peu trop loin et des chercheurs en sécurité ont réussi à démontrer que les choix qu’ils avaient faits permettaient plein d’attaques assez efficaces et qui touchaient du coup tous les CPU modernes, en particulier les Intel, et qui permettaient de récupérer toutes les données de votre machine.

Luc : On dit que c’est la pire faille informatique de l’histoire de l’informatique. Est-ce que tu dis que oui ?

Nico : C’est à peu près ça, parce que le problème, aujourd’hui, le bug est vraiment au niveau du matériel et donc il faudra remplacer tous les CPU existants pour vraiment patcher.

Luc : CPU ce sont les processeurs ?

Nico : Les processeurs, voilà la puce au milieu. Il faudra peut-être dix ans pour qu’on l’extermine et qu’on l’éradique de toutes les machines.

Manu : Il y a deux noms. Ça correspond à deux particularités ? C’est quoi ? Pourquoi ? Il y en a un c’est Spectre et l’autre c’est Meltdown.

Nico : Ce sont des vecteurs d’attaque différents. Spectre s’attaque vraiment aux problématiques du CPU lui-même. Comment les fabricants ont conçu le CPU et Meltdown est plutôt au niveau du logiciel, c’est-à-dire que des optimisations qui ont été faites au niveau du logiciel.

Luc : Quels logiciels ?

Nico : Là ce sont les compilateurs carrément.

Luc : Les compilateurs c’est ?

Nico : Les compilateurs c’est assez bas niveau, c’est ce qui transforme le code écrit en code lisible par la machine et, en fait, il y a des optimisations aussi qui sont faites, en particulier sur les boucles. Quand les machines voient passer une boucle trop souvent, eh bien elles commencent à apprendre comment cette boucle se comporte et, des fois, elles font des mauvais choses.

Luc : Une boucle c’est une série d’instructions qui se répètent plusieurs fois.

Nico : Du coup, des fois elle se plante dans la prédiction de ce que cette boucle va faire et c’est là que l’attaquant va prendre la main et faire plein de choses avec.

Manu : Tu as réussi, toi, à utiliser un petit peu ce truc-là ? Tu as réussi à faire quoi ?

Nico : Moi j’ai réussi, pas moi personnellement, en fait, parce qu’il y a ce qu’on appelle les exploits, des proof of concept qui ont été publiés.

Manu : Des exploitations.

Nico : Des exploitations de la faille. Les chercheurs qui ont trouvé cette faille ont aussi publié des morceaux de code qui permettent de l’exploiter et en fait, en le lançant, on arrive, au choix, à récupérer l’intégralité de la mémoire sur laquelle le code est exécuté.

Luc : La mémoire c’est important parce que, en gros, l’ordinateur passe son temps à copier des informations. Donc quand on accède à la mémoire on accède à tout ce qui se fait sur l’ordinateur.

Nico : Voilà. Tous vos mots de passe, vos bases de données, tous vos fichiers.

Luc : Les nôtres aussi d’ailleurs !

Nico : Potentiellement, tout est récupérable. Donc ça c’est plutôt sur la partie Spectre et Meltdown fait un peu la même chose, un peu moins intrusif, c’est-à-dire qu’on ne peut pas récupérer toute la mémoire de l’ordinateur, par contre on peut récupérer quelques morceaux de processus donc le logiciel qui tourne à côté de celui qui est en train de s’exécuter. La démonstration a été faite qu’on est capables de récupérer des données de votre machine à partir de Firefox ou d’Internet Explorer ou de Chrome en exécutant des morceaux de JavaScript dans votre ???

Luc : JavaScript c’est un langage qui est utilisé notamment pour faire des fonctions avancées dans les sites web.

Nico : Voilà ! Et les deux sont assez catastrophiques parce que du côté de Spectre, en fait, il faut changer le CPU, il faut changer le matériel, et côté de Meltdown, théoriquement il faudrait bloquer tous les JavaScript, donc ça veut dire perdre l’intégralité de tous les sites internet qui existent aujourd’hui.

Luc : Un bug, normalement, c’est un problème de logiciel. Il y a toujours un bug dans le logiciel. Comment il peut y avoir du bug sur du matériel. Mes chaussures ne sont pas buguées, tu vois !

Nico : On ne sait jamais. Le CPU c’est quand même quelque chose de très compliqué. Aujourd’hui on parle de pas loin de trois milliards de transistors, donc de petits composants élémentaires qui sont dans une puce. Vous imaginez bien de déboguer quelque chose de trois milliards de choses qui communiquent.

Luc : Oui, parce qu’ils sont organisés ensemble pour procéder d’une certaine façon.

Nico : Pour procéder d’une certaine manière et puis, surtout, qu’ils ont fait des choix justement d’efficacité pour avoir des CPU de plus en plus rapides, d’avoir des fonctions qui sont de plus en plus complexes. Avant on faisait juste des opérations +, - 1 ; on décale à droite, on décale à gauche. Aujourd’hui on a des opérations qui sont très compliqués.

Luc : La faille vient d’où, en fait ?

Nico : Cette faille-là vient des instructions du processeur qui sont ne sont pas sécurisées et pas fiables à utiliser quand on est dans un mode, ce qu’on appelle le mode prédictif. C’est-à-dire qu’on anticipe ce que le programme va faire pour essayer d’accélérer plutôt que de ne rien faire. On prend de l’avance dans le programme, en fait.

Luc : L’ordinateur, la machine dit : « D’habitude, dans ces circonstances il me demande ça, ça et ça, donc je vais le faire en avance, comme ça s’il me demande, je l’aurais déjà fait. » C’est ça ?

Nico : Voilà. C’est ça.

Luc : Du coup par ce biais-là il y a moyen de… ?

Nico : Quand il se trompe, en fait on n’est pas capable de faire marche arrière. C’est-à-dire que ce qui a déjà été exécuté en anticipation on n’est pas capable de l’annuler complètement. Donc il reste des petits bouts, d’où le spectre, en fait, il y a des petits fantômes qui se baladent. Si on tombe sur un fantôme dans l’exécution normale de ce qui va se passer derrière, eh bien ça peut faire des problèmes.

Manu : On pourrait donner l’image. C’est une sorte de contre-pied « hop, hop, hop, je t’envoie quelque chose, je t’envoie quelque chose et puis, d’un seul coup, je l’envoie ailleurs », mais, par habitude, on va continuer ce qu’on faisait d’habitude sauf que là ça déclenche toute une tripotée de bêtises.

Luc : En fait, si on fait exprès de tromper le processeur alors on récupère beaucoup de données.

Nico : Voilà, c’est ça. Du coup en exploitant ces bugs-là ils ont réussi à comprendre comment les diriger, comment les contrôler. Ils arrivent à mettre le processeur exactement dans l’état qui les arrange et, du coup, à récupérer ce qu’ils ont envie.

08’ 08

Luc : Comment ce machin a émergé ?