04/01/2018

Comment Linux va combattre Spectre et Meltdown

C’est l’effervescence depuis quelques heures dans le petit monde des administrateurs systèmes depuis les révélations sur les failles Spectre et MeltDown. Au-delà d’un scandale dont les fondeurs auront du mal à se remettre, c’est encore le manque de transparence des technologies propriétaires que nous pouvons incriminer en premier lieu. La communauté Linux est déjà en ordre de marche pour proposer des correctifs au plus vite.

Deux failles de grande ampleur au niveau des processeurs, d’une criticité élevée et dont les preuves de concept démontrent les conséquences ravageuses ont donc été dévoilées il y a quelques heures. Ces deux failles découvertes il y a près d’un an faisaient l’objet d’un embargo de divulgation, brisé par les ingénieurs en charge de leurs études. La situation n’a pas manqué de déclencher la colère de la communauté Linux et plus spécifiquement l’ire de Linus Torvald.

La portée des deux failles

Spectre et Meltdown sont toutes deux liées à l’architecture des processeurs modernes et la gestion du pipeline d’instructions. En effet, pour accroître la vitesse d’exécution globale de processeurs, ces derniers analysent les instructions à venir alors même qu’une instruction est en cours de traitement. Pour réaliser cette analyse, les processeurs doivent chercher à l’avance certains segments de mémoire. C’est à ce moment que les deux failles s’insèrent et peuvent lire des segments de mémoire auxquels elles ne devraient pas avoir accès. Cette attaque est dénommée Side Channel Attack.

Meltdown est une attaque qui vise le noyau et ne fonctionne qu’avec les processeurs Intel. Un processus peut tenter de deviner des segments mémoires du noyau. Les preuves de concept ont montré que c’est une technique efficace et non pas juste une faiblesse théorique.

Spectre est une attaque qui permet à un processus de deviner les segments mémoires d’autres processus sur le même ordinateur. Elle concerne tous les processeurs modernes et elle est vraiment liée à l’architecture des processeurs modernes. Il sera donc difficile de s’en débarrasser sans changer de processeur. Les preuves de concept ont, là aussi, montré l’efficacité redoutable de cette attaque.

Quelles conséquences pour Linux ?

Bonne nouvelle : les développeurs Linux ont pu anticiper la publication et un correctif est déjà en cours d’intégration dans la prochaine mouture du noyau Linux. Mauvais nouvelle : le prix à payer pour combler ces deux failles risque d’être très élevé avec une baisse moyenne des performances de près de 5 %. Certaines applications dont l’optimisation des performances repose essentiellement sur les mécanismes de prédiction des processeurs pourraient souffrir beaucoup plus. Ainsi, la base de données PostgreSQL  pourrait subir un ralentissement d' au moins 17%. Évidemment, Linux ne sera pas le seul système d’exploitation concerné par cette baisse de performance. Les systèmes d'exploitation basés sur Intel sont confrontés à des problèmes de performances similaires.

Actualités