Sécurité matérielle : évolutions récentes

Quelle affirmation décrit correctement les caractéristiques de la vulnérabilité appelée MDS (Microarchitectural Data Sampling), publiée en 2019 ?

  1. ALe prédicteur de branchement est délibérément mal entraîné pour que le programme victime lise de manière spéculative des éléments situés hors des limites d'un tableau, dont on extrait des secrets
  2. BLa même rangée d'une DRAM est activée de nombreuses fois en peu de temps, ce qui fait perdre leur charge aux cellules des rangées voisines et inverse des bits dans les données d'autres processus ou du noyau
  3. CDes données d'autres traitements placées temporairement dans des tampons internes au CPU, comme les line fill buffers, sont transmises à des instructions exécutées de façon seulement transitoire
Afficher la réponse et l'explication

Réponse : C. Des données d'autres traitements placées temporairement dans des tampons internes au CPU, comme les line fill buffers, sont transmises à des instructions exécutées de façon seulement transitoire

MDS est une famille d'attaques par exécution transitoire publiées sous des noms comme RIDL, Fallout et ZombieLoad. Sur les CPU concernés, lorsqu'un chargement était annulé par une exception ou autre, des données d'un autre processus ou du noyau restées non pas dans le cache mais dans des tampons internes pouvaient être transmises aux instructions suivantes exécutées de façon transitoire, puis extraites par un canal auxiliaire de cache. L'attaquant ne peut pas choisir l'adresse lue, mais il peut recueillir des secrets en observant de façon répétée. Comme contre-mesure, des mises à jour du microcode ont ajouté une fonction qui vide les tampons internes lors du changement de niveau de privilège, mais un autre thread qui utilise simultanément le même cœur grâce au SMT peut observer sans aucun changement de niveau ; il est donc aussi devenu nécessaire de ne pas partager les cœurs avec des parties non fiables.

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

Autres questions sur Sécurité matérielle : évolutions récentes

  1. 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 ?
  2. Un traitement prenait 10 secondes avant l'application des contre-mesures à l'exécution spéculative et effectuait pendant ce temps 5 millions d'appels système. On suppose que les contre-mesures font passer le temps de traitement de chaque appel système de 0,4 µs à 0,6 µs, sans changer le temps du reste. De quelle proportion le temps total du traitement augmente-t-il ?
  3. La cryptographie post-quantique fondée sur les réseaux euclidiens multiplie à de nombreuses reprises des polynômes de degré n = 256. Si la méthode naïve qui multiplie tous les couples de coefficients nécessite environ n² multiplications et la méthode utilisant la transformée en théorie des nombres (NTT) environ n log₂ n, quelle valeur est la plus proche du facteur par lequel la NTT réduit le nombre de multiplications ?
  4. La clé publique de ML-KEM-768 fait 1184 octets et son texte chiffré 1088 octets, tandis que la valeur publique de X25519, un échange de clés sur courbe elliptique, fait 32 octets. Combien de fois la clé publique de ML-KEM-768 est-elle plus grande que la valeur publique de X25519 ?
  5. Lors de la désencapsulation de ML-KEM, on reconstruit un texte chiffré à partir du résultat du déchiffrement du texte chiffré reçu avec la clé privée, puis on le compare au texte chiffré reçu. Quelle précaution d'implémentation est correcte pour cette partie ?