Sécurité matérielle : évolutions récentes
Quelle association de descriptions de retpoline et d'IBRS, contre-mesures à la variante de Spectre qui exploite la prédiction des branchements indirects (branch target injection), est correcte ?
- ARetpoline refait les circuits du CPU pour supprimer le prédicteur, et IBRS est une contre-mesure dans laquelle le compilateur réécrit les instructions de branchement indirect en une autre suite d'instructions
- BRetpoline est une contre-mesure logicielle qui remplace les branchements indirects par des suites d'instructions ne dépendant pas du prédicteur, et IBRS est une fonction du CPU qui restreint la prédiction des branchements indirects
- CRetpoline comme IBRS arrêtent l'exécution spéculative du CPU elle-même ; avec l'une ou l'autre, le gain de performances dû à l'exécution spéculative est perdu
Afficher la réponse et l'explication
Réponse : B. Retpoline est une contre-mesure logicielle qui remplace les branchements indirects par des suites d'instructions ne dépendant pas du prédicteur, et IBRS est une fonction du CPU qui restreint la prédiction des branchements indirects
Avec retpoline, le compilateur remplace les instructions de branchement indirect par une suite combinant call et ret, de sorte que le CPU utilise la prédiction de l'adresse de retour au lieu du prédicteur de branchements indirects exploitable, et que les instructions exécutées spéculativement tournent sans danger dans une boucle. IBRS est une fonction de contrôle du CPU, ajoutée notamment par des mises à jour du microcode, qui restreint par exemple la prédiction des branchements indirects dans le noyau pour qu'elle ne suive pas ce que les programmes utilisateur ont entraîné. Sur les CPU anciens, basculer IBRS prenait beaucoup de temps, d'où la large utilisation de retpoline, tandis que les CPU récents offrent une version améliorée qui peut rester activée en permanence (eIBRS). Cependant, certains CPU s'appuient aussi sur un autre prédicteur pour prédire l'adresse de retour, et Retbleed, publié en 2022, ainsi que d'autres travaux ont montré des cas où retpoline seul ne suffit pas.
Continuer : 9 autres questions sur Sécurité matérielle : évolutions récentes