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 ?

  1. AParce que l'annulation échoue et que la valeur secrète reste dans les registres
  2. BParce que les résultats de l'exécution spéculative sont enregistrés sur disque
  3. 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é.

S'entraîner sur ce thème Retour au thème

Autres questions sur Sécurité matérielle

  1. Quel est le principe de la vulnérabilité appelée Meltdown, qui a touché certains CPU ?
  2. Quel est le principe du KPTI (isolation des tables de pages du noyau), introduit comme contre-mesure logicielle à Meltdown ?
  3. Lequel des éléments suivants n'est pas une contre-mesure utilisée contre les vulnérabilités d'exécution spéculative comme Spectre ?
  4. Quel énoncé est généralement correct au sujet des contre-mesures aux vulnérabilités d'exécution spéculative ?
  5. Parmi les analyses de consommation exploitant les courbes de consommation d'une puce effectuant des traitements cryptographiques, quelle est la caractéristique de l'analyse différentielle de consommation (DPA) ?