Sécurité matérielle
Pourquoi des informations fuient-elles lors d'attaques comme Spectre, alors que les résultats des instructions exécutées spéculativement sont annulés ?
- AParce que l'annulation échoue et que la valeur secrète reste dans les registres
- BParce que les résultats de l'exécution spéculative sont enregistrés sur disque
- CParce que seul l'état architectural, comme les registres, est annulé, et que l'état microarchitectural, comme le cache, n'est pas restauré
Afficher la réponse et l'explication
Réponse : C. Parce que seul l'état architectural, comme les registres, est annulé, et que l'état microarchitectural, comme le cache, n'est pas restauré
Le CPU est conçu pour restaurer intégralement, en cas d'erreur de prédiction, l'état visible du programme (contenu des registres et de la mémoire). En revanche, l'état microarchitectural, comme le contenu du cache ou l'état du prédicteur de branchement, est un état interne destiné aux performances et n'est pas restauré. Le fait que, tout en respectant le contrat de l'ISA, l'état interne soit visible de l'extérieur sous forme de différences de temps est l'essence de ce type de vulnérabilité.