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

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 ?

  1. A1/16 (environ 6,3 %)
  2. B1/4 (25 %)
  3. C15/16 (environ 93,8 %)
Afficher la réponse et l'explication

Réponse : A. 1/16 (environ 6,3 %)

Une étiquette a 4 bits et peut donc prendre 2⁴ = 16 valeurs. Si la nouvelle étiquette est choisie uniformément parmi les 16 valeurs, la probabilité qu'elle coïncide par hasard avec l'étiquette de l'ancien pointeur est de 1/16 = 6,25 % (environ 6,3 %), et dans les 15/16 des cas restants, la discordance est détectée. Même un seul accès est détecté avec une probabilité d'environ 94 % ; on peut donc trouver les erreurs pendant le fonctionnement sur de nombreux appareils et rendre les attaques plus difficiles. Si l'allocation attribue toujours des étiquettes différentes à des zones voisines, les débordements vers la zone voisine sont toujours détectés.

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

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

  1. Quelle affirmation décrit correctement le mécanisme d'authentification de pointeurs (PAC) d'Arm ?
  2. Quelle affirmation décrit correctement la pile fantôme (shadow stack) matérielle adoptée notamment par Intel CET (Control-flow Enforcement Technology) ?
  3. À 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 ?
  4. Pourquoi dit-on que le Rowhammer devient plus probable à mesure que la DRAM est miniaturisée ?
  5. 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 ?