Plongeon au cœur de l'architecture Exclave du noyau XNU d'Apple
Cet article explore en profondeur l'architecture d'enclave sécurisée au sein du noyau XNU d'Apple. Les exclaves gèrent les ressources via une structure de table de noyau à deux niveaux, comprenant des domaines (par exemple, com.apple.kernel), chacun contenant plusieurs ressources (services, tampons). Les Conclaves, un type de ressource spécial, permettent un accès partagé entre les services, contrôlés par un Conclave Manager. Un nouvel appel système _exclaves_ctl_trap() gère diverses opérations d'exclave, notamment le lancement de conclaves, la recherche de services et l'exécution de downcalls (exécution de code dans le monde sécurisé). Les upcalls permettent au code du monde sécurisé d'appeler des fonctions spécifiques du noyau XNU. L'article détaille le processus de démarrage de l'exclave en trois étapes et comment le système de typage de mémoire SPTM contrôle l'accès à la mémoire de l'exclave.