Une grosse faille de sécurité a été découverte et elle concerne un composant que l’on retrouve dans tous les ordinateurs : le processeur. Tous les modèles x86-64 conçus par Intel depuis une dizaine d’années sont concernés par cette faille et comme il s’agit d’un problème matériel, il faudra attendre une nouvelle génération de processeurs pour la combler totalement.
En attendant, faute de mieux, les systèmes d’exploitation devront tous être mis à jour. Une nouvelle version de Windows est attendue la semaine prochaine avec un correctif et le noyau Linux est d’ores et déjà corrigé en version 4.15. On attend encore des nouvelles d’Apple, mais le noyau de macOS devra, lui aussi, être corrigé. Puisque les autres acteurs travaillent sur le problème depuis quelques mois, on imagine que le système d’exploitation des Mac sera corrigé rapidement.
[MàJ 3/01/2018 19h14] : la dernière version en cours de macOS High Sierra corrige déjà la faille de sécurité (lire : Apple a déjà corrigé la faille Intel dans High Sierra).
Le problème, c’est que cette correction logicielle a un impact sur les performances. En moyenne, on peut s’attendre à une baisse de 5 % de la vitesse, mais dans certains cas plus rares, la chute peut atteindre 30 %. Ce n’est pas l’idéal, mais malheureusement il ne devrait pas y avoir mieux tant qu’Intel ne corrige pas le problème matériel. Et encore, il faudra changer d’ordinateur pour en bénéficier.
Le problème : un accès possible aux données du noyau
Les détails précis concernant cette faille de sécurité ne sont pas encore disponibles. Pour éviter toute utilisation abusive avant sa correction, le travail a été mené en toute discrétion, y compris pour le noyau Linux qui est pourtant open source. Dans ce cas, les commentaires explicatifs sont encore masqués et ils seront affichés à la levée de l’embargo, prévue a priori pour le courant de la semaine.
En attendant, on a une idée générale de l’origine de la faille, puisque l’on sait ce qui a été effectué côté logiciel pour la combler. The Register a été le premier site grand public à dévoiler l’existence de cette faille et il donne quelques explications techniques. Autant le dire, le problème devient très vite très complexe et nous n’allons pas nous lancer dans un compte rendu détaillé.
Pour résumer, la faille permet d’accéder dans la mémoire aux emplacements réservés au kernel, le noyau qui communique directement avec le processeur. Ces données utilisées à un très bas niveau ne peuvent pas être chiffrées, alors qu'elles sont pourtant très sensibles. Si vous saisissez un mot de passe, par exemple, il se retrouvera à un moment ou à un autre dans cette mémoire, lisible par n’importe qui pouvant y accéder.
Pour protéger ces données sensibles, le plus simple est de les séparer totalement des informations utilisées par le système d’exploitation, ces dernières pouvant être protégées par un chiffrement. Cette pratique a un inconvénient toutefois : à chaque fois que le processeur doit intervenir, il y a une série d’opérations supplémentaires pour passer de l’espace mémoire « user » (celui du système d’exploitation) à l’espace « kernel » (celui du noyau).
Pour améliorer les performances, tous les systèmes utilisent une deuxième solution : un seul espace mémoire pour les deux, mais avec une distribution aléatoire des données réservées au noyau. Même s’il est théoriquement possible d’accéder aux données kernel depuis le système d’exploitation, leur positionnement aléatoire empêche concrètement tout accès et utilisation malveillante.
La solution : isoler totalement le noyau
Pour une raison que l’on ignore encore, cette mesure de protection n’est pas fiable sur les processeurs Intel produits depuis ces dix dernières années. Des chercheurs en sécurité autrichiens ont prouvé en octobre dernier qu’un programme malveillant pouvait deviner où les données kernel étaient stockées, ce qui lui permet ensuite d’y accéder et potentiellement de les exploiter. Un simple script JavaScript exécuté par un navigateur web pourrait exploiter cette faille.
Comme on le disait plus tôt, c’est une faille de sécurité physique et Intel ne va pas rappeler tous les processeurs vendus depuis dix ans pour les remplacer. L’entreprise corrigera probablement la faille dès la prochaine génération de processeurs, mais tout le parc informatique actuel a besoin d’une solution.
Celle proposée par ces chercheurs reste ainsi du côté du logiciel et consiste à isoler totalement le noyau dans l’espace mémoire du processeur. Nommé KPTI (pour Kernel page-table isolation), le correctif consiste à séparer les données en deux blocs et limite strictement l’accès aux données du noyau. De ce fait, le positionnement des données kernel est connu, mais le système d’exploitation ne peut jamais y accéder.
Cela fonctionne parfaitement sur le plan de la sécurité, mais au prix d’une baisse des performances à attendre. De combien sera-t-elle concrètement pour les utilisateurs ? C’est encore difficile à dire, mais le noyau Linux pourra fonctionner sans la nouvelle mesure de sécurité pour ceux qui ont besoin absolument des performances et pour qui la faille ne pose pas de problème. On peut imaginer que ce soit le cas sur un ordinateur de calcul, fonctionnant exclusivement sans connexion à internet, par exemple.
Un impact surtout pour les serveurs
Ajoutons que les plus gros problèmes de performance concernent des cas assez spécifiques, comme la compilation ou encore certains usages serveurs. Pour les ordinateurs grand public, l’impact devrait rester plus limité et peut-être même invisible. Les processeurs les plus anciens devraient toutefois être les plus concernés, il faudra voir sur les ordinateurs ce que cela signifie pour les plus vieux modèles encore en utilisation.
Ce sera une autre histoire dans le monde des serveurs, où les processeurs Intel sont massivement utilisés et où la faille peut prendre une importance plus grande. Amazon comme Microsoft ont prévu de grosses maintenances en fin de semaine ou début de semaine prochaine pour mettre à jour AWS et Azure respectivement, leurs deux solutions de cloud. Cela passera par un redémarrage, une étape très lourde dans ce secteur, puisqu’elle nécessite une organisation coordonnée très précise pour éviter les interruptions de service.
Ces services sont utilisés par de très nombreux et gros acteurs et ils ont tout intérêt à corriger la faille au plus vite. Ce ne sont pas les seuls toutefois et tous leurs concurrents devront également se mettre à jour, et vite.
[MàJ 3/01/2018 13h57] : OVH, le plus gros hébergeur européen, a annoncé que le noyau Linux corrigé sera disponible dans les prochaines heures. Une partie des serveurs seront redémarrés pour appliquer le correctif, probablement dimanche prochain pour limiter l'impact négatif.
Pour en revenir aux ordinateurs, l'intégralité des Mac Intel devrait être concernée a priori, sauf peut-être les tout premiers modèles. Apple n’a pas encore réagi publiquement, on ne sait pas si seuls les modèles encore compatibles avec les dernières versions de macOS seront corrigés, ou bien si l’on pourra compter sur un correctif plus global.
Une mauvaise nouvelle pour Intel
Même si cette faille va être corrigée rapidement et même si on s’assure qu’elle n’a jamais été exploitée auparavant — ce qui est impossible, surtout avec une faille aussi vieille —, elle aura malgré tout un impact indéniable sur Intel. Le fondeur est en situation de quasi-monopole depuis des années et ce problème de conception va peut-être peser lourd sur cette réussite.
Y a-t-il un problème de contrôle qualité chez Intel ? Cet article semble indiquer que l’entreprise a réduit le nombre de contrôles et vérifications effectués en interne sur chaque processeur commercialisé. Son auteur, ingénieur chez Microsoft, a rassemblé plusieurs témoignages d’anciens employés qui montrent que la priorité a changé au fil des années, passant de la qualité à la rapidité pour sortir de nouveaux modèles et mieux concurrencer ARM, notamment sur le marché du grand public.
Puisque la faille a dix ans et puisque l’on ne connaît pas encore tout le détail, on ne sait pas exactement ce qui s’est passé. On ne sait pas non plus s’il y a un lien avec la vente massive d’actions Intel de la part de Brian Krzanich, CEO de l’entreprise. Il a vendu 245 743 actions pour un petit peu moins de 10 millions d’euros et n’a gardé que le strict minimum pour rester à sa position. Tout cela a eu lieu le 19 décembre, alors que la faille était déjà bien connue en interne. Cela pourrait n’être qu’un hasard, mais cela tombe mal rétrospectivement.
Dans l’affaire, il y a malgré tout un acteur qui se réjouit. AMD a signé en 2017 son grand retour aux processeurs grand public et l’entreprise se félicite d’être totalement épargnée par la faille, ses puces étant conçues différemment. Reste à savoir si le concurrent historique d’Intel en profitera vraiment… c’est une autre histoire.
Si le sujet vous intéresse, vous trouverez encore davantage d’explications techniques dans cet article ou encore dans celui-ci, où son auteur essaie de deviner l’explication technique derrière la faille.