Controle da política de segurança do Disco de Inicialização para um Mac com Apple Silicon
Visão geral
Ao contrário das políticas de segurança em um Mac baseado em Intel, as políticas de segurança em um Mac com Apple Silicon destinam-se a cada sistema operacional instalado. Isso significa que há suporte para várias instâncias instaladas do macOS com versões e políticas de segurança diferentes no mesmo Mac. Por esse motivo, um seletor de sistema operacional foi adicionado ao Utilitário de Segurança da Inicialização.
Em um Mac com Apple Silicon, o Utilitário de Segurança do Sistema indica o estado de segurança geral do macOS configurado pelo usuário, como a inicialização de um kext ou a configuração da Proteção da Integridade do Sistema (SIP). Se a alteração de um ajuste de segurança degradar significativamente a segurança ou fizer com que seja mais fácil comprometer o sistema, usuários devem manter o botão de força pressionado (para que apenas um humano com acesso físico possa acionar o sinal, e não um malware) para entrar no recoveryOS e fazer a alteração. Por esse motivo, um Mac baseado em Apple Silicon também não exigirá (nem oferecerá suporte) a uma senha de firmware — todas as alterações críticas já são protegidas pela autorização do usuário. Para obter mais informações sobre a SIP, consulte Proteção da Integridade do Sistema.
As opções de Segurança Total e Segurança Reduzida podem ser definidas ao usar o Utilitário de Segurança da Inicialização a partir do recoveryOS. Mas a Segurança Permissiva pode ser acessada apenas a partir das ferramentas de linha de comando por usuários que aceitem o risco de deixar o Mac muito menos seguro.
Política de Segurança Total
A Segurança Total é o padrão e se comporta como o iOS e iPadOS. Quando um software é baixado e está pronto para ser instalado, em vez de usar a assinatura global fornecida com o software, o macOS contata o mesmo servidor de assinatura da Apple usado para o iOS e iPadOS, e solicita uma nova assinatura “personalizada”. Uma assinatura é personalizada quando ela inclui a Identificação Exclusiva de Chip (ECID) — um ID exclusivo específico à CPU da Apple neste caso — como parte do pedido de assinatura. Dessa forma, a assinatura retornada pelo servidor de assinatura é exclusiva e pode ser usada apenas por essa CPU da Apple específica. Quando a política Segurança Total está em vigor, a ROM de Inicialização e o LLB ajudam a garantir que uma determinada assinatura não esteja apenas assinada pela Apple, mas também assinada para esse Mac específico, essencialmente vinculando essa versão do macOS a esse Mac.
O uso de um servidor de assinatura on-line também oferece uma proteção melhor contra ataques com versões anteriores em comparação a abordagens típicas de assinatura global. Em um sistema de assinatura global, o período de segurança pode ter sido ultrapassado diversas vezes, mas um sistema que nunca viu o firmware mais recente não sabe disso. Por exemplo, um computador que acredite estar no período de segurança 1 aceita software do período de segurança 2, mesmo que o período atual de segurança seja 5. Com um sistema de assinatura on-line do Apple Silicon, o servidor de assinatura pode recusar a criação de assinaturas para softwares que não estejam no período de segurança mais recente.
Além disso, se um invasor descobrir uma vulnerabilidade após uma alteração do período de segurança, ele não pode simplesmente pegar o software vulnerável de um período anterior no sistema A e aplicá-lo ao sistema B para atacá-lo. O fato de que o software vulnerável de um período anterior foi personalizado para o sistema A ajuda a impedir que ele seja transferido e usado para atacar um sistema B. Todos esses mecanismos trabalham em conjunto para fornecer garantias muito maiores para que invasores não possam colocar intencionalmente softwares vulneráveis em um Mac para contornar as proteções oferecidas pelo software mais recente. Mas um usuário que possua um nome de usuário e senha de administrador do Mac sempre pode escolher a política de segurança que se encaixe melhor aos seus casos de uso.
Política de Segurança Reduzida
A Segurança Reduzida é similar ao comportamento da Segurança Média em um Mac baseado em Intel com um chip T2, no qual um fornecedor (neste caso, a Apple) gera uma assinatura digital para o código para aferir a procedência do devido fornecedor. Esse design ajuda a impedir que invasores insiram um código sem assinatura. A Apple chama essa assinatura de “global”, pois ela pode ser usada em qualquer Mac, por qualquer período, em um Mac que tenha um conjunto de políticas de Segurança Reduzida definido no momento. A segurança reduzida, em si, não oferece proteção contra ataques de reversão (embora alterações não autorizadas ao sistema operacional possam resultar na inacessibilidade aos dados de usuário). Para obter mais informações, consulte Extensões do kernel em um Mac com Apple Silicon.
Além de permitir que usuários executem versões mais antigas do macOS, a Segurança Reduzida é exigida por outras ações que possam colocar a segurança do sistema do usuário em risco, como a introdução de extensões de kernel de terceiros (kexts). Kexts têm os mesmos privilégios do kernel e, portanto, qualquer vulnerabilidade em kexts de terceiros pode levar ao comprometimento do sistema operacional inteiro. É por esse motivo que desenvolvedores são fortemente encorajados a adotar extensões do sistema, antes que a compatibilidade com kexts seja removida do macOS em futuros computadores Mac com Apple Silicon. Até mesmo quando kexts de terceiros estão ativados, eles não podem ser carregados no kernel sob demanda. Em vez disso, os kexts são combinados em uma Coleção do Kernel Auxiliar (AuxKC), cujo hash é armazenado na LocalPolicy, exigindo assim, uma reinicialização. Para obter mais informações sobre a geração da AuxKC, consulte Extensão segura do kernel no macOS.
Política de Segurança Permissiva
A Segurança Permissiva destina-se a usuários que aceitam o risco de colocar o Mac em um estado muito mais inseguro. Esse modo difere do modo Sem Segurança em um Mac baseado em Intel com um chip T2. Com a Segurança Permissiva, a verificação de assinatura ainda é realizada ao longo de toda a cadeia de inicialização de segurança, mas a definição da política como Permissiva indica ao iBoot que ele deve aceitar objetos de inicialização assinados localmente pelo Secure Enclave, como uma Coleção do Kernel de Inicialização gerada pelo usuário, construída a partir de um kernel XNU personalizado. Dessa maneira, a Segurança Permissiva também fornece uma capacidade de arquitetura para executar um kernel arbitrário do tipo “sistema operacional totalmente não confiável”. Quando uma Coleção do Kernel de Inicialização ou um sistema operacional totalmente não confiável é carregado no sistema, algumas chaves de descriptografia ficam indisponíveis. Isso é projetado para impedir que sistemas operacionais totalmente não confiáveis acessem dados de sistemas operacionais confiáveis.
Importante: a Apple não fornece ou oferece suporte a kernels XNU personalizados.
Há uma outra maneira na qual a Segurança Permissiva difere da opção Sem Segurança em um Mac baseado em Intel com um chip T2: ela é um pré-requisito para algumas reversões de segurança que, no passado, eram independentemente controláveis. Especificamente, para desativar a Proteção da Integridade do Sistema (SIP) em um Mac com Apple Silicon, um usuário deve reconhecer que ele está colocando o sistema na Segurança Permissiva. Isso é exigido porque a desativação da SIP sempre colocou o sistema em um estado que fazia com que fosse muito mais fácil comprometer o kernel. Em particular, a desativação da SIP em um Mac com Apple Silicon desativa a exigência da assinatura de kexts durante a geração da AuxKC, permitindo assim que qualquer kext arbitrária seja carregada na memória do kernel. Outra melhoria à SIP feita em um Mac com Apple Silicon foi a movimentação do armazenamento da política da NVRAM para a LocalPolicy. Agora, a desativação da SIP requer a autenticação de um usuário que tenha acesso à chave de assinatura da LocalPolicy a partir do recoveryOS (o que pode ser alcançado ao manter o botão de força pressionado). Isso faz com que seja significativamente mais difícil que um invasor via software, ou até mesmo fisicamente presente, desative a SIP.
Não é possível reverter à Segurança Permissiva a partir do app Utilitário de Segurança da Inicialização. Usuários podem reverter apenas ao executar ferramentas de linha de comando a partir do Terminal no recoveryOS, como csrutil
(para desativar a SIP). Depois que um usuário faz a reversão, sua ocorrência reflete-se no Utilitário de Segurança da Inicialização, o que faz com que um usuário possa definir facilmente a segurança em um modo mais seguro.
Nota: um Mac com Apple Silicon não exige ou oferece suporte a uma política de inicialização de mídia específica porque, tecnicamente, todas as inicializações são realizadas localmente. Se um usuário optar por inicializar a partir de uma mídia externa, a versão do sistema operacional deve ser personalizada primeiro com uma reinicialização autenticada a partir do recoveryOS. Isso cria um arquivo LocalPolicy na unidade interna que é usado para realizar uma inicialização confiável a partir do sistema operacional armazenado na mídia externa. Isso significa que a configuração da inicialização a partir de uma mídia externa é sempre explicitamente ativada de acordo com um sistema operacional específico, e já exige a autenticação do usuário, o que remove a necessidade de qualquer outra configuração adicional de segurança.