Sécurité matérielle

Quel est le principe de la vulnérabilité d'exécution spéculative appelée Spectre ?

  1. AUne erreur de calcul du CPU modifie le résultat des additions
  2. BLes instructions exécutées spéculativement selon la prédiction de branchement laissent, même si leurs résultats sont annulés, des traces de chargement dans le cache, lisibles par mesure du temps
  3. CL'exécution spéculative fait trop chauffer le CPU
Afficher la réponse et l'explication

Réponse : B. Les instructions exécutées spéculativement selon la prédiction de branchement laissent, même si leurs résultats sont annulés, des traces de chargement dans le cache, lisibles par mesure du temps

Le CPU exécute à l'avance les instructions du côté prédit avant de connaître le résultat d'un branchement, et abandonne les résultats en cas d'erreur de prédiction. Dans Spectre, l'attaquant fausse la prédiction de branchement pour lire des données secrètes sur un chemin normalement non exécuté, et fait charger dans le cache un emplacement dépendant de leur valeur. Les résultats sont annulés, mais l'état du cache n'est pas restauré ; la valeur peut donc être déduite par canal auxiliaire de cache.

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

Autres questions sur Sécurité matérielle

  1. 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 ?
  2. Quel est le principe de la vulnérabilité appelée Meltdown, qui a touché certains CPU ?
  3. Quel est le principe du KPTI (isolation des tables de pages du noyau), introduit comme contre-mesure logicielle à Meltdown ?
  4. 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 ?
  5. Quel énoncé est généralement correct au sujet des contre-mesures aux vulnérabilités d'exécution spéculative ?