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 ?
- A1/16 (environ 6,3 %)
- B1/4 (25 %)
- 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.
Continuer : 9 autres questions sur Sécurité matérielle : évolutions récentes