O System Integrity Protection (SIP) é uma política de segurança geral com o objetivo de impedir que arquivos e processos do sistema sejam modificados por terceiros. Para conseguir isso, possui os seguintes conceitos:
- Proteção do sistema de arquivos
- Proteção de extensão do kernel
- Proteção de tempo de execução
Proteção do sistema de arquivos
O SIP impede que outras partes da Apple adicionem, excluam ou modifiquem diretórios e arquivos armazenados em determinados diretórios:
/bin
/sbin
/usr
/System
A Apple indicou que os seguintes diretórios estão disponíveis para os desenvolvedores acessarem:
/usr/local
/Applications
/Library
~/Library
Todos os diretórios, /usr
exceto os, /usr/local
são protegidos pelo SIP.
É possível adicionar, remover ou alterar arquivos e diretórios protegidos por SIP por meio de um pacote instalador assinado pela autoridade de certificação da Apple. Isso permite que a Apple faça alterações nas partes do sistema operacional protegidas por SIP sem precisar alterar as proteções SIP existentes.
A autoridade de certificação em questão é reservada pela Apple para uso próprio; Os pacotes do instalador assinado pelo ID do desenvolvedor não podem alterar arquivos ou diretórios protegidos por SIP.
Para definir quais diretórios estão protegidos, a Apple atualmente definiu dois arquivos de configuração no sistema de arquivos. O principal é encontrado no local abaixo:
/System/Library/Sandbox/rootless.conf
onde rootless.conf
lista todos os aplicativos e o nível superior de diretórios que o SIP está protegendo.
Formulários
O SIP está protegendo os aplicativos principais que o OS X instala nos Aplicativos e Utilitários de Aplicativos. Isso significa que não será mais possível excluir os aplicativos que o OS X instala, mesmo da linha de comando ao usar privilégios de root.
Diretórios
O SIP também está protegendo vários diretórios e links simbólicos fora /Applications
e o nível superior desses diretórios também está listado rootless.conf
.
Além das proteções, a Apple também definiu algumas exceções à proteção do SIP no arquivo rootless.conf, e essas exceções são marcadas com asteriscos. Essas isenções da proteção do SIP significam que é possível adicionar, remover ou alterar arquivos e diretórios nesses locais.
Entre essas exceções estão as seguintes:
/System/Library/User Template
- onde o OS X armazena os diretórios de modelo que ele usa ao criar pastas pessoais para novas contas.
/usr/libexec/cups
- onde o OS X armazena informações de configuração da impressora
A Apple considera esse arquivo como seu e que quaisquer alterações de terceiros serão substituídas pela Apple.
Para ver quais arquivos foram protegidos pelo SIP, use o ls
comando com dash capital O no Terminal:
ls -O
Os arquivos protegidos por SIP serão rotulados como restritos .
Um pensamento importante a saber é que, mesmo que um link simbólico esteja protegido pelo SIP, isso não significa necessariamente que o diretório ao qual está vinculando esteja sendo protegido pelo SIP. No nível raiz de uma unidade de inicialização do OS X El Capitan, existem vários links simbólicos protegidos por SIP apontando para diretórios armazenados dentro do diretório no nível raiz nomeado private
.
No entanto, quando o conteúdo do private
diretório é examinado, os diretórios para os quais esses links simbólicos apontam não são protegidos pelo SIP e eles e seu conteúdo podem ser movidos, editados ou alterados por processos usando privilégios de root.
Além da lista de exceções SIP que a Apple definiu rootless.conf
, há uma segunda lista de exceções SIP. Esta lista inclui vários diretórios e nomes de aplicativos para produtos de terceiros. Semelhante rootless.conf
, esta lista de exclusão é da Apple e as alterações de terceiros serão sobrescritas pela Apple.
/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths
Proteção de tempo de execução
As proteções do SIP não se limitam a proteger o sistema contra alterações no sistema de arquivos. Há também chamadas de sistema que agora estão restritas em sua funcionalidade.
- task_for_pid () / processing_set_tasks () falham com EPERM
- As portas especiais do Mach são redefinidas no exec (2)
- variáveis de ambiente dyld são ignoradas
- Sondas DTrace indisponíveis
No entanto, o SIP não bloqueia a inspeção pelo desenvolvedor de seus próprios aplicativos enquanto eles estão sendo desenvolvidos. As ferramentas do Xcode continuarão permitindo que os aplicativos sejam inspecionados e depurados durante o processo de desenvolvimento.
Para obter mais detalhes sobre isso, recomendo dar uma olhada na documentação do desenvolvedor da Apple para SIP .
Proteção de extensão do kernel
O SIP bloqueia a instalação de extensões de kernel não assinadas. Para instalar uma extensão do kernel no OS X El Capitan com o SIP ativado, uma extensão do kernel deve:
- Ser assinado com um ID de desenvolvedor para o certificado Signing Kexts
- Instalar em / Biblioteca / Extensões
Se estiver instalando uma extensão de kernel não assinada, o SIP precisará ser desativado primeiro.
Para obter mais informações sobre o gerenciamento do SIP, consulte o link abaixo:
System Integrity Protection - Adicionando outra camada ao modelo de segurança da Apple
sudo
e solicitação de senha funcionaram normalmente / anteriormente / esperado. Portanto, provavelmente a resposta é "na maioria das vezes você não notará; quando perceber, notará bastante".