freshidea - Fotolia

« Les implications de Meltdown et Spectre sont très sérieuses », Clémentine Maurice (Irisa)

La chercheuse a collaboré à des travaux ayant précédé la découverte de ces deux attaques. Elle revient ici sur leur chronologie et souligne l’ampleur des enjeux.

LeMagIT : Quand avez-vous commencer à travailler sur le concept d’attaque à l’origine de la contre-mesure Kaiser, depuis rebaptisée KPTI et proposée en mai dernier par Daniel Gruss à la communauté Linux ?

Clémentine Maurice : Pour clarifier les choses, je n'ai travaillé ni sur Meltdown, ni sur Spectre. Je peux vous donner une petite chronologie. Nous avons commencé à travailler sur l'attaque à laquelle vous faites référence (publiée à CCS 2016, à Vienne) fin février 2016, lors de mon postdoc à Graz University of Technology, en Autriche. L'attaque en question est bien distincte de Meltdown, même si les deux ont pour contre-mesure KAISER. L'attaque en question porte sur l'Address Space Layout Randomization (ALSR) du noyau, et avait déjà été appliquée notamment à Linux, Windows, et à certaines machines virtuelles du cloud Amazon. Je précise que la portée de cette attaque était bien inférieure à celle de Meltdown.

En parallèle de nos travaux, d'autres chercheurs ont trouvé des attaques similaires – mêmes conséquences, mais avec des méthodes un peu différentes (ici et ). Nous avons donc réfléchi à trouver une contre-mesure, à l'époque nommée KAISER, maintenant appelée KPTI.

Mon postdoc à Graz s'est ensuite terminé fin juillet 2017, et j'ai commencé mon nouveau poste de Chargée de Recherche CNRS à l'IRISA (à Rennes) en octobre. Je suis toujours en contact régulier avec mes anciens collègues de Graz, mais ils ont travaillé de manière totalement indépendante sur Meltdown et Spectre.

A quel moment avez-vous pris la pleine mesure de la portée de ces recherches ?

Je n'ai pas eu connaissance des recherches sur Meltdown et Spectre avant qu'elles ne soient rendues publiques, donc un peu comme tout le monde, à leur publication. Le fait que KAISER ait été intégré au noyau Linux assez rapidement malgré un impact de performance assez important m'a laissée penser qu'il y avait quelque chose de plus sévère derrière, mais je n'étais pas la seule à avoir cette intuition.

Au-delà des correctifs pour les systèmes actuels, quelles implications voyez-vous, à l’échelle de l’industrie, pour Meltdown et Spectre ?

Les implications sont très sérieuses. Autant Meltdown que Spectre ont pour cause des optimisations de performance de processeurs (l'exécution out-of-order et l'exécution spéculative, ainsi que les mémoires caches et les prédicteurs de branchements) qui sont non seulement présents dans les processeurs depuis 15 ou 20 ans, mais également extrêmement critiques pour la performance de ceux-ci. Il n'est aujourd'hui pas possible pour les constructeurs de CPUs de juste se passer de ces optimisations.

En clair, les attaques sont dues à des optimisations de performances, et on voudrait pouvoir se passer des attaques sans se passer des performances. Ce n'est pas un mince problème.

Anticipez-vous des découvertes comparables pour d’autres architectures qu’ARM et x86 ?

C'est possible, car ARM et x86 ne sont que deux jeux d'instructions différents (c'est à dire deux façons de parler à du matériel), et il y a pour chaque jeu d'instructions plusieurs manières d'implémenter du matériel (plusieurs micro-architectures possible).

Ici, les attaques exploitent la façon dont le matériel est implémenté, ce n'est pas en soit restreint à ARM et x86. C'est aussi ce qui explique par exemple que l'attaque Meltdown ne cible que les processeurs Intel (x86) alors que AMD n'est pas touché (pourtant x86 également).

David Monniaux, directeur de recherche au CNRS, explique de manière très claire, dans deux billets de blog, en quoi consistent les attaques Spectre et Meltdown. Dans un troisième billet, il se penche sur les spécificités de l’architecture des processeurs modernes et souligne que « la complexité des machines actuelles, due à la recherche de hautes performances, avec la présence de nombreuses ressources partagées, est telle qu’il est difficile d’éviter les canaux cachés ». Des canaux cachés justement mis à profit pour Spectre et Meltdown. 

Pour approfondir sur Menaces, Ransomwares, DDoS

Close