Imersão na Arquitetura Exclave do Kernel XNU da Apple

2025-03-09
Imersão na Arquitetura Exclave do Kernel XNU da Apple

Este artigo mergulha na arquitetura de enclave seguro dentro do kernel XNU da Apple. Os enclaves gerenciam recursos por meio de uma estrutura de tabela de kernel de dois níveis, abrangendo domínios (por exemplo, com.apple.kernel), cada um contendo vários recursos (serviços, buffers). Os Conclaves, um tipo de recurso especial, permitem acesso compartilhado entre serviços, controlados por um Conclave Manager. Uma nova chamada de sistema _exclaves_ctl_trap() gerencia várias operações de enclave, incluindo o lançamento de conclaves, a pesquisa de serviços e a execução de downcalls (execução de código do mundo seguro). Upcalls permitem que o código do mundo seguro invoque funções específicas do kernel XNU. O artigo detalha o processo de inicialização de enclave em três estágios e como o sistema de tipagem de memória SPTM controla o acesso à memória do enclave.

Desenvolvimento Enclave Arquitetura Segura