Spectre : le patch Retpoline de Google plus efficace et plus stable ?

Si les patches Intel et les packages Microsoft s’accompagnent ici de problèmes de compatibilité, là de dégradations de performances, il n’en va pas de même pour Google, qui serait parvenu à corriger les trois failles sans impact notable sur les performances de ses systèmes.

De Meltdown et de Spectre, la faille la plus difficile à combler était, de l’avis général, la seconde. Surtout dans sa deuxième variante, dites « d’injection de branche cible » (branch target injection). Son exploitation consiste, pour un attaquant, à mettre à profit la capacité d’un processus à influer sur l’exécution spéculative d’un autre sur le même cœur du processeur.

Cette faille était des trois la plus difficile à exploiter, mais aussi la plus complexe à corriger. D’autant que, si corriger Meltdown et la variante 1 de Spectre n’ont qu’un impact non significatif sur les performances du processeur, s’attaquer à la variante 2 va considérablement dégrader les performances du CPU, contrairement à ce que clamait Intel dans un premier temps.

Retpoline 

Deux modes d’atténuation s’opposent : d’un côté, Intel propose une mise à jour du microcode du processeur. Celle-ci est pointée du doigt par les constructeurs et les chercheurs, qui signalent son impact significatif sur les performances du processeur. De l’autre, Google applique une atténuation logicielle cette fois-ci au niveau de l’hyperviseur et du système d’exploitation.

Baptisé Retpoline, contraction de Return et Trampoline, celle-ci « permet d'isoler les branches indirectes de l'exécution spéculative ». Google explique l’avoir utilisé en interne sans avoir reçu la moindre plainte des clients de Google Cloud Platform en termes de réduction de performances.