Sécurité matérielle

Pourquoi désactive-t-on parfois le multithreading simultané (SMT) du CPU dans les systèmes effectuant des traitements confidentiels ?

  1. AParce que deux threads s'exécutant sur le même cœur partagent le cache L1, les unités de calcul, etc., ce qui permet à l'un d'observer finement les traces du traitement de l'autre
  2. BParce que la désactivation du SMT améliore toujours les performances du CPU
  3. CParce que le SMT ne permet pas les calculs cryptographiques
Afficher la réponse et l'explication

Réponse : A. Parce que deux threads s'exécutant sur le même cœur partagent le cache L1, les unités de calcul, etc., ce qui permet à l'un d'observer finement les traces du traitement de l'autre

En SMT, deux threads s'exécutent simultanément dans un même cœur et partagent finement le cache L1, le prédicteur de branchement, les unités de calcul, les tampons, etc. Un thread peut donc facilement observer par mesure du temps les ressources utilisées par l'autre, ce qui a constitué la condition d'attaque de plusieurs vulnérabilités. Pour ne pas partager un cœur avec une partie non fiable, on désactive le SMT ou l'on ne place sur un même cœur que des threads du même utilisateur.

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

Autres questions sur Sécurité matérielle

  1. Quelle contre-mesure s'applique aux attaques par lesquelles un appareil externe connecté à un ordinateur lit ou écrit à volonté le contenu de la mémoire principale par DMA ?
  2. Quel est le principe de la « défense en profondeur », privilégiée en sécurité matérielle et logicielle ?
  3. Lors de la fabrication de nombreux appareils, pourquoi dote-t-on chaque appareil d'une clé différente plutôt que d'une même clé pour tous ?
  4. Lorsqu'une vulnérabilité matérielle de CPU est découverte, quelle est l'une des contre-mesures appliquées aux CPU déjà expédiés ?
  5. Quelle description correspond le mieux aux problèmes traités par la sécurité matérielle ?