Skip to content
Retour aux chroniques
#matériel#side-channel#cpu

Spectre et Meltdown

Deux failles dans la manière dont presque tous les processeurs modernes prédisent l’avenir permettaient à n’importe quel programme de lire de la mémoire qu’il n’aurait jamais dû voir.

Cyber Chronicle2 min de lecture

Début janvier 2018, plusieurs équipes de recherche — Google Project Zero, et des groupes universitaires à Graz, entre autres — révèlent deux classes de vulnérabilités liées qui ne vivaient dans aucun logiciel. Elles vivaient dans le silicium. Presque tous les processeurs haute performance fabriqués au cours des deux décennies précédentes étaient concernés.

Spéculer sur des secrets

Les CPU modernes sont rapides en partie parce qu’ils devinent. Quand un processeur rencontre un branchement qu’il ne peut pas encore résoudre, il exécute spéculativement le chemin probable et jette le travail si la supposition était fausse. Spectre et Meltdown ont montré que le travail jeté laisse des traces mesurables dans le cache du CPU. En chronométrant des accès mémoire soigneusement choisis, un attaquant pouvait reconstituer les valeurs secrètes que le processeur avait touchées pendant la spéculation — y compris de la mémoire appartenant au noyau ou à d’autres processus.

Meltdown affectait principalement les puces Intel et pouvait être atténué, au prix de performances, en repensant la façon dont les systèmes d’exploitation mappaient la mémoire du noyau. Spectre était plus profond. Il était une conséquence de l’exécution spéculative elle-même, présente chez Intel, AMD et ARM, et ne pouvait être totalement corrigé sans repenser la conception des processeurs.

Une divulgation coordonnée et qui a fui

La divulgation avait été sous embargo pendant des mois, le temps que les fournisseurs préparent les correctifs. Elle a fuité en avance via une activité observée de développement du noyau et des inférences de presse, forçant une publication publique précipitée. Les mitigations qui ont suivi ont mesurablement ralenti certaines charges et remodelé l’économie du provisionnement cloud.

Ce que la chronique retient

Spectre et Meltdown ont déplacé la frontière de sécurité sous le système d’exploitation. Ils ont établi les canaux auxiliaires d’exécution spéculative comme un champ de recherche permanent et imposé à toute l’industrie d’accepter que des optimisations de performance vieilles de décennies pouvaient être, depuis toujours, des hypothèses de sécurité porteuses.