Sécurité matérielle : évolutions récentes
Quelle affirmation décrit correctement les capacités (capabilities) utilisées dans l'extension du jeu d'instructions appelée CHERI ?
- ALes valeurs des pointeurs sont chiffrées avec une clé interne au CPU avant d'être placées en mémoire et déchiffrées à chaque utilisation, de sorte que les autres programmes et l'OS ne peuvent pas les lire
- BLe CPU vérifie la signature numérique jointe au fichier exécutable du programme à chaque instruction exécutée et refuse d'exécuter les instructions non signées
- CUn pointeur porte la plage à laquelle il peut accéder et ses droits, et une étiquette de 1 bit que le logiciel ne peut pas écrire distingue en mémoire s'il a été créé de façon légitime
Afficher la réponse et l'explication
Réponse : C. Un pointeur porte la plage à laquelle il peut accéder et ses droits, et une étiquette de 1 bit que le logiciel ne peut pas écrire distingue en mémoire s'il a été créé de façon légitime
CHERI remplace les pointeurs réduits à une adresse par des capacités qui regroupent l'adresse, les bornes inférieure et supérieure de la plage vers laquelle elles peuvent pointer et des droits comme la lecture, l'écriture et l'exécution (pour des adresses de 64 bits, elles sont compressées sur 128 bits, avec une étiquette de 1 bit à part). Le CPU vérifie la plage et les droits à chaque accès, si bien que les erreurs de sûreté mémoire, comme une lecture ou une écriture hors d'un tableau, peuvent être arrêtées par le matériel. L'étiquette n'est posée que lorsqu'une capacité est créée par les instructions prévues, et elle est effacée si la capacité est réécrite comme une donnée ordinaire ; les pointeurs ne peuvent donc pas être forgés. L'université de Cambridge et d'autres mènent ces recherches, et Arm a mis à la disposition des chercheurs, au début des années 2020, Morello, un processeur prototype et une carte d'évaluation qui s'en inspirent.
Continuer : 9 autres questions sur Sécurité matérielle : évolutions récentes