Inmersión en la arquitectura Exclave del kernel XNU de Apple
Este artículo profundiza en la arquitectura de enclave seguro dentro del kernel XNU de Apple. Los enclaves gestionan los recursos a través de una estructura de tabla de kernel de dos niveles, que abarca dominios (por ejemplo, com.apple.kernel), cada uno de los cuales contiene múltiples recursos (servicios, búferes). Los Conclaves, un tipo especial de recurso, permiten el acceso compartido entre servicios, controlados por un Conclave Manager. Una nueva llamada al sistema _exclaves_ctl_trap() gestiona varias operaciones de enclave, incluyendo el lanzamiento de conclaves, la búsqueda de servicios y la ejecución de downcalls (ejecución de código del mundo seguro). Las upcalls permiten que el código del mundo seguro invoque funciones específicas del kernel XNU. El artículo detalla el proceso de arranque de enclave en tres etapas y cómo el sistema de tipado de memoria SPTM controla el acceso a la memoria del enclave.