Le code Retpoline pour la variante 2 de la vulnérabilité Spectre est finalement déployé pour la version stable actuelle de Windows 10 (1809).





Pour la variante 2 de Spectre (CVE-2017-5715), des mises à jour de microcode et mesures d'atténuation ont été proposées, avec toutefois un impact sur les performances. Fin 2018, Microsoft avait annoncé l'activation par défaut de Retpoline dans les préversions de Windows 10 19H1 afin de réduire davantage cet impact sur les performances des appels indirects en mode noyau.


Finalement, il s'avère que la solution Retpoline pourra aussi être activée pour la version 1809 actuelle de Windows 10. Cela fait l'objet (parmi d'autres choses) d'une mise à jour cumulative KB4482887 diffusée depuis le 1er mars.


" Nous avons rétroporté (backport) les modifications du système d'exploitation nécessaires pour prendre en charge Retpoline afin de permettre une utilisation avec Windows 10 version 1809. […] En raison de la complexité de l'implémentation et des changements impliqués, il y a seulement une activation pour Windows 10 version 1809 et les versions ultérieures ", écrit Microsoft.




La variante 2 de Spectre est pour rappel une vulnérabilité matérielle de la prédiction de branchement qui affecte des processeurs avec la fonctionnalité d'exécution spéculative permettant à un processeur de poursuivre l'exécution de code de manière probabiliste.


La vulnérabilité permet de forcer l'exécution spéculative depuis un autre processus et pour récupérer des informations potentiellement sensibles. Le code Retpoline est pour sa part une mesure d'atténuation logicielle développée par Google et que l'on retrouve notamment dans le noyau Linux. Elle limite les branches indirectes spéculatives dans les processeurs CPU. Google y consacre une page d'aide.


Selon Microsoft, Retpoline améliore de manière significative les performances des mesures d'atténuation de la variante 2 de Spectre sur Windows. Avec des benchmarks sur des processeurs à architecture Broadwell d'Intel, il est fait mention d'un gain de 25 % pour le temps de lancement des applications Office et 1,5 à 2 fois pour Diskspd (stockage) et NTttcp (réseau).