Sécurité matérielle : évolutions récentes
Apprenez la sécurité matérielle avancée avec des QCM, dont des questions de calcul : TEE de type VM (AMD SEV-SNP, Intel TDX et Arm CCA) et informatique confidentielle, protection de l'intégrité de la mémoire et son coût, vérification des rapports d'attestation, informatique confidentielle sur GPU, protection de la mémoire et du flot de contrôle par CHERI, MTE, l'authentification de pointeurs et les piles fantômes, Rowhammer avec TRR, PRAC et les limites de l'ECC, MDS avec retpoline et IBRS, coût en performances des contre-mesures, cryptographie post-quantique matérielle (transformée en théorie des nombres, tailles de clé et pièges d'implémentation), racines de confiance ouvertes et DICE, mise à jour sécurisée du firmware, HBOM, sécurité des chiplets, fabrication fractionnée, camouflage de circuits intégrés et verrouillage logique, rétro-ingénierie, FIPS 140-3, Critères communs, PSA Certified et SESIP, débogage authentifié et états du cycle de vie, chaînes de scan, et injection de fautes par glitchs de tension, laser et impulsions électromagnétiques.
Sécurité matérielle : évolutions récentes : points clés
Avec l'essor du cloud, de l'IA et des objets connectés (IoT), ce que protège la sécurité matérielle comme les méthodes d'attaque ont profondément changé. L'informatique confidentielle, qui protège les données même vis-à-vis des administrateurs d'un fournisseur de cloud, les mécanismes matériels qui arrêtent les erreurs de pointeurs, le matériel cryptographique pour l'ère des ordinateurs quantiques et la protection d'une chaîne d'approvisionnement des semi-conducteurs impliquant de nombreuses entreprises sont aujourd'hui des thèmes majeurs. Ce thème s'appuie sur les bases du thème « Sécurité matérielle » et aborde des contenus plus récents et plus approfondis.
Il commence par l'informatique confidentielle : différence entre TEE de type VM et de type enclave et base de confiance (TCB, trusted computing base), raisons pour lesquelles la protection de l'intégrité est nécessaire en plus du chiffrement et calcul de son coût en stockage, ce que contrôle un vérificateur dans un rapport d'attestation, royaumes (realms) d'Arm CCA et informatique confidentielle incluant les GPU. Il aborde ensuite les capacités de CHERI, le calcul de la probabilité que les étiquettes MTE concordent par hasard, l'authentification de pointeurs, et l'intégrité du flot de contrôle par les piles fantômes et la protection des branchements indirects. Pour les attaques contre la DRAM, il traite des raisons pour lesquelles le Rowhammer devient plus probable avec la miniaturisation, des travaux qui ont contourné le TRR, des limites de l'ECC, du PRAC de la DDR5 et d'un calcul reliant fréquence de rafraîchissement et nombre d'activations ; pour les attaques par exécution transitoire, de MDS, de retpoline et IBRS, et d'un calcul du ralentissement dû aux contre-mesures. La seconde moitié porte sur l'accélération de la multiplication de polynômes par la transformée en théorie des nombres, la taille des clés de ML-KEM, les précautions d'implémentation de la désencapsulation, le matériel conçu pour que la cryptographie puisse être remplacée, OpenTitan et Caliptra, DICE, les mises à jour A/B avec protection anti-rollback, les HBOM, la confiance entre chiplets, la fabrication fractionnée, le camouflage de circuits intégrés et le verrouillage logique, et la protection des clés face à la rétro-ingénierie. Il se termine par les niveaux de FIPS 140-3, les EAL des Critères communs, la composition dans PSA Certified et SESIP, le débogage authentifié, les états du cycle de vie et le RMA, la protection des chaînes de scan, et l'injection de fautes par glitchs de tension, laser et impulsions électromagnétiques, avec des calculs de probabilité de succès et de l'effet des contre-mesures. L'objectif est de comprendre les principes et les contre-mesures du point de vue des concepteurs et des défenseurs, et non les procédures d'attaque. Les valeurs des questions de calcul, y compris celles des choix erronés, ont été vérifiées par un calcul en Python. Les noms de produits, les versions des normes et les années correspondent au moment indiqué dans chaque question. Les attaques par canal auxiliaire, Spectre, Meltdown et KPTI, l'analyse de consommation, les bases de l'injection de fautes et du Rowhammer, le démarrage sécurisé, le TPM, les TEE, TrustZone et les enclaves, les PUF, les générateurs de nombres vraiment aléatoires, les chevaux de Troie matériels et la désactivation du JTAG sont traités dans le thème « Sécurité matérielle » ; les normes ML-KEM et ML-DSA et les HSM dans « Bases et applications de la cryptographie » ; le rafraîchissement de la DRAM et le nom du phénomène Rowhammer dans « DRAM » ; les chiplets et l'UCIe dans « Packaging avancé (3D et chiplets) » ; la conception pour le scan dans « Test et inspection » ; les mises à jour A/B du firmware dans « Systèmes embarqués et firmware » ; et l'ISO/SAE 21434 dans « Semi-conducteurs automobiles et sécurité fonctionnelle ».
Toutes les questions sur Sécurité matérielle : évolutions récentes (40)
- Parmi les TEE utilisés en informatique confidentielle, quelle affirmation décrit correctement la différence entre les TEE de type VM, qui protègent une machine virtuelle entière (comme AMD SEV-SNP et Intel TDX), et ceux de type enclave, qui protègent une partie d'une application (comme Intel SGX) ?
- Pourquoi, dans les TEE de type VM, le seul chiffrement de la mémoire de la machine virtuelle a-t-il été jugé insuffisant, au point d'ajouter des mécanismes protégeant l'intégrité de la mémoire, comme dans AMD SEV-SNP ?
- On considère un circuit qui ajoute au chiffrement de la mémoire la détection des falsifications et la protection contre le rejeu. Pour chaque ligne de cache de 64 octets, on stocke en mémoire principale un MAC de 8 octets (un code servant à détecter les falsifications) et un compteur de 8 octets qui augmente à chaque écriture. Sans tenir compte de l'arbre qui protège les compteurs, quelle est la capacité de stockage supplémentaire nécessaire rapportée à la quantité de données protégées ?
- En informatique confidentielle, le serveur de vérification de l'utilisateur (le vérificateur) contrôle le rapport d'attestation reçu d'un TEE de type VM avant de remettre la clé qui déchiffre les données. Quel est l'ensemble de points à vérifier le plus approprié ?
- Au milieu des années 2020, certains GPU pour centres de données disposent de fonctions permettant de les utiliser en informatique confidentielle avec le TEE d'un CPU. Quelle affirmation décrit correctement le principe de ce mécanisme ?
- Quelle affirmation décrit correctement le royaume (realm) introduit par Arm CCA (Confidential Compute Architecture) ?
- Quelle affirmation décrit correctement les capacités (capabilities) utilisées dans l'extension du jeu d'instructions appelée CHERI ?
- Avec MTE (Memory Tagging Extension) d'Arm, une étiquette de 4 bits est attachée à chaque bloc de 16 octets de mémoire, une étiquette de 4 bits est aussi placée dans les bits de poids fort du pointeur, et le CPU vérifie à chaque accès si les deux concordent. On considère l'erreur qui consiste à accéder à une zone libérée par un ancien pointeur vers elle. Si la nouvelle étiquette attribuée lors de la réallocation de la zone est choisie uniformément au hasard parmi les 16 possibilités, quelle est la probabilité que les étiquettes concordent par hasard et que l'erreur passe inaperçue ?
- Quelle affirmation décrit correctement le mécanisme d'authentification de pointeurs (PAC) d'Arm ?
- Quelle affirmation décrit correctement la pile fantôme (shadow stack) matérielle adoptée notamment par Intel CET (Control-flow Enforcement Technology) ?
- À propos des fonctions matérielles qui soutiennent l'intégrité du flot de contrôle, quelle association est correcte entre ce qui protège les retours de fonction et ce qui protège les appels et sauts indirects, comme ceux qui passent par des pointeurs de fonction ?
- Pourquoi dit-on que le Rowhammer devient plus probable à mesure que la DRAM est miniaturisée ?
- Pourquoi la protection contre le Rowhammer par le TRR (target row refresh) intégré aux DRAM a-t-elle pu être contournée dans des travaux de recherche ?
- Quel est le problème de l'idée selon laquelle « avec une mémoire ECC, il n'y a pas à s'inquiéter du Rowhammer » ?
- Quelle affirmation décrit correctement le principe du PRAC (per-row activation counting), ajouté à la norme DDR5 mise à jour en 2024 (JESD79-5C) ?
- Pour simplifier, on prend tRC = 50 ns comme intervalle minimal entre deux activations de rangées dans un même banc. Avec une période de rafraîchissement de 64 ms, le nombre maximal de fois qu'une rangée voisine peut être activée entre deux rafraîchissements successifs d'une rangée donnée est de 64 ms ÷ 50 ns. Quel est ce nombre maximal si la fréquence de rafraîchissement est doublée ?
- Quelle affirmation décrit correctement les caractéristiques de la vulnérabilité appelée MDS (Microarchitectural Data Sampling), publiée en 2019 ?
- 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 ?
- 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 ?
- 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 ?
- 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 ?
- 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 ?
- On conçoit le SoC d'un appareil embarqué qui sera utilisé plus de 10 ans. Quelle conception du matériel et du firmware est appropriée pour se préparer à une future migration cryptographique (comme le passage à la cryptographie post-quantique) ?
- Quel est l'avantage le plus approprié d'initiatives comme OpenTitan et Caliptra, qui publient la conception des circuits de racine de confiance ?
- Quelle affirmation décrit correctement le mécanisme de DICE (Device Identifier Composition Engine) défini par le TCG ?
- Sur un appareil qui met à jour son firmware à l'aide de deux zones, la face A et la face B, à quel moment est-il le plus approprié de faire passer au nouveau numéro de version le numéro de version minimal enregistré en eFuse pour la protection anti-rollback ?
- Quelle affirmation décrit correctement une nomenclature matérielle (HBOM) ?
- Quelle approche de la sécurité est appropriée lorsqu'on combine dans un même boîtier des chiplets de plusieurs entreprises ?
- Quelle association entre des techniques de protection de la conception des semi-conducteurs et la partie non fiable que chacune vise principalement est correcte ?
- Face à une rétro-ingénierie qui lit le circuit en retirant une à une les couches d'une puce et en les photographiant au microscope électronique, ou en imageant son intérieur aux rayons X, quelle approche de conception est appropriée ?
- À propos des niveaux de sécurité 1 à 4 de FIPS 140-3, la norme de certification des modules cryptographiques, quelle affirmation décrit correctement les exigences de sécurité physique ?
- Que représente l'EAL (evaluation assurance level) des Critères communs (Common Criteria, ISO/IEC 15408), la norme internationale d'évaluation des produits de sécurité ?
- Quelle affirmation décrit correctement l'idée de composition mise en avant dans PSA Certified et SESIP, des cadres de certification de sécurité pour les appareils IoT ?
- Quelle est la conception la plus appropriée d'un débogage authentifié qui permet aux seuls techniciens du fabricant d'ouvrir le port de débogage des produits expédiés ?
- L'état du cycle de vie d'une puce de sécurité est géré par étapes, comme le test, la production et l'analyse des pièces défectueuses retournées (RMA). Quelle est la façon appropriée de gérer le passage de l'état de production à l'état RMA en vue d'une analyse de défaillance ?
- Quelle association est correcte entre la raison pour laquelle les chaînes de scan du test par scan peuvent devenir un chemin d'attaque dans une puce qui effectue des traitements cryptographiques et une contre-mesure correspondante ?
- Quelle est la principale raison pour laquelle une puce dysfonctionne sous l'effet d'un glitch de tension qui abaisse un instant la tension d'alimentation ?
- Pour une attaque par injection de fautes, quelle association des caractéristiques des méthodes par laser et des méthodes par impulsions électromagnétiques est correcte ?
- Une tentative d'injection de fautes réussit avec une probabilité de 0,1 % à chaque fois, et les résultats des tentatives sont indépendants. Quelle valeur est la plus proche de la probabilité d'au moins un succès en 1000 tentatives ?
- Supposons qu'une vérification de signature du firmware soit sautée par une seule tentative d'injection de fautes avec une probabilité de 1/1000. La même vérification est désormais effectuée à deux endroits, de sorte que l'attaque ne réussit que si les deux sont sautées. Si une tentative peut viser les deux endroits à la fois et que chacun est sauté indépendamment avec une probabilité de 1/1000, quelle est l'espérance du nombre de tentatives jusqu'au succès de l'attaque ?
Autres thèmes de Réseaux et sécurité
- Bases des réseaux informatiques TCP/IP, sous-réseaux, DNS, TLS
- Bases des technologies web HTTP, cookies, REST, CORS, cache
- Bases des communications sans fil Modulation, OFDM, MIMO et circuits RF
- Bases de la sécurité de l'information Cryptographie, authentification, attaques web
- Bases et applications de la cryptographie AES, modes d'opération, RSA, TLS 1.3, cryptographie post-quantique
- Cyberattaques et défense en pratique Kill chain, zero trust, EDR/SIEM, réponse aux incidents, SBOM
- Sécurité matérielle Canaux auxiliaires, secure boot, TEE, PUF