La correction d'une grave faille de sécurité dans les processeurs Intel entraînera une importante baisse de performance des systèmes d'exploitation

Par:
fredericmazue

mer, 03/01/2018 - 15:50

L'affaire a été révélée hier par The Register. Tous les processeurs mis sur le marché par le fondeur Intel depuis 10 ans contiennent une grave faille de sécurité. Celle-ci oblige a réécrire les noyaux des systèmes d'exploitation et cela entraînera une baisse de performance de 5 à 30% selon les cas.

Cette faille a été découverte au moins depuis novembre 2017, mais jusqu'ici le secret était bien gardé. Les détails techniques restent sous embargo. Le problème se situe dans la gestion des pages de mémoire virtuelle par les processeurs Intel (AMD souligne que ses processeurs ne sont pas touchés par le problème).

En fonctionnement normal, un processus utilisateur (c'est-à-dire une application quelconque, comme un traitement de texte, un lecteur vidéo, etc.) dispose d'un espace mémoire. Une partie de cet espace est partagé avec le noyau du système d'exploitation qui y dépose du code, nécessaire notamment aux appels système. Lorsque le processus utilisateur veut par exemple écrire dans un fichier, il appelle une fonction du noyau, ce qui commence par l'exécution de code dans cette mémoire partagée, puis aboutit à l'exécution de code au coeur du noyau. Il y a, pour faire simple, plusieurs niveaux d'accès au noyau, appelés ring level. De ring level 3 pour le processus utilisateur à ring level 0 pour le coeur du noyau. La gestion des pages mémoire par le processeur fait que normalement un code qui s'exécute dans le ring level 3 ne peut pas lire le contenu des pages en ring level inférieur et surtout pas le ring level 0. Malheureusement la vulnérabilité fait que du code en ring level 3 peut finalement lire le contenu de la mémoire en ring level 0, ce qui revient à dire qu'il est possible potentiellement de voler en mémoire des données appartenant à d'autres processus.

Pour contourner ce problème, selon l'article de The Register, il n'existe qu'un seul moyen : réécrire les noyaux des systèmes d'exploitation afin qu'il n'y ait plus aucun partage mémoire entre le code au niveau utilisateur et le code noyau. Sont ainsi concernés les noyaux de Windows, de Linux et de macOS. Le revers de la médaille est que le système devra effectuer davantage de commutation de pages mémoire à l'exécution, ce qui va entraîner une chute des performances globales de 5 à 30%.

Des correctifs pour Linux ont déjà été écrits, mais avec des commentaires incompréhensibles dans le code afin de préserver les détails techniques de la vulnérabilité, toujours selon The Register. Microsoft en également en train de travailler à des correctifs, qui seront sans doute poussés dans le Tuesday Patch de ce mois. Apple fera à priori de même.