{"id":5197,"date":"2018-01-06T12:11:36","date_gmt":"2018-01-06T11:11:36","guid":{"rendered":"http:\/\/www.lesmonts.ch\/wp_fr\/?p=5197"},"modified":"2018-01-06T17:55:30","modified_gmt":"2018-01-06T16:55:30","slug":"spectre-et-meltdown-contre-bugatti","status":"publish","type":"post","link":"https:\/\/www.lesmonts.ch\/wp_fr\/spectre-et-meltdown-contre-bugatti\/","title":{"rendered":"Spectre et Meltdown contre Bugatti"},"content":{"rendered":"<p>Bonne ann\u00e9e 2018 ! Pour f\u00eater \u00e7a, on a d\u00e9couvert une faille de s\u00e9curit\u00e9 majeure dans le mat\u00e9riel (les microprocesseurs) informatique que nous utilisons tous les jours; quelle bonne nouvelle apr\u00e8s l&rsquo;obsolescence programm\u00e9e enfin ouvertement admise par Apple apr\u00e8s des dizaines d&rsquo;ann\u00e9es de pratique !&nbsp;<\/p>\n<p>Sans entrer (trop) dans les d\u00e9tails, les deux failles de s\u00e9curit\u00e9 d\u00e9couvertes (<a href=\"https:\/\/meltdownattack.com\/\">Spectre et Meltdown<\/a>) ont un rapport direct avec une particularit\u00e9 des processeurs modernes que l&rsquo;on appelle l&rsquo;ex\u00e9cution sp\u00e9culative. Spectre est une faille de principe (inh\u00e9rente au proc\u00e9d\u00e9 utilis\u00e9), alors que Meltdown est li\u00e9 \u00e0 l&rsquo;impl\u00e9mentation par Intel et AMD (les principaux fabricants de microprocesseurs), entre autres. Qu&rsquo;est-ce que l&rsquo;ex\u00e9cution sp\u00e9culative ? C&rsquo;est une particularit\u00e9 li\u00e9e \u00e0 l&rsquo;existence de plusieurs unit\u00e9s de traitement \u00e0 l&rsquo;int\u00e9rieur d&rsquo;une m\u00eame puce de silicium; on parle de \u00ab\u00a0multi-coeurs\u00a0\u00bb : pour ex\u00e9cuter un algorithme, vous n&rsquo;avez en principe besoin que d&rsquo;une unit\u00e9 de traitement; mais imaginons qu&rsquo;une partie sp\u00e9cifique de l&rsquo;algorithme soit du genre \u00ab\u00a0Si le r\u00e9sultat de la fonction A est vrai, alors ex\u00e9cute la fonction B, sinon ex\u00e9cute la fonction C\u00a0\u00bb. Pour ex\u00e9cuter cet algorithme, il faut ex\u00e9cuter successivement A, puis B ou C :on a additionn\u00e9 le temps de traitement de A et de B ou C. En ex\u00e9cution sp\u00e9culative, on va occuper d&rsquo;autres unit\u00e9s de traitement pour \u00e9valuer B et\/ou C pendant que l&rsquo;on \u00e9value A, si bien qu&rsquo;\u00e0 la fin de l&rsquo;ex\u00e9cution de A, on aura d\u00e9j\u00e0 le r\u00e9sultat de B et C, et notre programme aura gagn\u00e9 le temps de traitement de B ou de C, respectivement. En r\u00e9alit\u00e9, c&rsquo;est encore un tout petit peu plus sophistiqu\u00e9 que \u00e7a, d&rsquo;o\u00f9 le terme \u00ab\u00a0sp\u00e9culatif\u00a0\u00bb, mais c&rsquo;est le principe.<\/p>\n<p>Ceci permet \u00e0 nos laptops et \u00e0 nos smartphones de r\u00e9aliser les performances auxquelles nous sommes habitu\u00e9s, et qui dans certains cas rendent possible les fonctionnalit\u00e9s avanc\u00e9es que l&rsquo;on nous promet (comme l&rsquo;automobile autonome, par exemple).&nbsp; Malheureusement, on s&rsquo;est rendu compte tr\u00e8s r\u00e9cemment&nbsp; que cette ex\u00e9cution sp\u00e9culative pouvait pr\u00e9senter des effets de bord permettant \u00e0 du code malveillant de court-circuiter des protections mises en place contre l&rsquo;exploitation ill\u00e9gitime de donn\u00e9es, et que l&rsquo;impl\u00e9mentation faite actuellement par les principaux fabricants pr\u00e9sentait \u00e9galement des failles.<\/p>\n<p>L&rsquo;ex\u00e9cution sp\u00e9culative est impl\u00e9ment\u00e9e dans le mat\u00e9riel, dans le silicium m\u00eame, de nos microprocesseurs. C&rsquo;est ce qui rend cette faille si inqui\u00e9tante, car on ne peut pas vraiment la corriger sur le mat\u00e9riel existant. Ce qui n&#8217;emp\u00eache pas les fabricants de promettre des correctifs; mais en r\u00e9alit\u00e9, ces correctifs auront simplement pour effet de bloquer (ou limiter de mani\u00e8re drastique) l&rsquo;ex\u00e9cution sp\u00e9culative, ce qui va ralentir de mani\u00e8re spectaculaire tous les ordinateurs et smartphones de la plan\u00e8te. Vous avez achet\u00e9 une voiture de sport et vous vous retrouvez soudain, apr\u00e8s un correctif logiciel, au volant d&rsquo;un tracteur&#8230; Bon, la r\u00e9alit\u00e9 est peut-\u00eatre un peu moins caricaturale, mais dans l&rsquo;id\u00e9e, c&rsquo;est bien \u00e7a.<\/p>\n<p>C&rsquo;est une situation que l&rsquo;on a d\u00e9j\u00e0 connue dans d&rsquo;autres secteurs industriels; rappelez-vous l&rsquo;automobile, \u00e0 une certaine \u00e9poque : les voitures roulaient \u00e0 plus de 200 km\/h, mais avaient des freins \u00e0 tambour, le pilote avait un casque symbolique, il n&rsquo;y avait pas d&rsquo;arceau de s\u00e9curit\u00e9, et pas de cellule de protection de l&rsquo;habitacle. Actuellement, on parle de ces voitures, dont Bugatti, Mercedes et Ferrari construisirent les plus beaux exemples, comme de magnifiques antiquit\u00e9s; mais il n&rsquo;en reste pas moins qu&rsquo;il s&rsquo;agissait d&rsquo;une technologie immature, capable de performances tout \u00e0 fait respectables, mais dans un cadre artisanal. L&rsquo;informatique, quoi qu&rsquo;en disent les sp\u00e9cialistes du domaine, en est actuellement encore \u00e0 un stade artisanal; une recherche de performances (et de profits, bien s\u00fbr) aboutissant \u00e0 des r\u00e9sultats impressionnants, mais pas de vision syst\u00e9mique, pas d&rsquo;int\u00e9gration d&rsquo;aspects s\u00e9curitaires, pas de gestion de r\u00e9seau \u00e0 tr\u00e8s bas niveau&#8230;&nbsp;<\/p>\n<p>L&rsquo;informatique est actuellement encore rest\u00e9e \u00e0 un niveau de d\u00e9veloppement \u00e9l\u00e9mentaire; on discute encore dans certaines \u00e9coles du langage de programmation \u00e0 utiliser, plut\u00f4t que des probl\u00e8mes \u00e0 r\u00e9soudre. Lorsque je corrige un travail de bachelor ou de master, je suis souvent submerg\u00e9 de termes technologiques abscons, se r\u00e9f\u00e9rant \u00e0 des paquets logiciels \u00e0 l&rsquo;impl\u00e9mentation souvent opaque, mais une bonne partie des points du cahier des charges ne sont m\u00eame pas abord\u00e9s (ou souvent de mani\u00e8re trop superficielle pour se r\u00e9v\u00e9ler satisfaisante); et quand on pose la question, on se rend compte qu&rsquo;il a fallu trop de temps pour assimiler la technologie, et qu&rsquo;il n&rsquo;en est pas rest\u00e9 suffisamment pour penser au probl\u00e8me. Ou alors que la technologie choisie ne permettait pas de r\u00e9pondre aux pr\u00e9requis exig\u00e9s.&nbsp;<\/p>\n<p>J&rsquo;ai, <em>grosso modo<\/em>, l&rsquo;\u00e2ge de l&rsquo;informatique; j&rsquo;en ai suivi la majorit\u00e9 des d\u00e9veloppements, depuis mon premier programme en FORTRAN-IV sur CDC-6600, jusqu&rsquo;\u00e0 des d\u00e9veloppements distribu\u00e9s incluant des serveurs, des laptops et des mobiles dans un m\u00eame contexte applicatif, en passant par des \u00ab\u00a0minis\u00a0\u00bb PDP-11 de Digital pour le d\u00e9veloppement en t\u00e9l\u00e9communications.&nbsp; Je ne peux que constater que peu de progr\u00e8s r\u00e9els ont \u00e9t\u00e9 faits en ce qui concerne la m\u00e9thodologie de d\u00e9veloppement : les programmeurs restent des bidouilleurs de code, ils disposent simplement d&rsquo;une biblioth\u00e8que de code plus cons\u00e9quente qui leur permet de publier des fonctionnalit\u00e9s plus rapidement (c&rsquo;est la seule chose qui int\u00e9resse l&rsquo;\u00e9diteur de logiciel, d&rsquo;ailleurs). On n&rsquo;a plus fait de progr\u00e8s significatifs dans le traitement de texte depuis Word ou swriter, le tableur Excel n&rsquo;a toujours que deux entr\u00e9es (techniquement, on peut en g\u00e9rer davantage, mais si vous avez essay\u00e9 une fois, vous avez probablement renonc\u00e9) et Photoshop est toujours aussi compliqu\u00e9 d&rsquo;acc\u00e8s, ce qui permet \u00e0 Apple de proposer des outils d&rsquo;une nullit\u00e9 remarquable (qu&rsquo;il rend d&rsquo;ailleurs obsol\u00e8tes d\u00e9s qu&rsquo;il en a \u00e9coul\u00e9 assez), mais qui sont utilisables par un b\u00e9otien. Bon, comme le faisait remarquer un responsable, de toutes fa\u00e7ons, les photos prises par un b\u00e9otien n&rsquo;ont pas besoin de mieux, alors&#8230; Il n&rsquo;avait jamais int\u00e9gr\u00e9 le fait qu&rsquo;un bon photographe peut ne pas avoir envie d&rsquo;\u00eatre informaticien.<\/p>\n<p>L&rsquo;informatique doit effectuer un saut quantique en termes d&rsquo;industrialisation et d&rsquo;int\u00e9gration, cela para\u00eet clair. Cela rend d&rsquo;autant plus inqui\u00e9tant ce futur que l&rsquo;on d\u00e9crit r\u00e9gi par une intelligence artificielle dont \u00e0 l&rsquo;heure actuelle, les neurones sont endommag\u00e9s ou immatures&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bonne ann\u00e9e 2018 ! Pour f\u00eater \u00e7a, on a d\u00e9couvert une faille de s\u00e9curit\u00e9 majeure dans le mat\u00e9riel (les microprocesseurs) informatique que nous utilisons tous les jours; quelle bonne nouvelle apr\u00e8s l&rsquo;obsolescence programm\u00e9e enfin ouvertement admise par Apple apr\u00e8s des dizaines d&rsquo;ann\u00e9es de pratique !&nbsp; Sans entrer (trop) dans les d\u00e9tails, les deux failles de &hellip; <a href=\"https:\/\/www.lesmonts.ch\/wp_fr\/spectre-et-meltdown-contre-bugatti\/\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Spectre et Meltdown contre Bugatti<\/span>  <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_crdt_document":"","ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5197","post","type-post","status-publish","format-standard","hentry","category-non-classe"],"_links":{"self":[{"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/posts\/5197","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/comments?post=5197"}],"version-history":[{"count":3,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/posts\/5197\/revisions"}],"predecessor-version":[{"id":5200,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/posts\/5197\/revisions\/5200"}],"wp:attachment":[{"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/media?parent=5197"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/categories?post=5197"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.lesmonts.ch\/wp_fr\/wp-json\/wp\/v2\/tags?post=5197"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}