Au coeur de Meltdown, l'« l'exécution spéculative »
L'existence de ces failles n'aurait pas dû être dévoilée au grand jour avant le 9 janvier 2018, mais comme cela se passe souvent dans le monde de l'informatique, l'information a réussi à passer entre les mailles du filet, que les grandes entreprises le veuillent ou non. Depuis le 3 janvier 2018, le monde n'arrête pas de parler de deux failles critiques, surnommées respectivement Meltdown et Spectre.Ces failles, découvertes par trois équipes de chercheurs travaillant indépendamment les unes des autres, sont très significatives dans la mesure où elles concernent non pas des logiciels mais les processeurs eux-mêmes. La première, Meltdown, concerne « l'exécution spéculative », à savoir le procédé durant lequel le processeur calcule proactivement différents scénarios qu'il pourrait être amené à exécuter. À la différence des échanges « normaux » entre les logiciels et le processeur, soumis à une vérification des droits d'accès, les droits d'accès ne sont pas contrôlés lors de « l'exécution spéculative » : il suffit d'écrire un exploit, et l'ensemble des données de ce type transitant entre le processeur et les logiciels peuvent être captées.
Comme souvent dans ces moments, il est possible de trouver plusieurs explications simplifiée de ces failles, comme celle-ci par @shanselman :
Explaining #Meltdown to non-technical spouse.
— Scott Hanselman (@shanselman) 5 janvier 2018
“You know how we finish each other's...”
“Sandwiches?”
“No, sentences. But you guessed 'sandwiches' and it was in your mind for an instant. And it was a password. And someone stole it while it was there, fleeting.”
“Oh, that IS bad.”
Spectre, une version Big Brother de Meltdown
La vulnérabilité Spectre, quant à elle, n'implique pas l'accès au kernel (le « saint des saints d'un système d'exploitation »), mais permet à toute personne ayant saisi un code spécifique d'accéder à l'ordinateur avec les privilèges Administrateur. En combinant ensuite l'exécution spéculative et la « prédiction de branchements » (une création préalable de consignes, dont chacune peut être déclenchée à la suite d'un choix fait par l'utilisateur), il est donc possible de capter là aussi la quasi-totalité des données sur un ordinateur en utilisation.Afin de permettre aux fabricants de processeurs et éditeurs de logiciels de concevoir des « patchs », Intel (touché au premier chef), Firefox et Google, entre autres, ont convenu de ne pas diffuser des informations sur ces familles avant le 9 janvier, mais l'une des équipes qui les avaient identifiées les a devancés en expliquant le tout sur son propre site.
Cette faille a été présentée par @cshirky sur Twitter, en utilisant là-aussi une analogie plutôt simple :
I'm going to try explaining the Spectre attack with an analogy: Imagine a bank with safe deposit boxes. Every client has an ID card, and can request the contents of various boxes, which they can then take out of the vault.
— Clay Shirky (@cshirky) 5 janvier 2018